# Settings and workflow > Approval process, alerts and notifications, email (SMTP) and e-Document (EDM integrator) settings — what they do and how they relate to each other. URL: https://erpdocs.corexlogic.com/en/ayarlar This section describes the setup screens that determine **whose approval** a document goes through, **who is notified** of events, **which server** email is sent from, and **how** invoices are transmitted to the Turkish Revenue Administration (GİB). All of them are in the **Yönetim** (Administration) menu and are configured once per installation; in day-to-day work users see only their results (the approval button, the bell, email, the e-Invoice status). ## Screens | Topic | Screen (menu path) | Purpose | Guide | |---|---|---|---| | Approval | Yönetim › Onay Süreci › **Onay Şablonları** (Administration › Approval Process › Approval Templates) | Which document is approved, under which condition, through which stages. | [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar) | | Approval | Yönetim › Onay Süreci › **Onayımı Bekleyenler** (Administration › Approval Process › Awaiting My Approval) | Documents whose turn has come and that are waiting for your decision. | [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar#onayimi-bekleyenler) | | Approval | Yönetim › Onay Süreci › **Onay Vekaletleri** (Administration › Approval Process › Approval Delegations) | A delegate votes on behalf of an approver who is absent. | [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar#onay-vekaletleri) | | Notification | Yönetim › Özelleştirme › Genel › **Uyarı ve Bildirim Yönetimi** (Administration › Customization › General › Alert and Notification Management) | Scheduled alerts (due date, delay, minimum stock) and notification rules for document events. | [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) | | Notification | Top bar › **Bildirimler** (Notifications, the bell) · Profile › **Bildirim Tercihleri** (Notification Preferences) | A person's notifications and channel preference. | [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler#bildirim-zili) | | Email | Yönetim › Özelleştirme › Genel › **E-posta Ayarları** (Administration › Customization › General › Email Settings) | The installation's SMTP server: notification, invitation, password reset and document emails. | [Email (SMTP)](https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp) | | Email | Yönetim › İzleme › **Gönderim Kuyruğu** (Administration › Monitoring › Send Queue) | Emails sent in the background, errors and retries. | [Email (SMTP)](https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp#gonderim-kuyrugu) | | e-Document | Yönetim › Özelleştirme › Finans › **e-Belge Ayarları** (Administration › Customization › Finance › e-Document Settings) | e-Invoice, e-Archive and e-Delivery Note integrator (EDM) connection, series, scheduling, go-live. | [e-Document](https://erpdocs.corexlogic.com/en/ayarlar/e-belge) | | Data | Yönetim › Araçlar › **Veri Aktarımı** (Administration › Tools › Data Import) | Bulk master data import with Excel workbooks. | [Data Import](https://erpdocs.corexlogic.com/en/veri-aktarimi) | User, role, permission and module management is described in the **Yönetim** (Administration) section. ## How they connect ``` Document (quotation, order, requisition, journal entry) │ Send ──► Does an approval template match? │ ├─ no ──► the document proceeds directly │ └─ yes ─► "Onay Bekliyor" (Pending Approval) ──► notification to approver ("Onayınız bekleniyor") │ │ │ │ │ └─► bell (always) + email (if SMTP and preference are on) │ ├─ final approval ─► document proceeds + "approved" notification to sender │ └─ rejection ──────► document returns to draft + notification with reason to sender │ ├─ Document event (e.g. goods issue) ──► notification rule ──► recipients (bell, email) └─ Hourly alert run (due date, delay, pending approval) ──► the alert's recipients (bell, email) Email: E-posta Ayarları (SMTP) ──► Gönderim Kuyruğu ──► recipient (no SMTP: bell only) Invoice: Finalize ──► e-Belge Ayarları (EDM) ──► GİB / recipient ``` ## Recommended setup order 1. **E-posta Ayarları** (Email Settings) — SMTP first, for notification and invitation emails. Without SMTP everything works, only no email is sent: notifications appear in the application (in the bell). 2. **Onay Şablonları** (Approval Templates) — conditions and stages for the document types that require approval. Without a template, documents proceed without approval. 3. **Uyarı ve Bildirim Yönetimi** (Alert and Notification Management) — alerts start disabled; enable the ones that are useful to you and define event notifications with rules. 4. **e-Belge Ayarları** (e-Document Settings) — credentials, series and connection test in the Test environment; go live once the checklist is complete. ## Guides - [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar) — Approval template, stage, escalation, decision, delegation. - [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) — Alerts, notification rules, bell, preferences. - [Email (SMTP)](https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp) — Server settings, test, send queue. - [e-Document](https://erpdocs.corexlogic.com/en/ayarlar/e-belge) — EDM integrator settings, go-live, document lifecycle. - [Approval flow (process)](https://erpdocs.corexlogic.com/en/surecler/onay-akisi) — A discounted quotation going through approval, step by step. ## Tasks - [Create an approval template](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-sablonu-olusturma) — Document type, condition, stages. - [Make an approval decision](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-karari-verme) — Approve, or reject with a reason. - [Define an approval delegation](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-vekaleti-tanimlama) — A delegate for leave and absence. - [Enable an alert](https://erpdocs.corexlogic.com/en/ayarlar/islemler/uyari-acma) — Enable an alert and set its threshold. - [Create a notification rule](https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-kurali-olusturma) — Recipients and channel of a document event. - [Choose a notification preference](https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-tercihi-secme) — Personal channel: application, email, digest. - [Define the email server](https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-posta-sunucusu-tanimlama) — SMTP, password, test email. - [Enable e-Document](https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-belgeyi-etkinlestirme) — Test credentials, test, enable. --- # Approvals > Approval templates (document type, condition, stage, decision rule, escalation), approval round, Awaiting My Approval, approval and rejection, delegation, document statuses and notifications. URL: https://erpdocs.corexlogic.com/en/ayarlar/onaylar - **Type:** Guide - **Module:** Administration - **Menu path:** Yönetim › Onay Süreci › Onay Şablonları · Onayımı Bekleyenler · Onay Vekaletleri (Administration › Approval Process › Approval Templates · Awaiting My Approval · Approval Delegations) - **Screen route:** `/erp/approvals/templates` - **Required permission:** `erp-approval-templates.view (şablonları görme) · .create · .edit · .delete`, `Karar: belge türünün onay izni — erp-sales-quotations.approve, erp-procurement-orders.approve, erp-procurement-requisitions.approve, erp-accounting-journal-entries.approve; mühendislik değişikliği talebinde erp-manufacturing-engineering-changes.edit` The approval process ensures that a document is signed off by authorized people before it moves to the next step: for example, a purchase order above 50,000 TRY goes to the purchasing manager, and a quotation with a high discount goes to the sales manager. Approval is **not a mandatory step but a configured one**: if there is no active template for a document type, documents of that type proceed without approval. End-to-end example: [Approval flow process](https://erpdocs.corexlogic.com/en/surecler/onay-akisi). ## Concepts | Concept | Meaning | |---|---| | **Approval template** | Which document type goes through which stages under which condition (amount range, discount threshold). | | **Stage** | A step of the template: who approves (a role or specific people), how many approvals are required, how many rejections reject the document, and to whom it escalates if left unanswered. Stages are asked **in sequence**. | | **Approval round** | One submission of the document for approval. On submission, the stages of the matching templates are **copied** into the round; even if the template changes later, a running round does not change. A document that is rejected and resubmitted opens a **new round**; the trail of the old round remains as it is. | | **Approver** | A user who holds the stage's role or is named in the stage, and who has the approval permission for the document type. | | **Delegate** | A user who votes **on behalf of** an approver within a date range. | | **Segregation of duties** | **The person who submits the document for approval cannot approve it** (even if their role and permission match). For a sales quotation, the quotation's **sales representative** cannot approve it either. Rejecting is always allowed. | ## Documents that can require approval | Document type | Condition terms | Permission that enables approval | Status after submission | On final approval | On rejection | |---|---|---|---|---|---| | **Satış Teklifi** (Sales Quotation) | Amount and discount | `erp-sales-quotations.approve` | Onay Bekliyor (Pending Approval; locked, not sent to the customer) | Gönderildi (Sent) | Taslak (Draft) | | **Satın Alma Siparişi** (Purchase Order) | Amount | `erp-procurement-orders.approve` | Onay Bekliyor (Pending Approval; locked, no goods receipt possible) | Sipariş Verildi (Ordered) | Taslak (Draft) | | **Satın Alma Talebi** (Purchase Requisition) | None (every requisition) | `erp-procurement-requisitions.approve` | Onay Bekliyor (Pending Approval) | Talep Edildi (Requested; on purchasing's agenda) | Taslak (Draft) | | **Yevmiye Fişi** (Journal Entry) | Amount | `erp-accounting-journal-entries.approve` | Awaits approval | The entry's own flow | The entry's own flow | | **Mühendislik Değişikliği Talebi** (Engineering Change Request) | None (every request) | `erp-manufacturing-engineering-changes.edit` | Awaits approval | A change number is opened | The request's own flow | "Amount" is the document's **grand total** — including VAT, after discounts, including additional charges, in the document's currency. "Discount" is the **highest effective discount** on the document: because line and header discounts are applied together, the actual reduction of a line is calculated as `1 − (1 − satır%) × (1 − genel%)`; if only the header discount were considered, the approval could be bypassed with a line discount. ## Approval Templates screen **Yönetim › Onay Süreci › Onay Şablonları** (Administration › Approval Process › Approval Templates) — "Hangi belge, hangi koşulda, hangi aşamalardan geçerek onaylanır" (Which document is approved, under which condition, through which stages). ![Approval Templates — coverage cards and template table](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-sablonlari.png) 1. New Template 2. Document type card — does the type go through approval 3. Condition — amount range / discount threshold 4. Stages are asked in order 5. Active / Inactive At the top there is a **scope card** for each document type: "N etkin şablon — onaydan geçer" (N active templates — goes through approval), "Şablonlar pasif — onaysız ilerler" (Templates inactive — proceeds without approval) or "Şablon yok — onaysız ilerler" (No template — proceeds without approval). **Şablon Ekle** (Add Template) on the card opens the dialog with that type. | Column | Description | |---|---| | **Belge Türü** (Document Type) | The document the template applies to. | | **Şablon** (Template) | Template name. | | **Koşul** (Condition) | The readable condition: "50.000,00 TRY ve üzeri" (50,000.00 TRY and above), "… – …", "… ve altı" (… and below), "iskonto %10 ve üzeri" (discount 10% and above); without a condition, **Her zaman** (Always). | | **Aşamalar (sırayla)** (Stages, in sequence) | The approvers of the stages in order; with escalation, "24 saat sonra 'Yönetici' rolüne yükselir" (escalates to the 'Yönetici' role after 24 hours). | | **Durum** (Status) | Active or inactive. | | **İşlem** (Action) | Düzenle (Edit) · Sil (Delete) (depending on permission). | The table is not paginated: to understand tiered approval, all templates are displayed together. The delete confirmation reads "Şablon silinsin mi?" (Delete the template?): "Bu şablon bundan sonra onay turu doğurmaz. Geçmiş turlar şablonu kendi içinde sakladığı için etkilenmez." (This template will no longer create approval rounds. Past rounds are not affected because they store the template within themselves.) To pause a template temporarily, turn off the **Etkin** (Active) switch instead of deleting it. ### Template dialog **Yeni Şablon** (New Template) (or **Düzenle** (Edit) on a row) opens a wide dialog: the form on the left, and on the right the **Özet** (Summary, a one-sentence reading of the rule) and a **Akış** (Flow) preview. ![New Approval Template — condition, stages, summary and flow](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-sablonu-yeni.png) 1. Document Type — fixed after creation 2. Condition — discount threshold 3. Stage 1 — role or named users, decision rule 4. If unanswered — hours and escalation role 5. Add Stage (max 10) 6. Summary — the rule as a sentence 7. Flow preview #### General | Field | Required | Description | |---|---|---| | **Belge Türü** (Document Type) | Yes | Satış Teklifi (Sales Quotation), Satın Alma Siparişi (Purchase Order), Satın Alma Talebi (Purchase Requisition), Yevmiye Fişi (Journal Entry), Mühendislik Değişikliği Talebi (Engineering Change Request). The selection determines the condition terms and approver lists. **It cannot be changed when editing** (another type has a different permission and condition); to change the type, create a new template. When the document type changes, conditions and stages are reset. | | **Şablon Adı** (Template Name) | Yes | At most 128 characters. Example: "50.000 TRY üstü sipariş onayı" (Order approval above 50,000 TRY). Shown in the approval history and in Onayımı Bekleyenler (Awaiting My Approval). | | **Etkin** (Active) | — | Only when editing. On: "Yeni belgeler bu şablona uyar" (New documents follow this template). Off: "Pasif — yeni belgeler bu şablona uymaz" (Inactive — new documents do not follow this template). An inactive template does not start new approval rounds; running rounds are not affected. A new template is created active. | #### Which documents (condition) A condition the document type does not offer is not drawn in the dialog. For a type without conditions (requisition, engineering change), the dialog reads "Bu belge türünde koşul yok — şablon onaya gönderilen **her** belgeye uygulanır." (This document type has no condition — the template applies to **every** document submitted for approval.) | Field | Values | Description | |---|---|---| | **Tutar** (Amount) | **Tutarı ne olursa olsun** (Whatever the amount) · **Genel toplam aralıktaysa** (If the grand total is within a range) | Default is "whatever the amount". Selecting a range opens the two fields below. | | **Para Birimi** (Currency) | The installation's currencies (the default currency is preselected) | **No currency conversion**: the template applies only to documents in this currency. TRY and EUR orders require two separate templates. | | **Genel toplam** … **ile** … **arası** (Grand total between … and …) | Lower limit (empty = 0) · Upper limit (empty = unlimited) | Including VAT, after discounts; it also matches when **equal** to the limits. For "50,000 and above", leave the upper limit empty. At least one limit must be entered, limits must be zero or positive, and the lower limit cannot be greater than the upper limit. | | **İskonto** (Discount) | Checkbox: "Yalnız iskontosu belirli bir oranı aşan belgeler" (Only documents whose discount exceeds a given rate) | Sales quotation only. | | **İskonto eşiği (%)** (Discount threshold, %) | Greater than 0, at most 100 | "Satırlardaki en yüksek iskonto bu orana eşit ya da üstündeyse uyar." (Matches if the highest discount on the lines is equal to or above this rate.) | If both amount and discount are selected, both must hold. #### Approval stages — asked in sequence Each stage is a separate box; its number is its order ("İlk sorulan" (Asked first), "1. aşama kapanınca sorulur" (Asked when stage 1 closes)). To the right of the box there are **Yukarı taşı** (Move up), **Aşağı taşı** (Move down) and a button to remove the stage (a single stage cannot be removed). **Aşama Ekle** (Add Stage) adds a new stage; a template can have at most **10** stages. | Field | Required | Description | |---|---|---| | Stage name | No | "1. aşamanın adı (örn. Bölüm onayı)" (Name of stage 1, e.g. Department approval). At most 128 characters; if empty, "1. aşama" (Stage 1) is written. Shown in the approval history and in Onayımı Bekleyenler (Awaiting My Approval). | | **Kim onaylar** (Who approves) | Yes | **Bir rol** (A role): "Rol seçin — rolü taşıyan herkes onaylayabilir" (Select a role — anyone holding the role can approve). A role that does not hold the document type's approval permission is marked "— onay izni yok" (— no approval permission) in the list, and if selected the template is not saved ("Bu rol bu belgeyi onaylama iznine sahip değil — aşama hiç kapatılamazdı, şablon kaydedilmez." — This role does not have permission to approve this document — the stage could never be closed, the template is not saved). **Belirli kişiler** (Specific people): only users who hold the document type's approval permission are listed, searchable by name or email; at most 10 people ("daha kalabalık liste bir roldür" — a longer list is a role). Roles and people cannot be mixed in the same stage. | | **Karar kuralı** (Decision rule) | Yes | "**N** onay gerekli, **M** ret belgeyi reddeder" (**N** approvals required, **M** rejections reject the document) — each 1–10. The sentence below reads the rule: "Biri onaylarsa geçer, biri reddederse belge reddedilir." (Passes if one person approves; the document is rejected if one person rejects.) In a people stage, the number of approvals cannot exceed the number of selected people, and so that the stage does not deadlock when votes are split, approvals + rejections ≤ number of people + 1. | | **Cevapsız kalırsa** (If unanswered) | No | "**S** saat sonra **[Üst onaycı rolü]** de karar verebilir" (After **S** hours, **[Higher approver role]** can also decide). Duration 1–720 hours; duration and role are entered **together**; the higher approver role cannot be the stage's own role and must hold the approval permission. If left empty ("kimseye aktarılmaz" — not passed to anyone), the stage waits until a decision is made; the "Onay bekleyen hatırlatması" (Pending approval reminder) alert reminds the approvers. | A person votes **once** in a stage; the same person's vote is not counted twice (a "two of three managers" rule cannot be passed by a single person). #### Multiple templates "Aynı belgeye uyan birden çok şablon varsa hepsinin aşamaları sırayla eklenir." (If several templates match the same document, the stages of all of them are added in sequence.) Matching templates are ordered by lower amount limit, smallest to largest. Tiered approval can be set up in two ways: - **Two templates:** "0 TRY and above → Purchasing Manager" and "50,000 TRY and above → General Manager". For a 60,000 TRY order both templates match; the round has two stages. - **One template, two stages:** in the "50,000 TRY and above" template, stage 1 is the Purchasing Manager and stage 2 is the Administrator. #### Validation messages When a template is saved, the screen and the server apply the same rules: "Belge türünü seçin." (Select the document type.), "Şablon adı zorunlu." (Template name is required.), "Tutar koşulunda en az bir sınır yazın (alt sınır 0 olabilir)." (Enter at least one limit in the amount condition (the lower limit can be 0).), "Alt tutar sınırı üst sınırdan büyük olamaz." (The lower amount limit cannot be greater than the upper limit.), "İskonto eşiği 0'dan büyük ve en fazla 100 olmalı." (The discount threshold must be greater than 0 and at most 100.), "Onaylayacak rolü seçin." (Select the approving role.), "En az bir onaycı kullanıcı seçin." (Select at least one approver user.), "Eskalasyon için süre ve üst onaycı rolünü birlikte girin." (Enter the duration and the higher approver role together for escalation.), "Üst onaycı rolü aşamanın kendi rolüyle aynı olamaz." (The higher approver role cannot be the same as the stage's own role.). In a multi-stage template, the message carries the stage number ("2. aşama: …" — Stage 2: …). ### Sample templates | Purpose | Document Type | Condition | Stages | |---|---|---|---| | High-value purchasing | Satın Alma Siparişi (Purchase Order) | TRY, grand total between 50,000 and (empty) | 1. Purchasing Manager (unanswered for 24 hours → Administrator) · 2. Administrator | | Discounted quotation | Satış Teklifi (Sales Quotation) | Discount threshold 10% | 1. Sales Manager | | Every requisition | Satın Alma Talebi (Purchase Requisition) | — (every requisition) | 1. Purchasing Manager | | Two signatures | Satın Alma Siparişi (Purchase Order) | TRY, 250,000 and above | 1. Specific people (3 managers), 2 approvals required, 2 rejections reject | Two templates are defined in the demo installation: **Satış teklifi — iskonto %10 ve üzeri** (Sales quotation — discount 10% and above; active, single stage: Yönetim onayı (Management approval) · Yönetici (Administrator)) and **Satın alma siparişi — 50.000 TRY ve üzeri (örnek)** (Purchase order — 50,000 TRY and above (sample); inactive, two stages). ## How a document goes to approval On the document's detail page, the submit button learns about the template match **from the server**: if an active template matches, the button is named **Onaya Gönder** (Submit for Approval) (for a sales quotation: "Bu teklif onay şablonuna takılıyor (tutar ya da iskonto). **Onaya Gönder** teklifi kilitler; son onayda kendiliğinden gönderildi olur." — This quotation is caught by an approval template (amount or discount). **Onaya Gönder** locks the quotation; on final approval it automatically becomes sent). ![Draft quotation matching a template — Send for Approval](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onaya-gonder.png) 1. Send for Approval instead of Send 2. Why it needs approval ``` Draft ──Submit for Approval──► Pending Approval ──(stage 1)──►(stage 2)──► final approval ──► next status (e.g. Sent) ▲ │ document LOCKED: cannot be edited, converted, or goods-received │ ├─ rejection threshold ───────────────► Draft (edited and resubmitted — new round) │ └─ Cancel ────────────────────────────► Cancelled (open round closes) └───────────────────── if no template matches, Send advances it directly ``` - On submission, the stages of the matching templates are copied into the round, and a **"Onayınız bekleniyor"** (Your approval is awaited) notification is sent to the approvers of stage 1 ("ST-… numaralı satış teklifi 1. onay aşamasında sizi bekliyor." — Sales quotation ST-… is waiting for you at approval stage 1.). - When a stage is approved, a notification is sent to the approvers of the next stage; the document remains locked. - When the last stage is approved, the round becomes **Onaylandı** (Approved), the document proceeds, and a **"… onaylandı"** (… approved) notification is sent to the sender (for a quotation: "… numaralı teklif tüm onayları aldı ve gönderildi olarak işaretlendi." — Quotation … has received all approvals and was marked as sent.). Because approval may take days, the document's sending rules (item master, customer, validity) are re-evaluated at that moment. - When a stage reaches the rejection threshold, the round becomes **Reddedildi** (Rejected), the remaining stages close as **Sorulmadı** (Not asked), the document returns to draft, and a **"… reddedildi"** (… rejected) notification is sent to the sender with the reason. - If a document pending approval is cancelled, the open round becomes **İptal Edildi** (Cancelled). ### Approvals card on the document detail Above a document pending approval it says whom it is waiting for ("Teklif onay bekliyor — sırada 1. aşama: Yönetici. Onaylanınca gönderildi olur; reddedilirse taslağa döner." — Quotation pending approval — next is stage 1: Administrator. When approved it becomes sent; if rejected it returns to draft.). The **Onaylar** (Approvals) card lists the rounds with the newest on top: the round's status, sender, submission time and amount; for each stage the approver, template and stage name, status (**Karar bekleniyor** (Decision pending) · **Onaylandı** (Approved) · **Reddedildi** (Rejected) · **Sorulmadı** (Not asked)), and the votes cast (name, "adına" (on behalf of) delegation note, "(eskalasyonla)" (by escalation), Onayladı/Reddetti (Approved/Rejected), time, note). In a multi-vote stage it says "Karar bekleniyor — 1/2 onay" (Decision pending — 1/2 approvals); in an escalated stage the escalation time is shown. ![Quotation pending approval — current stage and rounds](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onay-bekliyor.png) 1. Decision buttons — server decides (submitter cannot approve) 2. Who it is waiting for 3. Current round — awaiting decision 4. Previous round — rejection and reason kept ## Approval and rejection The decision is made **on the document's detail page**: the **Onayla** (Approve) and **Reddet** (Reject) buttons are drawn if the server answers yes to the question "can this person vote on this stage right now". The rule: holding the stage's role or being named in the stage (or a delegation valid today), having the document type's approval permission, and not having voted in this stage yet; for approval, segregation of duties applies as well. The sender sees only **Reddet** (Reject). | Dialog | Content | |---|---| | **Onay verilsin mi?** (Approve?) | "Oyunuz sıradaki aşamaya yazılır. Aşama gereken onaya ulaşır ve başka aşama yoksa belge onaylanır." (Your vote is recorded in the current stage. If the stage reaches the required approvals and there is no other stage, the document is approved.) **Not (isteğe bağlı)** (Note, optional) — "Onay kaydına düşecek açıklama" (Comment to be recorded with the approval), at most 512 characters. If voting as a delegate, it states on whose behalf. Buttons **Vazgeç** (Cancel) · **Onayla** (Approve). | | **Reddedilsin mi?** (Reject?) | "Aşama red eşiğine ulaşırsa belge taslağa döner ve yeniden düzenlenebilir." (If the stage reaches the rejection threshold, the document returns to draft and can be edited again.) **Red gerekçesi** (Rejection reason) is required — "Neyin düzeltilmesi gerekiyor?" (What needs to be corrected?); "Gerekçe belgeyi onaya gönderen kişiye bildirim olarak iletilir." (The reason is sent as a notification to the person who submitted the document.) Buttons **Vazgeç** (Cancel) · **Reddet** (Reject). | ![Reject confirmation — reason required](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-reddet.png) 1. Rejection reason — sent to the submitter 2. Reject — document returns to draft at the threshold On the approver's screen (demo: **Demo Onaylayıcı**, ST-2026-000005), the **Onay verilsin mi?** (Approve?) dialog also shows the document number and amount ("ST-2026-000005 · 50.476,80 TRY"); the note appears under the vote on the **Onaylar** (Approvals) card. ![Approve confirmation — optional note](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-ver.png) 1. Document and amount being approved 2. Note — saved with the approval 3. Approve — last stage moves the document on There is **no** bulk approval: an approval is a signature, and its justification lies in the content of the document. On a phone, the same decision is made from the **Onaylarım** (My Approvals, mobile) screen. ### Decision messages | Message | Reason | |---|---| | Onaya kendiniz gönderdiğiniz belgeyi onaylayamazsınız. Kararı başka bir onaycı vermeli. (You cannot approve a document you submitted for approval yourself. Another approver must decide.) | Segregation of duties. | | Onaya kendiniz gönderdiğiniz ya da satış temsilcisi olduğunuz teklifi onaylayamazsınız. Kararı başka bir onaycı vermeli. (You cannot approve a quotation you submitted for approval or for which you are the sales representative. Another approver must decide.) | For a quotation, the sales representative cannot approve either. | | Bu aşamada kararınızı zaten verdiniz — aşama diğer onaycıların oyunu bekliyor. (You have already made your decision in this stage — the stage is waiting for the other approvers' votes.) | One vote per person per stage. | | Bu aşamayı yalnız '…' rolündeki kullanıcılar kapatabilir. (Only users in the '…' role can close this stage.) | You do not hold the stage's role. For an escalated stage, the time the duration expires is also stated. | | Bu aşamada vekiliniz sizin adınıza oy verdi — aşama diğer onaycıların oyunu bekliyor. (Your delegate voted on your behalf in this stage — the stage is waiting for the other approvers' votes.) | Your delegate used your vote. | | Red gerekçesi zorunludur. (A rejection reason is required.) | The reason is empty in the rejection dialog. | | … onaylama yetkiniz yok. (You do not have permission to approve ….) | No approval permission for the document type. | | Bu teklif onay beklemiyor. (This quotation is not pending approval.) | The document was approved, rejected or cancelled in the meantime — refresh the page. | ## Awaiting My Approval {#onayimi-bekleyenler} **Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › Awaiting My Approval) — "Sırası gelmiş ve sizin (ya da vekili olduğunuz onaycının) kararını bekleyen belgeler" (Documents whose turn has come and that are waiting for your decision, or that of the approver whose delegate you are). All document types are in a single list, the longest-waiting first; documents you submitted yourself do not appear here. You make the decision on the document's detail page, not on the row. ![Pending My Approval](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onayimi-bekleyenler.png) 1. Document type filter 2. Submitter and date 3. Stage position, template and stage name 4. How long the stage has waited 5. On behalf of | Column | Description | |---|---| | **Belge** (Document) | Document number and type; click to open the document. | | **Gönderen** (Sender) | The person who submitted it for approval and the submission time. | | **Tutar** (Amount) | The grand total at the time of submission and the currency; "—" for a document without a condition (requisition). | | **Aşama** (Stage) | "2. aşama / 3" (Stage 2 / 3) or "Tek aşama" (Single stage); in a multi-vote stage "1/2 onay" (1/2 approvals); below it, the template and stage name. | | **Bekliyor** (Waiting) | How long the stage has been waiting ("1 saatten az" (less than 1 hour), "5 saat" (5 hours), "2 gün" (2 days)) — the same duration the reminder counts. | | **Vekalet** (Delegation) | "… adına" (on behalf of …) if waiting as a delegate. | The **Belge Türü** (Document Type) filter narrows the list to a single type. **Bekleyen İşlerim** (My Pending Tasks) on the Home page also counts the approval queue. A document waiting in an approver's list (demo: ST-2026-000005 in Demo Onaylayıcı's queue, "Tek aşama" (Single stage), "Satış teklifi — iskonto %10 ve üzeri — Yönetim onayı"): ![Pending My Approval — the approver’s queue](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-kuyrugu.png) 1. Document — click to open 2. Submitter and date 3. Stage, template and stage name 4. How long the stage has waited ## Approval Delegations {#onay-vekaletleri} **Yönetim › Onay Süreci › Onay Vekaletleri** (Administration › Approval Process › Approval Delegations) — "Onaycı yokken (izin, hastalık) vekili tarih aralığında onun adına oy verir" (When an approver is absent (leave, illness), the delegate votes on their behalf within a date range). The vote counts as the approver's; a person casts a single vote in a stage; a document the approver cannot approve cannot be approved by the delegate either. ![Approval Delegations](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-vekaletleri.png) 1. New Delegation 2. Manager: everyone’s delegations 3. Show ended delegations 4. Validity — both days inclusive By default the list shows **Vekaletlerim** (My Delegations: delegations I have given and that have been given to me); an administrator sees all delegations with the **Herkesin vekaletleri** (Everyone's delegations) switch. **Bitmişleri göster** (Show ended) also lists the expired ones. Columns: **Onaycı** (Approver), **Vekil** (Delegate), **Tarih Aralığı** (Date Range), **Belge Türü** (Document Type; if empty, "Bütün belge türleri" — All document types), **Durum** (Status: Geçerli (Valid) · Başlamadı (Not started) · Bitti (Ended)), **Not** (Note); **Kaldır** (Remove) in the row's Actions menu. ![New Approval Delegation dialog](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-vekaleti-yeni.png) 1. Approver — myself or (manager) another approver 2. Document type or all types 3. Substitute — a user with approval permission 4. Date range — up to 366 days 5. Note | Field | Required | Description | |---|---|---| | **Onaycı** (Approver) | Yes | Visible to administrators only: **Kendim** (Myself) or another approver. "Yönetici, sisteme giremeyen onaycının yerine de vekil atayabilir." (An administrator can also assign a delegate for an approver who cannot sign in.) Other users can assign a delegate only for themselves. | | **Belge Türü** (Document Type) | Yes | A single type or **Bütün belge türleri** (All document types). "Bütün türlerde vekil, onaycının onayladığı her belgenin onay yetkisini taşımalı." (For all types, the delegate must hold the approval permission for every document the approver approves.) | | **Vekil** (Delegate) | Yes | "Onay yetkisi olan bir kullanıcı seçin" (Select a user with approval permission). The delegate must hold the approval permission for the delegated document types themselves — a delegation does not grant permissions. | | **Tarih aralığı** (Date range) | Yes | Start — end; "İki gün de dahil; en fazla 366 gün — daha uzunu rol değişikliğidir." (Both days inclusive; at most 366 days — anything longer is a role change.) A delegation that ended in the past cannot be created. | | **Not** (Note) | No | "Örn. yıllık izin" (e.g. annual leave); at most 512 characters. | Server messages: "Kişi kendisine vekil olamaz." (A person cannot be their own delegate.), "Bitiş tarihi başlangıçtan önce olamaz." (The end date cannot be before the start date.), "Geçmişte biten bir vekalet tanımlanamaz." (A delegation that ended in the past cannot be defined.), "… için … bu tarihlerde zaten vekil." (… is already the delegate for … on these dates.), "… şu belgeleri onaylama yetkisine sahip değil: …" (… does not have permission to approve these documents: …). When a delegation is removed ("Vekalet kaldırılsın mı?" — Remove the delegation?), the delegate can no longer vote on the approver's behalf; votes already cast remain in the trail with the "adına" (on behalf of) record. ## Notifications and reminders | Notification | Recipient | When | |---|---|---| | **Onayınız bekleniyor** (Your approval is awaited) | Everyone who can approve the stage whose turn has come (delegates included) | On submission and at each stage transition | | **Onay hatırlatması** (Approval reminder; alert: *Onay bekleyen hatırlatması* — Pending approval reminder) | The same people | If a stage waits longer than the threshold (default 24 hours), once a day until a decision is made — if the alert is enabled | | *Onay eskalasyonu* (Approval escalation; alert) | The higher approver role in the template | Once, when the stage's escalation duration expires — if the alert is enabled; the decision authority takes effect even when the notification is disabled | | **Onay tamamlandı** (Approval completed) | Sender | On final approval | | **Onay reddedildi** (Approval rejected) | Sender | On rejection, with the reason | The purchase order also has its own notification types: **Satın alma siparişi onay bekliyor** (Purchase order pending approval), **… onaylandı** (… approved), **… reddedildi** (… rejected). The channel (application, email, daily digest) is the person's preference: [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler). ## Tasks - [Create an approval template](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-sablonu-olusturma) — Document type, condition, stages. - [Make an approval decision](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-karari-verme) — Approve, or reject with a reason. - [Define an approval delegation](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-vekaleti-tanimlama) — A delegate for leave and absence. - [Approval flow (process)](https://erpdocs.corexlogic.com/en/surecler/onay-akisi) — End-to-end approval of a discounted quotation. --- # Alerts and notifications > Notification bell, scheduled alerts (threshold, recipient, channel), notification rules for document events (event, condition, recipient, channel), personal notification preferences and device notifications. URL: https://erpdocs.corexlogic.com/en/ayarlar/bildirimler - **Type:** Guide - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi · Profil › Bildirim Tercihleri (Administration › Customization › General › Alert and Notification Management · Profile › Notification Preferences) - **Screen route:** `/alerts` - **Required permission:** `alerts.view (ekranı görme) · alerts.edit (uyarı açma/kapama, eşik, Şimdi Çalıştır, bildirim kuralı yazma)`, `Bildirimi almak için bu ekranın izni gerekmez; alıcı uyarının ya da kuralın kendi tanımından gelir.` In CoreX ERP, a person is informed in three ways: | Source | When | Defined by | Example | |---|---|---|---| | **System notifications** | When a task directly concerns the person | Fixed in code | "Onayınız bekleniyor" (Your approval is awaited), "Talebiniz siparişe dönüştü" (Your requisition was converted to an order), "Veri aktarımı tamamlandı" (Data import completed) | | **Alerts** | When a condition holds in the hourly run | The administrator enables them and sets a threshold | Check/promissory note due date, trip delay, pending approval, below minimum stock | | **Notification rules** | When an event occurs on a document | The administrator writes a rule | Outbound delivery created → warehouse managers | All of them land in the **bell**. Email is also sent if the person's preference and the installation's email server (SMTP) are enabled; without SMTP, the notification appears only in the application ([Email (SMTP)](https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp)). ## Notification bell {#bildirim-zili} **Bildirimler** (Notifications, the bell) on the right of the top bar shows the number of unread notifications with a red badge ("9+" if more than 9). The count is refreshed every 45 seconds and when the bell is opened. ![Notification bell — latest notifications](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-zili.png) 1. Bell — unread count 2. Mark all as read - Each row: title, message (single line), date and time; an unread row is bold with a blue dot on its left. - Clicking a row marks the notification as read and, if it has a link, opens the related screen (e.g. a quotation, an import result, Onayımı Bekleyenler (Awaiting My Approval)). - **Tümünü okundu** (Mark all as read) marks all of them as read. If the list is empty it reads "Bildirim yok." (No notifications.). - On a phone, the same notifications are in the **Bildirimler** (Notifications) tab of the mobile shell; if device notifications are enabled, they also arrive on the phone (see below). ## Alert and Notification Management screen **Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi** (Administration › Customization › General › Alert and Notification Management). Two tabs: **Uyarılar** (Alerts, scheduled checks) and **Bildirim Kuralları** (Notification Rules, document events); the tab is kept in the address (`?sekme=kurallar`). ### Alerts tab "Zamanlanmış kontroller: süresi dolan belge, geciken iş, minimum altı stok — açılan uyarı bulguyu ilgili kişilere bildirir" (Scheduled checks: expired document, delayed work, stock below minimum — an enabled alert notifies the relevant people of the finding). The alerts themselves are defined in the system; the screen only **enables/disables** them and sets the **threshold**. **All alerts start disabled.** ![Alert and Notification Management — Alerts tab](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/uyarilar.png) 1. Scheduled alerts 2. Document event notification rules 3. On / Off — all start off 4. Threshold — hours or days; empty = default 5. Recipient and channel 6. Run Now — without waiting for the hourly run | Column | Description | |---|---| | **Durum** (Status) | Switch: **Açık** (On) / **Kapalı** (Off). Users without permission see only the status. | | **Uyarı** (Alert) | The alert's name and what it does. An unsaved row reads "değişti" (changed) and is highlighted. | | **Eşik** (Threshold) | Number + unit (**saat** (hours) / **gün** (days)). Empty = default ("Varsayılan: 72 saat" — Default: 72 hours). At least 1 hour, at most 30 days (720 hours); whole number. For an alert without a threshold: "Eşik yok — bulgu olunca bildirir" (No threshold — notifies when there is a finding). | | **Kime gider** (Sent to) | The recipient rule and the channel: **Uygulama** (Application) and, if email is supported, **E-posta** (Email). | | **Son çalışma** (Last run) | The time of the last run and "N süren bulgu" (N ongoing findings) / "Bulgu yok" (No findings); if it has never run, "Henüz çalışmadı" (Not run yet). Below it, "Değiştiren: …" (Changed by: …). | Alerts are grouped by area (the group row shows "1 / 2 açık" — 1 / 2 on). The **Ara** (Search) box searches name, description and area; **Yalnız açık olanlar** (Only enabled ones) filters. In the toolbar: "N uyarı · N açık · N kaydedilmemiş değişiklik" (N alerts · N on · N unsaved changes), **Şimdi Çalıştır** (Run Now), **Geri Al** (Undo), **Kaydet (N)** (Save (N)). | Alert | Area | Default threshold | Recipient | What it does | |---|---|---|---|---| | **Çek/senet vadesi** (Check/promissory note due date) | Finance | 72 hours | Those who can process checks/promissory notes | Notifies if the due date of a received check/note awaiting collection or of an unpaid issued check/note falls within the threshold or has passed; once a day while it lasts. | | **Kalite faaliyeti termini** (Quality task due date) | Quality | 48 hours | The task owner | Notifies if the due date of an incomplete task of an open quality notification falls within the threshold or has passed; once a day until it is completed. | | **Araç belgesi süresi** (Vehicle document expiry) | Logistics | 30 days | Those who can write fleet data | Notifies of an active vehicle whose inspection, insurance or tachograph validity expires within the threshold or has expired; once a week while it lasts. | | **Sefer gecikmesi** (Trip delay) | Logistics | 2 hours | Those who can execute the trip | Notifies if the planned arrival of a trip on the road has been exceeded by the threshold and it has undelivered stops; once. | | **Sürücü belgesi süresi** (Driver document expiry) | Logistics | 30 days | Those who can write fleet data | Notifies of an active driver whose driving licence, SRC or psychotechnical certificate expires within the threshold or has expired; once a week while it lasts. | | **Onay bekleyen hatırlatması** (Pending approval reminder) | Approval | 24 hours | Everyone who can approve the stage (delegates included) | Reminds if an approval stage whose turn has come has been waiting longer than the threshold; once a day until a decision is made. | | **Onay eskalasyonu** (Approval escalation) | Approval | No threshold (duration in the template) | The higher approver role defined in the template | If a stage with a defined escalation duration waits that long, notifies the higher approver role once; from that moment the role can also decide. | | **Minimum stok altı** (Below minimum stock) | Inventory and planning | No threshold | Those who can create requisitions or production orders | Notifies of an item whose stock position (on hand + in transit − demand) falls below the minimum; once, when the item enters the list. | - An enabled alert is checked **once an hour**; the same finding is not notified repeatedly. A person can turn off the channel in **Profil › Bildirim Tercihleri** (Profile › Notification Preferences). - **Şimdi Çalıştır** (Run Now; "Açık uyarıları saatlik turu beklemeden şimdi kontrol eder" — Checks enabled alerts now without waiting for the hourly run) tries the enabled alerts immediately and lists the result: "N bulgu, N kişiye bildirim" (N findings, notification to N people), "bulgu yok" (no findings) or an error. If no alert is enabled: "Açık uyarı yok — tur hiçbir şeyi kontrol etmedi. Önce uyarıyı açıp kaydedin." (No alert is enabled — the run checked nothing. Enable and save the alert first.) This button produces real notifications (and emails). - When leaving the screen without saving, the system asks (stay on the page, save and leave, discard changes). ### Notification Rules tab "Belge olayının bildirimi: kime, hangi koşulda, hangi kanaldan." (Notification of a document event: to whom, under which condition, through which channel.) The event (created, goods issue, cancellation…) is captured from the record; the rule says to whom and through which channel the notification goes. Instead of notifications hard-coded in the software, the installation sets up its own rules. ![Notification Rules tab](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-kurallari.png) 1. New Rule 2. Document and event 3. Responsibility, role, user 4. In-app / in-app + e-mail | Column | Description | |---|---| | **Kural** (Rule) | The rule's name. | | **Belge · Olay** (Document · Event) | Name of the document and the event. | | **Alıcılar** (Recipients) | Responsibilities, roles and people; for a rule with a condition, "Koşullu" (Conditional) below. | | **Kanal** (Channel) | **Uygulama** (Application) or **Uygulama + e-posta** (Application + email). | | **Durum** (Status) | **Aktif** (Active) / **Pasif** (Inactive). | | **Değiştiren** (Changed by) | Last changed by and time. | Edit and delete are in the row's Actions menu. Delete: "Kural silinsin mi? — "…" kuralı silinir ve bu olay için bildirim gitmez; kişilerin bu kurala ait tercihleri de silinir. Geçici olarak durdurmak için kuralı pasife alabilirsiniz." (Delete the rule? — the "…" rule is deleted and no notification is sent for this event; people's preferences for this rule are deleted as well. To pause it temporarily, you can set the rule to inactive.) #### Rule dialog **Yeni Kural** (New Rule) opens the "Yeni Bildirim Kuralı" (New Notification Rule) dialog: "Belgede bir olay olduğunda kime, hangi koşulda ve hangi kanaldan bildirim gideceğini tanımlayın." (Define to whom, under which condition and through which channel a notification is sent when an event occurs on a document.) On the right, the rule's **Özet** (Summary) sentence. ![New Notification Rule — when, who, condition, how](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-kurali-yeni.png) 1. 1 · Document 2. Event 3. 2 · Who — responsibility, role, user 4. 3 · Condition — warehouse 5. 4 · How — e-mail, exclude actor, active 6. Summary | Step | Field | Required | Description | |---|---|---|---| | 1 · When | **Kural adı** (Rule name) | Yes | At most 128 characters. "Örn. Mal çıkışı — satış temsilcisine" (e.g. Goods issue — to the sales representative). Appears with this name in the preference list in Profile. | | | **Belge** (Document) | Yes | "Olay bildirimi tanımlanabilen belgeler. Onay ve süre uyarıları kendi ekranlarından (Onay Şablonları, Uyarılar sekmesi) gelir." (Documents for which event notifications can be defined. Approval and time alerts come from their own screens (Approval Templates, Alerts tab).) When the document changes, the event, responsibility and condition are reset. | | | **Olay** (Event) | Yes | The document's events (table below). | | 2 · To whom | **Belgenin sorumlusu** (Document owner) | At least one recipient | "Belgenin kendi kişisi — depo sorumlusu deponun, satış temsilcisi siparişin." (The document's own person — the warehouse manager of the warehouse, the sales representative of the order.) | | | **Roller** (Roles) | | Role list (Rol ara… — Search role…); "N rol seçili — rolü taşıyan herkes bildirimi alır." (N roles selected — everyone holding the role receives the notification.) | | | **Kişiler** (People) | | User selection with "Kişi ekle" (Add person); remove with the cross. | | 3 · Under which condition | A dimension of the document (e.g. **Depo** (Warehouse)) | No | "Hiçbiri seçili değilse her depo için geçerli." (If none is selected, applies to every warehouse.) If selected, the notification is sent only for those values. | | 4 · How | **E-posta da gönder (uygulama bildirimine ek olarak)** (Also send email, in addition to the application notification) | — | Off = application only. If the person has no preference, this is the default channel. | | | **Değişikliği yapan kişiye gönderme** (Do not send to the person who made the change) | — | On by default: no notification is sent to the person who performed the event. | | | **Kural etkin** (Rule active) / **Kural pasif** (Rule inactive) | — | An inactive rule does not produce notifications. | The server and the screen perform the same validation: "Kural adı zorunlu." (Rule name is required.), "Belge seçin." (Select a document.), "Olay seçin." (Select an event.), "En az bir alıcı seçin — sorumluluk, rol ya da kullanıcı." (Select at least one recipient — responsibility, role or user.) "Aynı kişiye birden çok kural aynı olayı bildirirse tek bildirim gider. Belgeyi görme izni olmayan alıcıya bildirim gitmez." (If several rules notify the same person of the same event, a single notification is sent. No notification is sent to a recipient without permission to view the document.) #### Documents and events that can be defined | Document | Events | Document owner | Condition dimension | |---|---|---|---| | **Giden teslimat** (Outbound delivery) | Teslimat açıldı — mal çıkışı bekliyor (Delivery created — awaiting goods issue) · Mal çıkışı kaydedildi (Goods issue posted) · Teslimat iptal edildi (Delivery cancelled) · Kredi blokesine düştü (Fell into credit block) · Alındı teyidi kaydedildi (Proof of delivery recorded) | Depo sorumluları (Warehouse managers) · Siparişin satış temsilcisi (The order's sales representative) | Depo (Warehouse) | Four rules are defined in the demo installation: "Giden teslimat açıldı — depo hazırlığı" (Outbound delivery created — warehouse preparation; warehouse managers, application), "Mal çıkışı kaydedildi — satış temsilcisine" (Goods issue posted — to the sales representative; application + email), "Teslimat kredi blokesinde — kredi yönetimine" (Delivery in credit block — to credit management; sales representative + Kredi Yöneticisi (Credit Manager) role, application + email), "Giden teslimat iptal edildi" (Outbound delivery cancelled; warehouse managers and sales representative). ## Notification preferences **Profil › Bildirim Tercihleri** (Profile › Notification Preferences; user menu › Profile, `?sekme=bildirimler`). Each person chooses their own channel; the administrator's setting is the **default** for those without a preference. ![Profile › Notification Preferences](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-tercihleri.png) 1. Notification Preferences tab 2. Device notification 3. No SMTP — no e-mail or digest 4. Your choice per notification 5. Save Preferences | Option | Meaning | |---|---| | **Varsayılan (…)** (Default (…)) | Follows the channel of the rule or notification type (shown in parentheses). | | **Yalnız uygulama** (Application only) | Bell only. | | **Uygulama + e-posta** (Application + email) | Bell and immediate email. | | **Uygulama + günlük özet** (Application + daily digest) | Bell; the email collects that day's notifications into a single message in the morning (default time 08:00). | | **Kapalı** (Off) | You never receive this notification. | The table is divided into groups (outbound delivery rules, Approval, Purchasing, Logistics, Inventory, Quality, Finance, Service, Data Import); the columns are **Bildirim** (Notification), **Varsayılan kanal** (Default channel), **Tercihiniz** (Your preference). At the bottom: "N bildirimde kendi seçiminiz var" (You have your own choice for N notifications), **Tümünü Varsayılana Döndür** (Reset All to Default), **Vazgeç** (Cancel), **Tercihleri Kaydet** (Save Preferences). If no email server is defined, the card shows the warning "E-posta sunucusu tanımlı değil — e-posta ve günlük özet gitmez, bildirim uygulamada görünür." (No email server is defined — email and daily digest are not sent, the notification appears in the application.) System notification types (default channel): **Onayınız bekleniyor** (Your approval is awaited), **Onay hatırlatması** (Approval reminder), **Onay tamamlandı** (Approval completed), **Onay reddedildi** (Approval rejected), **Satın alma siparişi onay bekliyor / onaylandı / reddedildi** (Purchase order pending approval / approved / rejected), **Yeni satın alma talebi** (New purchase requisition), **Talebiniz teklif aşamasında** (Your requisition is at the quotation stage), **Talebiniz siparişe dönüştü** (Your requisition was converted to an order), **Gelen teslimat bildirildi** (Inbound delivery notified), **Mal yolda (e-İrsaliye)** (Goods in transit (e-Delivery Note)), **Gelen teslimat inceleme bekliyor** (Inbound delivery awaiting review), **Sefer gecikti** (Trip delayed), **Filo belgesinin süresi doluyor** (Fleet document expiring), **Kalite faaliyetinin termini geldi** (Quality task due), **e-Belge dikkat istiyor** (e-Document needs attention), **Çek/senet vadesi geldi** (Check/promissory note due), **Servis çağrısı size atandı** (Service call assigned to you) (these are Application + email); **Stok minimumun altında** (Stock below minimum), **Veri aktarımı başladı** (Data import started), **Veri aktarımı kontrolü tamamlandı** (Data import validation completed), **Veri aktarımı tamamlandı** (Data import completed) (Application only); **Veri aktarımı hata verdi** (Data import failed) (Application + email). ### Device notifications If **Bu cihaza bildirim gönder** (Send notifications to this device) is turned on in the **Cihaz Bildirimi** (Device Notification) card at the top of the same tab, every notification that lands immediately in the bell also arrives on that device (phone or browser notification); disabled and daily-digest types are not sent. The list shows the person's devices with notifications enabled; **Bildirimi Kaldır** (Remove Notification) on a row, and **Deneme Bildirimi Gönder** (Send Test Notification) sends a test to all your devices. On an iPhone, notifications arrive only for the app added to the home screen. When you sign out, notifications for that device are turned off. ## Tasks - [Enable an alert](https://erpdocs.corexlogic.com/en/ayarlar/islemler/uyari-acma) — Enable an alert, threshold, save. - [Create a notification rule](https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-kurali-olusturma) — Event, recipient, condition, channel. - [Choose a notification preference](https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-tercihi-secme) — Personal channel. --- # Email settings (SMTP) > The installation's SMTP server — server, connection security, port, credentials, sender; password, test email, where email is used, and the Send Queue. URL: https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp - **Type:** Guide - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › E-posta Ayarları · Yönetim › İzleme › Gönderim Kuyruğu (Administration › Customization › General › Email Settings · Administration › Monitoring › Send Queue) - **Screen route:** `/email-settings` - **Required permission:** `email-settings.view (görme) · email-settings.edit (kaydetme, parola, deneme gönderimi)`, `outbox.view (Gönderim Kuyruğu) · outbox.edit (Yeniden dene)` CoreX ERP sends email from the installation's **own SMTP server**. Each installation enters its server on this screen; the setting is stored in the database and does not ship with the software. "Bildirimler, parola sıfırlama ve davet iletileri bu sunucudan gider. Sunucu alanını boş kaydetmek e-postayı kapatır." (Notifications, password reset and invitation messages are sent from this server. Saving the server field empty turns email off.) ## Where email is used | Use | How it is sent | Without SMTP | |---|---|---| | **Notification email** (approval, alert, rule, system notifications) | Through the Gönderim Kuyruğu (Send Queue), in the background | The notification appears in the bell; the queue message waits with the error "SMTP tanımlı değil — … Tanımladıktan sonra yeniden deneyin." (SMTP is not defined — … Retry after defining it.) | | **Daily digest** (Application + daily digest preference) | A single message every morning | Not sent. | | **User invitation and password reset** | Directly | The invitation and reset link cannot be sent by email. | | **Document email** — **Çıktı › E-posta ile Gönder** (Output › Send by Email) on the document detail (quotation, order and other documents with output) | Through the queue (at most 3 attempts, at most 20 recipients) | Sending is refused: "E-posta sunucusu (SMTP) tanımlı değil — Yönetim › Özelleştirme › Genel › E-posta Ayarları." (No email server (SMTP) is defined — Administration › Customization › General › Email Settings.) | | **Carrier request for quotation** (transport tender invitation) | Through the queue | "E-posta sunucusu (SMTP) tanımlı değil — teklif isteği gönderilemez; e-postasız açın ya da SMTP'yi tanımlayın." (No email server (SMTP) is defined — the request for quotation cannot be sent; create it without email or define SMTP.) | | **e-Archive invoice email** | Sent by the integrator (e-Belge Ayarları › Belgeler › **e-Arşivi e-postayla ilet** — e-Document Settings › Documents › Send e-Archive by email) | Independent of this setting. | ## Email Settings screen **Yönetim › Özelleştirme › Genel › E-posta Ayarları** (Administration › Customization › General › Email Settings). Three panels: server settings, **Parola** (Password), **Deneme gönderimi** (Test send). ![E-mail Settings — SMTP server](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-posta-ayarlari.png) 1. Status and settings source 2. Server — empty = e-mail off 3. Connection security — suggests the port 4. User name — empty = relay without auth 5. Sender address and name 6. Test — with saved settings The badge at the top shows the sending status (**Gönderim açık** (Sending on) / **Gönderim kapalı** (Sending off)), and the sentence next to it states the source of the setting: | Sentence | Meaning | |---|---| | E-posta gönderilmiyor: sunucu tanımlı değil. (Email is not being sent: no server is defined.) | There is neither a record on this screen nor a server configuration. | | Gönderim bu ekrandaki ayarla yapılıyor. (Sending uses the setting on this screen.) | There is a record on this screen; it applies. | | Gönderim sunucu yapılandırmasıyla (Smtp) yapılıyor. İlk kayıt ayarı bu ekrana taşır; parolayı burada yeniden girin. (Sending uses the server configuration (Smtp). The first save moves the setting to this screen; re-enter the password here.) | There is no record on the screen; the SMTP in the installation's server configuration is used. The first **Kaydet** (Save) on this screen takes the setting over to the screen. | If there **is** a record on this screen, **it is authoritative**: a record with an empty server field turns email off even if SMTP is in the configuration. ### Server fields | Field | Value | Description | |---|---|---| | **Sunucu** (Server) | Host name, e.g. `smtp.sirketiniz.com`; at most 255 characters, no spaces | SMTP server. **Saving it empty turns email off** ("Kaydedildi — sunucu boş olduğu için e-posta kapalı." — Saved — email is off because the server is empty.). | | **Bağlantı güvenliği** (Connection security) | **STARTTLS (genellikle 587)** (STARTTLS, usually 587) · **SSL/TLS (genellikle 465)** (SSL/TLS, usually 465) · **Şifresiz — yalnız iç ağ rölesi (genellikle 25)** (Unencrypted — internal relay only, usually 25) | Default STARTTLS. The selection also suggests the port: if the port is at its usual value it changes with the security setting; a manually entered port is kept. Unencrypted is used only for an internal relay. | | **Port** | 1–65535 | Default 587. The port provided by your provider. | | **Kullanıcı adı** (User name) | At most 256 characters | SMTP authentication. "Boşsa kimlik doğrulamasız gönderim (iç ağ rölesi)." (If empty, sending without authentication (internal relay).) | | **Gönderen adresi** (Sender address) | Valid email, at most 256 characters | The message's "From" address. "Boşsa kullanıcı adı gönderen olur." (If empty, the user name becomes the sender.) — in that case the user name must also be an email address. | | **Gönderen adı** (Sender name) | At most 128 characters, e.g. the company name | The sender name the recipient sees. | At the bottom of the panel: "Son değişiklik: tarih · kişi" (Last change: date · person) (or "Bu ekranda henüz kayıt yok." — No record on this screen yet.) and **Kaydet** (Save). When leaving with unsaved changes, the system asks. Save messages: "E-posta ayarları kaydedildi." (Email settings saved.), "Port 1 ile 65535 arasında olmalı." (Port must be between 1 and 65535.), "Sunucu adı boşluk içeremez." (The server name cannot contain spaces.), "Gönderen adresi geçerli bir e-posta olmalı (boşsa kullanıcı adı kullanılır)." (The sender address must be a valid email (if empty, the user name is used).), "E-posta ayarları siz düzenlerken değişti. Sayfayı yenileyip yeniden kaydedin." (The email settings changed while you were editing. Refresh the page and save again.) ### Password The password is **not** sent with the form; it is saved separately, stored encrypted, and its value **never** comes back to the screen. The row shows the saved status: "••••• kayıtlı · tarih · kişi" (••••• saved · date · person) or "Parola kayıtlı değil" (No password saved). | Button | What it does | |---|---| | **Parola gir** (Enter password) / **Parolayı değiştir** (Change password) | Opens the password field; **Parolayı kaydet** (Save password) (or Enter) saves it and clears the field ("Parola kaydedildi." — Password saved.), **Vazgeç** (Cancel) closes it. At most 256 characters. | | **Parolayı kaldır** (Remove password) | Deletes the saved password ("Parola kaldırıldı." — Password removed.). | The password is not accepted until the server setting is saved on this screen: "Önce sunucu ayarlarını kaydedin; parola bu ekrandaki ayarla birlikte kullanılır." (Save the server settings first; the password is used together with the setting on this screen.) If the saved password cannot be decrypted, the test says "Kayıtlı SMTP parolası çözülemedi; parolayı yeniden girin." (The saved SMTP password could not be decrypted; re-enter the password.) ### Test send "Kayıtlı ayarla bir deneme iletisi gönderir; sunucunun hatası olduğu gibi gösterilir." (Sends a test message with the saved setting; the server's error is shown as is.) If the recipient box is empty, the test goes to the address of the signed-in user. **Deneme e-postası gönder** (Send test email): - Is disabled while there are unsaved changes — "denenen ayar görünen ayar olmalı" (the tested setting must be the displayed setting). - Is disabled while sending is off ("Gönderim kapalı: önce sunucuyu kaydedin." — Sending is off: save the server first.). - Does not go through the queue; it is sent immediately. On success: "Deneme iletisi … adresine gönderildi." (Test message sent to ….); on error, the server's response: "E-posta gönderilemedi: …" (Email could not be sent: …) (e.g. authentication rejected, connection timeout, certificate error). - The message subject is "[CoreX ERP] Deneme e-postası" (CoreX ERP test email), and the body states the server and port. ## Send Queue {#gonderim-kuyrugu} **Yönetim › İzleme › Gönderim Kuyruğu** (Administration › Monitoring › Send Queue) — the screen for the question "didn't something that should have been sent go out?". "Arka planda gönderilen e-postalar; gönderim hatası işi geri almaz, mesaj yeniden denenir. Deneme hakkı bitmiş ya da kalıcı hatalı mesaj "gönderilemedi" olarak burada bekler." (Emails sent in the background; a sending error does not roll back the transaction, the message is retried. A message that has used up its attempts or has a permanent error waits here as "gönderilemedi" (could not be sent).) ![Send Queue](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/gonderim-kuyrugu.png) 1. Summary — pending, sending, failed 2. Status filter 3. Attempts 4. Last server error Summary at the top: **Bekleyen** (Pending) · **Gönderiliyor** (Sending) · **Gönderilemedi** (Could not be sent) · **Son 24 saatte gönderilen** (Sent in the last 24 hours). **Durum** (Status) filter: **Açık (bekleyen + gönderilemeyen)** (Open (pending + not sent); default), **Gönderilemedi** (Could not be sent), **Bekliyor** (Pending), **Gönderildi** (Sent). | Column | Description | |---|---| | **#** | Message number. | | **Tür** (Type) | E.g. **Bildirim e-postası** (Notification email). | | **Durum** (Status) | **Bekliyor** (Pending) · **Gönderiliyor** (Sending) · **Gönderildi** (Sent) · **Gönderilemedi** (Could not be sent; red). | | **Deneme** (Attempts) | How many times it has been attempted. | | **Oluşturma** (Created) | When the message entered the queue. | | **Sonraki deneme / bitiş** (Next attempt / finished) | The next attempt time of a pending message, or the finish time of a completed message. | | **Son hata** (Last error) | The server's last error. | | (button) | **Yeniden dene** (Retry) — only on a **Gönderilemedi** (Could not be sent) row and with the `outbox.edit` permission. | When a notification email fails, it is retried at increasing intervals: 30 s → 2 min → 10 min → 30 min → 2 h → 6 h → 12 h → 24 h; when the attempts (default 8) are used up or the error is permanent, it becomes **Gönderilemedi** (Could not be sent). If SMTP is defined later, pending messages are sent on the next attempt; messages that could not be sent return to the queue with **Yeniden dene** (Retry). Only a message that could not be sent can be retried ("Yalnız gönderilemeyen mesaj yeniden denenebilir." — Only a message that could not be sent can be retried.). ## Troubleshooting | Symptom | Where to look | |---|---| | Notification in the bell, but no email | Is the badge **Gönderim kapalı** (Sending off)? Is the person's preference **Yalnız uygulama** (Application only)? Is the message **Bekliyor** (Pending) / **Gönderilemedi** (Could not be sent) in the Send Queue, and what does **Son hata** (Last error) say? | | Test returns "E-posta gönderilemedi: …" (Email could not be sent: …) | Are the server name, port and **Bağlantı güvenliği** (Connection security) the same as the provider's values (587 ↔ STARTTLS, 465 ↔ SSL/TLS)? Are the user name and password correct; does the provider require an app password? | | The "From" sender is wrong at the recipient | **Gönderen adresi** (Sender address) and **Gönderen adı** (Sender name); the provider may allow sending only from the authenticated address. | | Document email is refused | "E-posta sunucusu (SMTP) tanımlı değil …" (No email server (SMTP) is defined …) — save this screen first. | ## Related - [Define the email server](https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-posta-sunucusu-tanimlama) - [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) - [Send a quotation (Çıktı › E-posta ile Gönder — Output › Send by Email)](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme) --- # e-Document settings (EDM integrator) > e-Invoice, e-Archive and e-Delivery Note integrator connection — environment, credentials, GİB labels, series, document switches, scheduling, status, go-live checklist and the lifecycle of outgoing/incoming documents. URL: https://erpdocs.corexlogic.com/en/ayarlar/e-belge - **Type:** Guide - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Finans › e-Belge Ayarları (Administration › Customization › Finance › e-Document Settings) - **Screen route:** `/erp/edocuments/settings` - **Required permission:** `erp-edocuments-settings.view (görme) · erp-edocuments-settings.edit (kaydetme, parola, Bağlantıyı Sına)`, `erp-edocuments-settings.activate (e-Belgeyi açmak ve Canlı ortama almak — ayrı yetki)` CoreX ERP sends and receives e-Invoices, e-Archive invoices and e-Delivery Notes through **EDM Bilişim**, a private integrator authorized by the Turkish Revenue Administration (GİB). **e-Belge Ayarları** (e-Document Settings) is the single screen for this connection: "e-Fatura, e-Arşiv ve e-İrsaliye entegratör (EDM) bağlantısı. Kurulum kapalı başlar; kapalıyken hiçbir belge gönderilmez ve entegratöre çağrı yapılmaz" (e-Invoice, e-Archive and e-Delivery Note integrator (EDM) connection. The installation starts disabled; while disabled, no document is sent and no call is made to the integrator). > **Credentials** The integrator user name and password belong to your organization; they are entered only on this screen, by an authorized person. The password is stored encrypted and never appears on the screen or in an export. In the screenshots in this documentation, the credential fields are intentionally empty. ## The screen's seven tabs **Genel** (General) · **Bağlantı** (Connection) · **Etiketler ve Seriler** (Labels and Series) · **Belgeler** (Documents) · **Zamanlama** (Scheduling) · **Durum** (Status) · **Canlıya Geçiş** (Go-Live). Switching between tabs does not lose unsaved fields. **Kaydet** (Save) is at the bottom of the panel and saves all tabs together (except the password — "Parola bu düğmeyle gitmez — Bağlantı sekmesinde ayrı kaydedilir." — The password is not sent with this button — it is saved separately on the Connection tab.). The pre-save validation names the tab of the invalid field ("… (Bağlantı sekmesi)" — … (Connection tab)) and takes you to that field with **Alana git** (Go to field). Two persistent warnings may appear at the top of the screen: | Warning | Meaning | |---|---| | "Acil durdurma açık (sunucu ortam değişkeni). Buradaki şalter ne olursa olsun e-Belge KAPALI çalışır; bayrak kaldırılınca kayıtlı ayar geri gelir." (Emergency stop is on (server environment variable). Regardless of the switch here, e-Document runs DISABLED; when the flag is removed, the saved setting comes back.) | The server administrator has stopped all integrator calls with the `EDocuments__ForceDisabled` flag. **Bağlantıyı Sına** (Test Connection) does not work either: "Acil durdurma açıkken entegratöre çağrı yapılmaz." (No call is made to the integrator while emergency stop is on.) | | "Bu kurulum TEST ortamı: canlı e-Belge ortamı kapalı. Canlı seçilemez ve canlı parola burada kaydedilmez; entegratöre yalnız Test ortamıyla bağlanılır." (This installation is a TEST environment: the live e-Document environment is disabled. Live cannot be selected and the live password is not saved here; the integrator is connected only with the Test environment.) | The installation is a test installation (a copy of the live database may be loaded here). **Canlı** (Live) is disabled in the environment list. | The live gate is on the server. If you try to save or enter the live password, the server returns one of these messages: - "Bu kurulumda canlı e-Belge ortamı kapalı (EDocuments__LiveAllowed=false): test ortamı canlı entegratöre bağlanmaz." (The live e-Document environment is disabled in this installation (EDocuments__LiveAllowed=false): a test environment does not connect to the live integrator.) - "Bu kurulumun lisansı TEST ortamı için: canlı e-Belge ortamına bağlanılamaz. Test ortamında e-Belge entegratörün test hesabıyla denenir; canlı fatura için canlı lisans gerekir." (This installation's license is for a TEST environment: it cannot connect to the live e-Document environment. In the test environment, e-Document is tried with the integrator's test account; live invoicing requires a live license.) ### General ![e-Document Settings — General](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-genel.png) 1. Seven tabs 2. Main switch — enabling needs Activate 3. Environment — Test / Live 4. Integrator 5. e-Invoice start date | Field | Values | Description | |---|---|---| | **e-Belge etkin** (e-Document enabled) | On / Off (default off) | "Ana şalter. Kapalıyken belge gönderilmez, gelen kutusu çekilmez." (Main switch. While off, no document is sent and the inbox is not retrieved.) Turning it on requires the **e-Belge Ayarları · Etkinleştir** (e-Document Settings · Activate) permission; a user without it can turn it off but not on ("Açmak "e-Belge Ayarları · Etkinleştir" yetkisi ister." — Turning on requires the "e-Document Settings · Activate" permission.). Before turning it on, the user name and password of the selected environment must be saved ("e-Belgeyi açmadan önce seçili ortamın parolasını kaydedin." — Save the password of the selected environment before enabling e-Document.). | | **Ortam** (Environment) | **Test** · **Canlı** (Live) | "Kimlik ve numara sayacı ortam başına ayrı; test gönderimi canlı seriyi tüketmez." (Credentials and number counter are separate per environment; a test submission does not consume the live series.) Switching to live also requires the Activate permission and opens a confirmation dialog (below). | | **Entegratör** (Integrator) | EDM Bilişim (read-only) | The installation's integrator. | | **e-Fatura başlangıcı** (e-Invoice start) | Date | "Bu tarihten itibaren fatura CoreX'te kesilir; öncesi fatura referansıyla kapanır." (From this date, invoices are issued in CoreX; earlier ones are closed with an invoice reference.) An external invoice reference cannot be entered for a delivery after this date. This is a blocking item for go-live. | ### Connection There are two separate sections for Test and Live; the heading of the selected environment shows "· seçili" (· selected). ![e-Document Settings — Connection](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-baglanti.png) 1. Separate credentials per environment 2. Service URLs (https) 3. User name 4. Test only: sender tax no. 5. Password saved separately, never shown | Field | Description | |---|---| | **e-Fatura / e-Arşiv adresi** (e-Invoice / e-Archive address) | The integrator's invoice service address. It must start with `https://` ("… https ile başlayan geçerli bir adres olmalı." — … must be a valid address starting with https.). EDM's test and live addresses are pre-filled in the installation. | | **e-İrsaliye adresi** (e-Delivery Note address) | The integrator's delivery note service address; same rule. | | **Kullanıcı adı** (User name) | The environment's integrator user. While e-Document is on, the selected environment's user name is required; in the live environment, the live user is required. | | **Test göndereni VKN** (Test sender tax ID) | Test only: "Yalnız Test ortamında faturada/irsaliyede gönderen VKN. Test hesabının VKN'si; canlıda okunmaz, şirket profili değişmez." (The sender tax ID (VKN) on invoices/delivery notes in the Test environment only. The test account's VKN; it is not read in live, and the company profile does not change.) 10 digits. | | **Test göndereni unvanı** (Test sender name) | Test only: "Boşsa şirket unvanı kullanılır." (If empty, the company name is used.) Cannot be entered without a VKN. | | **Parola** (Password) | "••••• kayıtlı · tarih · kişi" (••••• saved · date · person) or "Parola kayıtlı değil" (No password saved). **Parola gir** (Enter password) / **Parolayı değiştir** (Change password) opens the field, **Parolayı kaydet** (Save password) saves and clears it. It is not sent with the form's **Kaydet** (Save). "Parola boş olamaz." (The password cannot be empty.) | | **Bağlantı** (Connection) › **Bağlantıyı Sına** (Test Connection) | Signs in to the integrator with the saved credentials and queries the remaining credits and the company's GİB registration (labels); it **does not create a document**. If disabled, the reason is shown next to it: "Önce değişiklikleri kaydedin — sınama kayıtlı ayarla yapılır." (Save the changes first — the test uses the saved setting.), "Önce kullanıcı adını girip kaydedin." (Enter and save the user name first.), "Önce parolayı kaydedin." (Save the password first.), "Acil durdurma açıkken entegratöre çağrı yapılmaz." (No call is made to the integrator while emergency stop is on.) On timeout: "EDM … saniye içinde yanıt vermedi." (EDM did not respond within … seconds.) | A successful **Bağlantıyı Sına** (Test Connection) in the live environment is a blocking item of the go-live checklist. ### Labels and Series ![e-Document Settings — Aliases and Series](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-etiketler.png) 1. GIB sender aliases (GB) 2. Mailbox alias (PK) 3. Series — 3 letters/digits | Field | Format | Description | |---|---|---| | **e-Fatura gönderici etiketi (GB)** (e-Invoice sender label, GB) | `urn:mail:ad@alan` (e.g. `urn:mail:defaultgb@…`) | The company's invoice sender unit label at GİB. Required in the live environment. | | **e-İrsaliye gönderici etiketi (GB)** (e-Delivery Note sender label, GB) | `urn:mail:…` | Delivery note sender label. Required in live while e-Delivery Note is on. | | **Posta kutusu etiketi (PK)** (Mailbox label, PK) | `urn:mail:defaultpk@…` | The mailbox label for incoming documents. | | **e-Fatura serisi** (e-Invoice series) | 3 uppercase letters or digits (e.g. `KRN`) | Required in live while e-Invoice is on. | | **e-Arşiv serisi** (e-Archive series) | 3 letters/digits (e.g. `KRA`) | Required in live while e-Archive is on. | | **e-İrsaliye serisi** (e-Delivery Note series) | 3 letters/digits (e.g. `KRI`) | Required in live while e-Delivery Note is on. | | **İhracat serisi** (Export series) | 3 letters/digits | Series for export invoices. "Seri 3 büyük harf ya da rakam ve entegratör portalında tanımlı olmalı. Fatura numarasını entegratör verir." (The series must be 3 uppercase letters or digits and defined in the integrator portal. The invoice number is assigned by the integrator.) | If the label format is wrong: "… 'urn:mail:ad@alan' biçiminde olmalı." (… must be in the format 'urn:mail:ad@alan'.); if the series is wrong: "… 3 büyük harf ya da rakam olmalı (ör. KRN)." (… must be 3 uppercase letters or digits (e.g. KRN).) The invoice number is assigned on submission to the integrator, not on finalization. ### Documents ![e-Document Settings — Documents](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-belgeler.png) 1. Document type switches 2. Inbox pull 3. Send on finalize 4. Default scenario — Basic / Commercial | Switch | Description | |---|---| | **e-Fatura** (e-Invoice) | "Kayıtlı mükellefe giden fatura." (Invoice to a registered taxpayer.) | | **e-Arşiv** (e-Archive) | "Kayıtlı olmayan alıcıya ve nihai tüketiciye fatura." (Invoice to an unregistered recipient and to the end consumer.) | | **e-Arşivi e-postayla ilet** (Send e-Archive by email) | "Entegratör alıcıya e-posta gönderir." (The integrator sends an email to the recipient.) (Independent of the installation's SMTP.) On by default. | | **e-İrsaliye** (e-Delivery Note) | "Teslimatta giden irsaliye." (Outgoing delivery note on delivery.) | | **Gelen e-Faturaları çek** (Retrieve incoming e-Invoices) | Invoices in the inbox are taken into **Gelen e-Faturalar** (Incoming e-Invoices). | | **Gelen e-İrsaliyeleri çek** (Retrieve incoming e-Delivery Notes) | Supplier delivery notes are taken into **Gelen e-İrsaliyeler** (Incoming e-Delivery Notes) (matched with the inbound delivery). | | **Gelen kutusu başka yazılımla paylaşılıyor** (Inbox is shared with other software) | "Aynı EDM hesabını eski programınız da çekiyorsa açın: CoreX belgeleri EDM'de okundu işaretlemez ve her turda okunmuşlar dâhil sorar — iki program da her belgeyi alır." (Turn on if your previous software also retrieves from the same EDM account: CoreX does not mark documents as read in EDM and queries including read ones on every run — both programs receive every document.) | | **Dışarıda kesilen giden belgeleri (e-Fatura, e-Arşiv, e-İrsaliye) arşive çek** (Retrieve outgoing documents issued elsewhere (e-Invoice, e-Archive, e-Delivery Note) into the archive) | "EDM portalında ya da eski programda kesilen faturalar Giden e-Faturalar'da, e-İrsaliyeler Giden e-İrsaliyeler'de salt okunur arşiv olarak görünür; cari hesaba, stoğa ve teslimata işlemez." (Invoices issued in the EDM portal or in the previous software appear in Outgoing e-Invoices, and e-Delivery Notes in Outgoing e-Delivery Notes, as a read-only archive; they are not posted to the business partner account, stock or delivery.) | | **Kesinleşince gönder** (Send on finalization) | "Kapalıyken kesinleştirilen fatura ayrı bir "Gönder" onayı bekler (önerilen)." (While off, a finalized invoice waits for a separate "Send" confirmation (recommended).) | | **Varsayılan senaryo** (Default scenario) | **Temel fatura** (Basic invoice) · **Ticari fatura** (Commercial invoice) — "Kayıtlı alıcıya kesilen e-Faturanın senaryosu." (Scenario of the e-Invoice issued to a registered recipient.) For a commercial invoice, the recipient responds with acceptance/rejection. | ### Scheduling ![e-Document Settings — Scheduling](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-zamanlama.png) 1. Inbox poll interval 2. Initial pull start 3. Credit warning threshold 4. Request header | Field | Value | Description | |---|---|---| | **Yoklama aralığı (dk)** (Polling interval, min) | 5–1440, default 15 | "Gelen kutusu 5–1440 dakikada bir çekilir." (The inbox is retrieved every 5–1440 minutes.) | | **İlk çekim başlangıcı** (Initial retrieval start) | Date | "Boşsa ilk açık kayıt döneminin başı; hiç dönem kapatılmadıysa yalnız son 7 gün. Daha eski bir tarih seçmek ilk yüklemeyi o tarihten yeniden başlatır." (If empty, the start of the first open posting period; if no period has ever been closed, only the last 7 days. Selecting an earlier date restarts the initial load from that date.) It is the common start for incoming invoices, incoming e-Delivery Notes and the outgoing archive. | | **Kontör uyarı eşiği** (Credit warning threshold) | 0 or a positive whole number, default 500 | If the remaining credits are below this number, the **Kontör** (Credits) item of the Go-Live list becomes **Uyarı** (Warning). | | Request header › **Kanal adı** (Channel name) | Text | The channel name of requests to the integrator. "Boşsa şirket unvanı gönderilir." (If empty, the company name is sent.) | | Request header › **İşlem nedeni** (Operation reason) | Text | The request's operation reason (default "CoreX ERP e-belge işlemi" — CoreX ERP e-document operation). | | Request header › **Uygulama adı** (Application name) | Read-only | The software's name and version (e.g. "CoreX ERP 4.3.0"). | In the background, the system also updates the GİB registered user list (whether the recipient is an e-Invoice taxpayer) in 15-minute runs and queries the status of sent documents once a minute. These runs work only while e-Document is enabled. ### Status ![e-Document Settings — Status](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-durum.png) 1. Connection state 2. Remaining credits | Row | Description | |---|---| | **Durum** (Status) | "Etkin" (Enabled) / "Kapalı" (Disabled) · selected environment. | | **Bağlantı** (Connection) | "Henüz sınanmadı" (Not tested yet) · "Bağlantı çalışıyor" (Connection working) · "Kimlik reddedildi — ayar değişene kadar yeniden denenmez" (Credentials rejected — not retried until the setting changes) · "Entegratöre ulaşılamadı" (Integrator could not be reached). | | **Son sınama** (Last test) | Time of the last **Bağlantıyı Sına** (Test Connection) and who ran it. | | **Sınama sonucu** (Test result) | The result of the last test. | | **Son başarılı çağrı** (Last successful call) | Time of the last successful call to the integrator. | | **Kalan kontör** (Remaining credits) | The credits last queried and the time. | ### Go-Live The checklist is re-evaluated each time it is opened; **Yeniden denetle** (Re-check) refreshes it manually. The summary reads "Engelleyici madde yok — canlıya geçilebilir." (No blocking items — you can go live.) or "N engelleyici madde var — canlıya geçiş kapalı." (There are N blocking items — go-live is disabled.) Item statuses: **Tamam** (OK), **Uyarı** (Warning), **Engelleyici** (Blocking), **Elle teyit** (Manual confirmation). ![e-Document Settings — Go-live checklist](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-canliya-gecis.png) 1. Blocking items stop go-live 2. Re-check | Group | Item | How it is measured | |---|---|---| | Contract and account | EDM private integrator contract and financial seal | Manual confirmation | | Contract and account | GİB label routing | Manual confirmation (GB/PK labels routed to EDM; the previous integrator does not use the same series) | | Contract and account | Live user and password | Blocking: "e-Belge Ayarları › Bağlantı › Canlı: kullanıcı adı ve parola girilmeli." (e-Document Settings › Connection › Live: the user name and password must be entered.) | | Contract and account | Connection test in the live environment | Blocking: "Canlı kimlikle "Bağlantıyı Sına" henüz başarılı olmadı (ya da kimlik sonradan değişti)." ("Test Connection" with the live credentials has not succeeded yet (or the credentials changed afterwards).) | | Contract and account | Labels and series | Blocking: missing labels and series are listed. | | Contract and account | Credits | Warning: if the remaining credits are below the threshold or have not been queried yet. | | Data | Company profile | Blocking: valid VKN, tax office, province/district. | | Data | Identity and address of customer master records | Warning: number of active customers missing an identity type, VKN/TCKN or province/district — "bu kartlara fatura kesinleşmez" (invoices to these records cannot be finalized). | | Data | UN/ECE codes of units | Warning: active units without a UN/ECE code. | | Data | Exemption and withholding codes | Warning: the current GİB list must be entered; 0% and withholding lines cannot be finalized without a code. | | Data | GİB registered user cache (live) | Warning: in the live environment it fills on the first run (15 min); during that time invoices cannot be finalized. | | Test evidence | Invoice delivered in the test environment | Warning if none. | | Test evidence | Incoming invoice in the test environment | Warning if none. | | Test evidence | Financial advisor approval | Manual confirmation | | Transition | e-Invoice start date | Blocking: "Tanımlı değil — dış platformdan CoreX'e hangi günden geçildiği belirsiz kalır." (Not defined — it remains unclear from which day you moved from the external platform to CoreX.) | | Transition | Stopping issuance on the external platform | Manual confirmation (ban on double issuance) | | Transition | Go-live permission | Number of users with the Activate permission — "yalnız yetkili kişide olmalı" (should be held only by the authorized person). | | Transition | Fallback plan | Manual confirmation: the switch is turned off, pending documents remain in the queue; emergency stop flag. | When **Ortam: Canlı** (Environment: Live) is selected and **Kaydet** (Save) is clicked, the "Canlı ortama geçilsin mi?" (Switch to the live environment?) dialog opens: "Canlı ortamda gönderilen her belge GİB'e gerçek belge olarak gider ve geri alınamaz. Muhasebe programında fatura kesiminin durdurulduğundan ve aynı seri ile etiketin başka bir yerde kullanılmadığından emin olun (çifte fatura yasağı)." (Every document sent in the live environment goes to GİB as a real document and cannot be undone. Make sure invoice issuance has been stopped in the accounting software and that the same series and label are not used elsewhere (ban on double invoicing).) The dialog lists the blocking items under the heading "Canlıya geçmeden kapatılması gerekenler:" (To be resolved before going live:); while there is a blocking item, **Canlıya geç ve kaydet** (Go live and save) is disabled. ## Lifecycle of an outgoing invoice ``` Draft ──Finalize──► Finalized ──(Send on finalization on, or Send to GİB)──► In send queue │ party, scenario, type and totals are FROZEN; │ background worker │ no GİB number yet ▼ │ At integrator (number assigned) │ ┌──────────────────────────┼──────────────────────┐ │ ▼ ▼ ▼ │ Reached recipient (final) Awaiting response (commercial) Could not be sent │ basic invoice, e-Archive ├─► Accepted (schema/data error) │ └─► Rejected └─ e-Archive: Cancelled · numbered but dropped document: Voided · Could not be verified ``` | Status | Meaning | |---|---| | **Taslak** (Draft) | Editable; nothing has been sent to GİB. | | **Kesinleşti** (Finalized) | Party data, channel (e-Invoice / e-Archive), scenario, type and totals are frozen. No GİB number yet — the integrator assigns it on submission. A finalized invoice cannot be edited or deleted. | | **Gönderim kuyruğunda** (In send queue) | The background worker will transmit it to the integrator. | | **Entegratörde** (At integrator) | The integrator received it and assigned a number; the GİB or recipient result is awaited. | | **Alıcıya ulaştı** (Reached recipient) | The final status for a basic invoice and e-Archive. | | **Yanıt bekleniyor** (Awaiting response) | Commercial invoice: the recipient's acceptance/rejection response is awaited (8 days). | | **Kabul edildi** (Accepted) / **Reddedildi** (Rejected) | The recipient's response. | | **Gönderilemedi** (Could not be sent) | Schema, data or envelope error. If it has not received a GİB number, it can be reverted to draft and corrected; if it has, it is resent with the same number. | | **İptal edildi** (Cancelled) | e-Archive cancellation. | | **Geçersiz sayıldı** (Voided) | A document that received a number but was definitively dropped at the integrator and whose resubmission did not succeed is closed with a reason; the source documents are released and a new invoice is issued. | | **Doğrulanamadı** (Could not be verified) | The integrator said "already sent", but the status query cannot find the document. It counts as neither sent nor not sent; it is not resent automatically, and the status is queried on a limited schedule. | A sent e-Invoice cannot be withdrawn: corrections are made with a return invoice, and for e-Archive by cancellation. To create an invoice: [Create an invoice](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma). The **e-Delivery Note** originates from the delivery (**e-İrsaliye Oluştur** (Create e-Delivery Note) on the delivery detail) and is tracked in **Giden e-İrsaliyeler** (Outgoing e-Delivery Notes). **Incoming** invoices and delivery notes are retrieved at the polling interval: **Finans › e-Belge › Gelen e-Faturalar** (Finance › e-Document › Incoming e-Invoices) and **Gelen e-İrsaliyeler** (Incoming e-Delivery Notes). The work counters of the four document families are collected in **Finans › e-Belge › e-Belge Kokpiti** (Finance › e-Document › e-Document Cockpit). ## Recommended setup order 1. **Genel** (General): Environment **Test**, e-Invoice start empty or the planned date. 2. **Bağlantı › Test ortamı** (Connection › Test environment): user name and test sender VKN; **Kaydet** (Save); **Parola gir** (Enter password) › **Parolayı kaydet** (Save password); **Bağlantıyı Sına** (Test Connection). 3. **Etiketler ve Seriler** (Labels and Series) and **Belgeler** (Documents): the test account's labels, series, and the document types to enable. 4. **e-Belge etkin** (e-Document enabled; with the Activate permission) › **Kaydet** (Save); test invoices and the inbox are tried. 5. Once the blocking items in the **Canlıya Geçiş** (Go-Live) list are resolved: credentials in **Bağlantı › Canlı ortamı** (Connection › Live environment), test, **Ortam: Canlı** (Environment: Live) › **Kaydet** (Save) › **Canlıya geç ve kaydet** (Go live and save). Step by step: [Enable e-Document](https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-belgeyi-etkinlestirme). ## Save messages | Message | Reason | |---|---| | e-Belgeyi açmak ya da canlı ortama almak ayrı yetki ister (e-Belge Ayarları · Etkinleştir). (Enabling e-Document or switching to the live environment requires a separate permission (e-Document Settings · Activate).) | No Activate permission. Other fields can be saved without this change. | | e-Belgeyi açmadan önce seçili ortamın parolasını kaydedin. (Save the password of the selected environment before enabling e-Document.) | No password when the switch is turned on. | | e-Belgeyi açmadan önce seçili ortamın kullanıcı adını girin. (Enter the user name of the selected environment before enabling e-Document.) | No user name when the switch is turned on. | | Canlı ortam için kullanıcı adı zorunlu. · Canlı ortam için e-Fatura gönderici etiketi zorunlu. (User name is required for the live environment. · e-Invoice sender label is required for the live environment.) | Missing field in live. | | Canlıda e-Fatura açıkken e-Fatura serisi zorunlu. (e-Invoice series is required while e-Invoice is on in live.) (same for e-Archive, e-Delivery Note) | The enabled document type has no series. | | Gelen kutusu yoklama aralığı 5–1440 dakika olmalı. (The inbox polling interval must be 5–1440 minutes.) | Scheduling field out of range. | | Ayarlar siz düzenlerken başka biri tarafından değiştirildi. Sayfayı yenileyip yeniden deneyin. (The settings were changed by someone else while you were editing. Refresh the page and try again.) | Concurrent save. | ## Related - [Enable e-Document](https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-belgeyi-etkinlestirme) - [Invoicing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) - [Create an invoice](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma) --- # Create an approval template > Define a conditional, multi-stage approval template for a document type — document type, amount or discount condition, approver role, decision rule and escalation. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-sablonu-olusturma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Onay Süreci › Onay Şablonları (Administration › Approval Process › Approval Templates) - **Screen route:** `/erp/approvals/templates` - **Required permission:** `erp-approval-templates.create` - **Prerequisites:** - The approving roles or users hold the document type's approval permission (e.g. erp-sales-quotations.approve for Sales Quotation). - If an amount condition is used, the currency is one of the installation's currencies. An approval template states under which condition a document type goes through which approvers. The template applies to documents submitted for approval after it is saved; approval rounds running at that moment are not affected. ## Steps 1. Open the **Yönetim › Onay Süreci › Onay Şablonları** (Administration › Approval Process › Approval Templates) screen and click **Yeni Şablon** (New Template). If you are creating a template for a single document type, **Şablon Ekle** (Add Template) on that type's card works too. ![Approval Templates — coverage cards and template table](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-sablonlari.png) 1. New Template 2. Document type card — does the type go through approval 3. Condition — amount range / discount threshold 4. Stages are asked in order 5. Active / Inactive 2. Select the **Belge Türü** (Document Type). The selection determines the condition options and approver lists; it cannot be changed after saving. 3. Enter the **Şablon Adı** (Template Name). 4. In the **Hangi belgeler** (Which documents) section, set the condition. For a quotation, check **Yalnız iskontosu belirli bir oranı aşan belgeler** (Only documents whose discount exceeds a given rate) and enter the **İskonto eşiği (%)** (Discount threshold, %). For an amount condition, select **Genel toplam aralıktaysa** (If the grand total is within a range) and enter the **Para Birimi** (Currency) and the lower/upper limit (empty upper limit = and above). 5. Name stage 1; in **Kim onaylar** (Who approves), select the role with **Bir rol** (A role) (or the people with **Belirli kişiler** (Specific people)). The **Karar kuralı** (Decision rule) defaults to '1 onay gerekli, 1 ret belgeyi reddeder' (1 approval required, 1 rejection rejects the document). 6. If you want the stage to escalate when left unanswered, enter the hours and the higher approver role in the **Cevapsız kalırsa** (If unanswered) row. 7. For a second signature, click **Aşama Ekle** (Add Stage) and fill in the same fields. You can change the order of the stages with the arrows. 8. Read the **Özet** (Summary) sentence and the **Akış** (Flow) on the right, then click **Oluştur** (Create). ![New Approval Template — condition, stages, summary and flow](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-sablonu-yeni.png) 1. Document Type — fixed after creation 2. Condition — discount threshold 3. Stage 1 — role or named users, decision rule 4. If unanswered — hours and escalation role 5. Add Stage (max 10) 6. Summary — the rule as a sentence 7. Flow preview **Result:** The template is saved as active and appears in the table; the document type's card reads 'N etkin şablon — onaydan geçer' (N active templates — goes through approval). The submit button of documents matching the condition is now **Onaya Gönder** (Submit for Approval). ## What you need to know - A role without the approval permission is marked "— onay izni yok" (— no approval permission) in the list; if selected, the template is not saved. The people list shows only those who hold the approval permission. - The amount condition has **no currency conversion**: the template applies only to documents in the selected currency. An amount equal to the limits also matches the template. - If several active templates match the same document, the stages of all of them are added to the round in sequence (from the smallest lower limit to the largest). - To pause a template temporarily, edit it and turn off the **Etkin** (Active) switch; deleting does not affect past rounds either. - The person who submits the document for approval cannot approve it. Do not set up a stage whose only approver is the sender. ## Related - [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar) - [Approval flow process](https://erpdocs.corexlogic.com/en/surecler/onay-akisi) --- # Make an approval decision > Open a document awaiting your approval and approve it, or reject it with a reason. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-karari-verme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Onay Süreci › Onayımı Bekleyenler (Administration › Approval Process › Awaiting My Approval) - **Screen route:** `/erp/approvals/pending` - **Required permission:** `Belge türünün onay izni (ör. erp-sales-quotations.approve, erp-procurement-orders.approve)` - **Prerequisites:** - You are an approver of the document's current stage (you hold the role, you are named in the stage, or you are the approver's delegate today). - You did not submit the document for approval yourself (for approval; rejecting is always allowed). The decision is always made on the document's detail page: you sign off while seeing the document's content. The server shows the **Onayla** (Approve) and **Reddet** (Reject) buttons depending on whether you can vote on this stage right now. ## Steps 1. Open the **Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › Awaiting My Approval) screen. The list shows the documents whose turn has come and that are waiting for your decision, the longest-waiting first. The link in the notification also opens the document directly. ![Pending My Approval — the approver’s queue](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-kuyrugu.png) 1. Document — click to open 2. Submitter and date 3. Stage, template and stage name 4. How long the stage has waited 2. Click the number in the **Belge** (Document) column to open the document. The banner at the top shows which stage is waiting, and the **Onaylar** (Approvals) card shows the previous votes. ![Quotation pending approval — current stage and rounds](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onay-bekliyor.png) 1. Decision buttons — server decides (submitter cannot approve) 2. Who it is waiting for 3. Current round — awaiting decision 4. Previous round — rejection and reason kept 3. To approve, click **Onayla** (Approve). The **Onay verilsin mi?** (Approve?) dialog shows the document and its amount; optionally enter a **Not (isteğe bağlı)** (Note, optional) and confirm with **Onayla** (Approve) in the dialog. ![Approve confirmation — optional note](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-ver.png) 1. Document and amount being approved 2. Note — saved with the approval 3. Approve — last stage moves the document on 4. To reject, click **Reddet** (Reject), enter the **Red gerekçesi** (Rejection reason) and confirm with **Reddet** (Reject) in the dialog. ![Reject confirmation — reason required](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-reddet.png) 1. Rejection reason — sent to the submitter 2. Reject — document returns to draft at the threshold **Result:** Your vote is recorded in the stage and appears on the **Onaylar** (Approvals) card with your name, decision, time and note (e.g. "Demo Onaylayıcı · Onayladı · 02.11.2026 01:13"). With the final approval, the document moves to its next status (e.g. Gönderildi (Sent) for a quotation) and a notification is sent to the sender; on rejection it returns to draft. Demo example: Demo Kullanıcı submitted ST-2026-000005 for approval; **Demo Onaylayıcı** (Administrator) opened it from **Onayımı Bekleyenler** (Awaiting My Approval) and approved it with a note, and the quotation became **Gönderildi** (Sent). ![Approved quotation — Sent, round closed](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onaylandi.png) 1. Sent automatically on final approval 2. Can now be converted to an order 3. Vote: approver, decision, time 4. Approval note ## What you need to know - If **you** submitted the document for approval, only **Reddet** (Reject) is shown (segregation of duties). For a sales quotation, the quotation's sales representative cannot approve either. - You vote once in a stage. If the stage requires several approvals ("2 onay gerekli" — 2 approvals required), the document waits for the other approvers; the card shows "Karar bekleniyor — 1/2 onay" (Decision pending — 1/2 approvals). - If you vote as a delegate, the dialog states on whose behalf you are voting; the vote counts as the approver's and appears in the trail as "(… adına)" (on behalf of …). - A vote cast by escalation (with the higher approver role) appears in the trail as "(eskalasyonla)" (by escalation). - There is no bulk approval. On a phone, the same decision is made from the mobile **Onaylarım** (My Approvals) screen. ## Related - [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar) - [Approval flow process](https://erpdocs.corexlogic.com/en/surecler/onay-akisi) --- # Define an approval delegation > Define, with a date range, a delegate who votes on behalf of an approver during leave or absence. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-vekaleti-tanimlama - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Onay Süreci › Onay Vekaletleri (Administration › Approval Process › Approval Delegations) - **Screen route:** `/erp/approvals/delegations` - **Required permission:** `Bir belge türünün onay izni (kendi vekaletiniz) · erp-approval-templates.edit (başka onaycı için)` - **Prerequisites:** - The delegate holds the approval permission for the delegated document types themselves. A delegation does not grant permissions; it only extends the answer to "who can vote": the delegate must still hold the document type's approval permission, and a document the approver cannot approve (e.g. one the approver submitted themselves) cannot be approved by the delegate either. ## Steps 1. Open the **Yönetim › Onay Süreci › Onay Vekaletleri** (Administration › Approval Process › Approval Delegations) screen and click **Yeni Vekalet** (New Delegation). ![Approval Delegations](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-vekaletleri.png) 1. New Delegation 2. Manager: everyone’s delegations 3. Show ended delegations 4. Validity — both days inclusive 2. If you are an administrator, select **Kendim** (Myself) in the **Onaycı** (Approver) field, or the approver for whom you are assigning a delegate (other users do not see this field). 3. Select the **Belge Türü** (Document Type), or leave **Bütün belge türleri** (All document types). 4. Select the **Vekil** (Delegate) — the list contains users with approval permission. 5. Enter the start and end days in **Tarih aralığı** (Date range; both days inclusive, at most 366 days); optionally enter a **Not** (Note) and click **Oluştur** (Create). ![New Approval Delegation dialog](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-vekaleti-yeni.png) 1. Approver — myself or (manager) another approver 2. Document type or all types 3. Substitute — a user with approval permission 4. Date range — up to 366 days 5. Note **Result:** The delegation appears in the list with the status **Başlamadı** (Not started) or **Geçerli** (Valid). Within the date range, the delegate sees the approver's pending stages in Onayımı Bekleyenler (Awaiting My Approval) with the '… adına' (on behalf of …) note and votes on the approver's behalf. ## What you need to know - A second delegation cannot be created for the same approver on the same dates ("… için … bu tarihlerde zaten vekil." — … is already the delegate for … on these dates.). - A person casts a single vote in a stage: the delegate cannot cast two votes in the same stage, one on their own behalf and one on the approver's; if a vote was cast on the approver's behalf, the approver cannot vote separately in that stage either. - The approver or an administrator removes the delegation with **Kaldır** (Remove) in the row's Actions menu; votes already cast remain in the trail. - Reminders and "Onayınız bekleniyor" (Your approval is awaited) notifications are also sent to the delegate. ## Related - [Approvals — Approval Delegations](https://erpdocs.corexlogic.com/en/ayarlar/onaylar#onay-vekaletleri) --- # Enable an alert and set its threshold > Enable a scheduled alert that starts disabled (e.g. Pending approval reminder), set its threshold in hours or days, and save. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/uyari-acma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi › Uyarılar (Administration › Customization › General › Alert and Notification Management › Alerts) - **Screen route:** `/alerts` - **Required permission:** `alerts.edit` - **Prerequisites:** - The alert's recipients (e.g. the stage's approvers) are defined in the system. Alerts are defined in the system and all of them start disabled. An alert you enable is checked once an hour; the same finding is not notified repeatedly (at the frequency stated in the alert's description: once a day, once a week, or once). ## Steps 1. Open the **Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi** (Administration › Customization › General › Alert and Notification Management) screen; the **Uyarılar** (Alerts) tab opens. ![Alert and Notification Management — Alerts tab](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/uyarilar.png) 1. Scheduled alerts 2. Document event notification rules 3. On / Off — all start off 4. Threshold — hours or days; empty = default 5. Recipient and channel 6. Run Now — without waiting for the hourly run 2. Find the alert with the **Ara** (Search) box (e.g. 'onay') and set the switch on the row to **Açık** (On). 3. Enter the number in the **Eşik** (Threshold) box and select **saat** (hours) or **gün** (days) from the list next to it. If left empty, the default threshold applies. 4. Click **Kaydet (N)** (Save (N)) in the toolbar. **Geri Al** (Undo) discards unsaved changes. **Result:** The alert is enabled and checked in the hourly run; if there is a finding, a notification is sent to the people in the **Kime gider** (Sent to) column. The **Son çalışma** (Last run) column fills after the next run. ## What you need to know - The threshold is a whole number; at least 1 hour, at most 30 days (720 hours). An invalid threshold is reported on the row ("Eşik tam sayı ve sıfırdan büyük olmalı." — The threshold must be a whole number greater than zero., "Eşik en çok 30 gün (720 saat) olabilir." — The threshold can be at most 30 days (720 hours).) and nothing is saved. - Changing only the unit does not count as a change (48 hours = 2 days). - **Şimdi Çalıştır** (Run Now) tries the enabled alerts immediately and produces real notifications; use it to send findings immediately, not just to test the setting. - A person can turn off this notification or change its channel in **Profil › Bildirim Tercihleri** (Profile › Notification Preferences). ## Related - [Alerts and notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) --- # Create a notification rule > Define to whom, under which condition and through which channel a notification is sent on a document event (e.g. the goods issue of an outbound delivery). URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-kurali-olusturma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi › Bildirim Kuralları (Administration › Customization › General › Alert and Notification Management › Notification Rules) - **Screen route:** `/alerts?sekme=kurallar` - **Required permission:** `alerts.edit` - **Prerequisites:** - The recipient roles or users are defined; the recipient has permission to view the document (otherwise no notification is sent). A notification rule lets a document event notify people through the installation's own rule instead of a notification hard-coded in the software. If several rules notify the same person of the same event, the person receives a single notification. ## Steps 1. On the **Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi** (Administration › Customization › General › Alert and Notification Management) screen, switch to the **Bildirim Kuralları** (Notification Rules) tab and click **Yeni Kural** (New Rule). ![Notification Rules tab](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-kurallari.png) 1. New Rule 2. Document and event 3. Responsibility, role, user 4. In-app / in-app + e-mail 2. **1 · Ne olunca** (When): enter the **Kural adı** (Rule name), and select the **Belge** (Document) and the **Olay** (Event). 3. **2 · Kime** (To whom): check the **Belgenin sorumlusu** (Document owner) boxes (e.g. **Siparişin satış temsilcisi** — The order's sales representative); if necessary, add roles from **Roller** (Roles) and users from **Kişiler** (People). 4. **3 · Hangi koşulda** (Under which condition): to narrow the notification to specific values (e.g. **Depo** (Warehouse)), check those values. If none is selected, it applies to every value. 5. **4 · Nasıl** (How): if you also want email, check **E-posta da gönder (uygulama bildirimine ek olarak)** (Also send email, in addition to the application notification); **Değişikliği yapan kişiye gönderme** (Do not send to the person who made the change) is on by default. Read the **Özet** (Summary) on the right and click **Oluştur** (Create). ![New Notification Rule — when, who, condition, how](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-kurali-yeni.png) 1. 1 · Document 2. Event 3. 2 · Who — responsibility, role, user 4. 3 · Condition — warehouse 5. 4 · How — e-mail, exclude actor, active 6. Summary **Result:** The rule appears in the table as **Aktif** (Active). Each time the event is recorded, a notification is sent to the recipients; the rule is added under its own name to people's **Bildirim Tercihleri** (Notification Preferences) list. ## What you need to know - When the document changes, the event, responsibility and condition are reset; roles and people are kept. - "En az bir alıcı seçin — sorumluluk, rol ya da kullanıcı." (Select at least one recipient — responsibility, role or user.) — a rule without recipients is not saved. - The channel selected here is the **default** that applies if the person has no preference; the person can change their own preference. - To pause the rule temporarily, set it to **Kural pasif** (Rule inactive) instead of deleting it: deleting also deletes people's preferences for this rule. - Approval and time alerts do not come from this tab but from **Onay Şablonları** (Approval Templates) and the **Uyarılar** (Alerts) tab. ## Related - [Alerts and notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) --- # Choose a notification preference > Choose the channel (application only, email, daily digest or off) for each notification type you receive. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/bildirim-tercihi-secme - **Type:** Task - **Module:** Administration - **Menu path:** Profil › Bildirim Tercihleri (Profile › Notification Preferences) - **Screen route:** `/profile?sekme=bildirimler` - **Required permission:** `Oturum açmış her kullanıcı (izin gerekmez)` - **Prerequisites:** - For email and daily digest, the installation's email server (SMTP) is defined. The administrator sets the default channel of the rule or notification type; you choose your own channel. "Varsayılan" (Default) follows the channel of the rule or type; the daily digest collects that day's notifications into a single email in the morning. ## Steps 1. Open **Profil** (Profile) from the user menu at the top right and switch to the **Bildirim Tercihleri** (Notification Preferences) tab. ![Profile › Notification Preferences](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/bildirim-tercihleri.png) 1. Notification Preferences tab 2. Device notification 3. No SMTP — no e-mail or digest 4. Your choice per notification 5. Save Preferences 2. Find the notification in the table and select the channel in the **Tercihiniz** (Your preference) column: **Varsayılan (…)** (Default (…)), **Yalnız uygulama** (Application only), **Uygulama + e-posta** (Application + email), **Uygulama + günlük özet** (Application + daily digest), **Kapalı** (Off). 3. Click **Tercihleri Kaydet** (Save Preferences). **Result:** The channel you selected applies to this notification type; at the bottom it reads 'N bildirimde kendi seçiminiz var' (You have your own choice for N notifications). ## What you need to know - **Tümünü Varsayılana Döndür** (Reset All to Default) removes your own choices (takes effect when saved); **Vazgeç** (Cancel) discards unsaved changes. - If no email server is defined, the card says "E-posta sunucusu tanımlı değil — e-posta ve günlük özet gitmez, bildirim uygulamada görünür." (No email server is defined — email and daily digest are not sent, the notification appears in the application.) - For phone or browser notifications, turn on **Bu cihaza bildirim gönder** (Send notifications to this device) in the **Cihaz Bildirimi** (Device Notification) card at the top of the same tab; disabled and daily-digest types are not sent to the device. ## Related - [Alerts and notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler) --- # Define the email server (SMTP) > Enter the installation's SMTP server, save the password separately and test it with a test email. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-posta-sunucusu-tanimlama - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › E-posta Ayarları (Administration › Customization › General › Email Settings) - **Screen route:** `/email-settings` - **Required permission:** `email-settings.edit` - **Prerequisites:** - Your email provider's SMTP server name, port, security type and sending account (user name and password, or an internal relay without authentication). Each installation uses its own SMTP server. If there is a record on this screen, it applies; if the server field is saved empty, email is turned off. ## Steps 1. Open the **Yönetim › Özelleştirme › Genel › E-posta Ayarları** (Administration › Customization › General › Email Settings) screen. If the badge shows **Gönderim kapalı** (Sending off), no server is defined. ![E-mail Settings — SMTP server](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-posta-ayarlari.png) 1. Status and settings source 2. Server — empty = e-mail off 3. Connection security — suggests the port 4. User name — empty = relay without auth 5. Sender address and name 6. Test — with saved settings 2. Enter the SMTP server's name in the **Sunucu** (Server) field. 3. Select the **Bağlantı güvenliği** (Connection security); the **Port** is suggested with its usual value (STARTTLS 587, SSL/TLS 465). If your provider specifies a different port, correct it. 4. If authentication is used, enter the **Kullanıcı adı** (User name); enter the **Gönderen adresi** (Sender address) and **Gönderen adı** (Sender name), then click **Kaydet** (Save). 5. In the **Parola** (Password) panel, click **Parola gir** (Enter password), type the password and click **Parolayı kaydet** (Save password). The password is not sent with the form and never comes back to the screen. 6. In the **Deneme gönderimi** (Test send) panel, enter the recipient (if empty, your own address) and click **Deneme e-postası gönder** (Send test email). **Result:** Email is turned on: notification emails, the daily digest, invitations and password resets, and document emails are sent from this server. Pending notification emails are sent from the Gönderim Kuyruğu (Send Queue) on the next attempt. ## What you need to know - The test always uses the **saved** setting: the button is disabled while there are unsaved changes. - The test does not go through the queue; the error is shown as is ("E-posta gönderilemedi: …" — Email could not be sent: …). The most common causes: port and security type do not match, wrong password, the provider requires an app password. - To remove the password, use **Parolayı kaldır** (Remove password). If the saved password cannot be decrypted ("Kayıtlı SMTP parolası çözülemedi; parolayı yeniden girin." — The saved SMTP password could not be decrypted; re-enter the password.), enter it again. - Notification emails that could not be sent return to the queue with **Yeniden dene** (Retry) in **Yönetim › İzleme › Gönderim Kuyruğu** (Administration › Monitoring › Send Queue). ## Related - [Email settings (SMTP)](https://erpdocs.corexlogic.com/en/ayarlar/e-posta-smtp) --- # Enable e-Document in the Test environment > Set up the EDM integrator connection in the Test environment — user name, password, connection test, labels and series, document switches and the main switch. URL: https://erpdocs.corexlogic.com/en/ayarlar/islemler/e-belgeyi-etkinlestirme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Finans › e-Belge Ayarları (Administration › Customization › Finance › e-Document Settings) - **Screen route:** `/erp/edocuments/settings` - **Required permission:** `erp-edocuments-settings.edit`, `erp-edocuments-settings.activate (ana şalteri açmak için)` - **Prerequisites:** - The integrator's Test account (user name, password) and the test VKN (tax ID) of that account. - A valid VKN, tax office and province/district in Şirket Bilgileri (Company Information). This task is performed with a real integrator account and requires the organization's credentials; only an authorized person performs it. A document sent in the Test environment does not go to GİB as a real document and does not consume the live series. ## Steps 1. Open the **Yönetim › Özelleştirme › Finans › e-Belge Ayarları** (Administration › Customization › Finance › e-Document Settings) screen. On the **Genel** (General) tab, verify that **Ortam** (Environment) is **Test**. ![e-Document Settings — General](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-genel.png) 1. Seven tabs 2. Main switch — enabling needs Activate 3. Environment — Test / Live 4. Integrator 5. e-Invoice start date 2. On the **Bağlantı** (Connection) tab, in the **Test ortamı** (Test environment) section, enter the **Kullanıcı adı** (User name) and the **Test göndereni VKN** (Test sender tax ID), then click **Kaydet** (Save) at the bottom of the panel. ![e-Document Settings — Connection](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-baglanti.png) 1. Separate credentials per environment 2. Service URLs (https) 3. User name 4. Test only: sender tax no. 5. Password saved separately, never shown 3. In the same section, click **Parola gir** (Enter password), type the password and click **Parolayı kaydet** (Save password). 4. Click **Bağlantıyı Sına** (Test Connection). The result is shown below the row; the connection and remaining credits appear on the **Durum** (Status) tab. 5. On the **Etiketler ve Seriler** (Labels and Series) tab, enter the GB/PK labels and the series; on the **Belgeler** (Documents) tab, the document types to enable; then **Kaydet** (Save). ![e-Document Settings — Aliases and Series](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/e-belge-etiketler.png) 1. GIB sender aliases (GB) 2. Mailbox alias (PK) 3. Series — 3 letters/digits 6. On the **Genel** (General) tab, turn on the **e-Belge etkin** (e-Document enabled) switch and click **Kaydet** (Save). **Result:** e-Document is enabled in the Test environment: finalized invoices go to the integrator's test account, and the inbox is retrieved at the polling interval. To go live, resolve the blocking items on the **Canlıya Geçiş** (Go-Live) tab. ## What you need to know - Turning on the main switch and switching to **Canlı** (Live) requires the **Etkinleştir** (Activate) permission; without it, fields other than this change can still be saved ("Açmak ya da canlıya almak "Etkinleştir" yetkisi ister; bu değişiklik olmadan kaydedebilirsiniz." — Enabling or going live requires the "Activate" permission; you can save without this change.). - **Bağlantıyı Sına** (Test Connection) works with the saved setting; save first. - If the installation is a test installation, Live cannot be selected and the live password is not saved — the server says "Bu kurulumda canlı e-Belge ortamı kapalı (EDocuments__LiveAllowed=false): test ortamı canlı entegratöre bağlanmaz." (The live e-Document environment is disabled in this installation (EDocuments__LiveAllowed=false): a test environment does not connect to the live integrator.) - When going live, the confirmation dialog lists the blocking items; while there is an item, **Canlıya geç ve kaydet** (Go live and save) is disabled. ## Related - [e-Document settings](https://erpdocs.corexlogic.com/en/ayarlar/e-belge) --- # Get to know the interface > Common use of the CoreX ERP menu, screen tabs, list screens, table settings and document forms. URL: https://erpdocs.corexlogic.com/en/baslarken/arayuz All CoreX ERP screens follow the same layout. The menu, list and form usage described on this page applies to every module. ![Home — menu, tabs and pending work](https://erpdocs.corexlogic.com/en/en/img/screens/genel/ana-sayfa.png) 1. Main menu — modules and screens 2. Screen and document search 3. Pending work — approvals and drafts 4. My modules — quick access to screens ## Top menu and screen search The menu at the top of the screen is divided into modules: **Satış** (Sales), **Satın Alma** (Purchasing), **Stok Yönetimi** (Inventory Management), **Lojistik Yönetimi** (Logistics Management), **Üretim** (Production), **Ana Veriler** (Master Data), **Finans** (Finance), **Bakım** (Maintenance), **Servis** (Service) and **Yönetim** (Administration). Hovering over a module opens its sections and screens. - The menu shows only the **modules enabled in your installation** and the **screens you are authorized for**. - The **Ekran ara…** (Search screens…) box at the top right (shortcut **Ctrl K**) finds a screen by name. You can type with or without Turkish characters: typing "siparis" finds "Satış Siparişleri" (Sales Orders). - The bell icon shows your notifications. Clicking a notification opens the related document. ## Screen tabs Every screen you open becomes a **tab** in the strip below the menu. Screens keep their state while you switch between tabs: you can go back from a sales order's details to the list and look at another sales order. To close a tab, click the **×** next to it. ## List screens Screens that list records (sales orders, quotations, products, customer/vendor accounts…) consist of the same parts: ![List screen — filters, columns and paging](https://erpdocs.corexlogic.com/en/en/img/screens/genel/liste-ekrani.png) 1. New record 2. Search and filters 3. Show / hide columns 4. Click a header to sort; drag its edge to resize 5. Click the document number to open it | Part | Purpose | |---|---| | **Title** | The name of the screen; to its right, the refresh and new record buttons. | | **Filter bar** | Search box and frequently used filters (status, customer, date range…). When a filter is set, "filtreli" (filtered) appears next to the record count and a button for clearing the filters is displayed. | | **Table** | The records. Clicking a row opens the record. | | **Actions** | The menu at the end of the row: open the record, edit it, view its history and screen-specific actions. Actions that delete data or cannot be undone are shown in red at the bottom of the menu. | | **Pagination** | Below the table: which records are displayed, the number of records per page and the pages. | Filters are written to the address bar. When you send the URL of a filtered list to a colleague, they see the same list. ### Customizing the table The table layout is **personal** and stored on the server: you see the same layout when you sign in from another computer. - **Column width:** Drag the separator between two columns in the header with the mouse. - **Fit column to content:** **Double-click** the separator. The column widens or narrows to fit its header and the longest value on the page (as in Excel). - **Column menu:** From the menu on a column with a text header, you can **sort ascending / descending**, **pin to the left or right** and **move left / right**. - **Show / hide columns:** Use the **Kolonlar** (Columns) button at the top right of the table. **Varsayılan düzene dön** (Reset to default layout) in the same menu deletes all your settings and restores the table to its original state. > **Sorting** In paginated lists, sorting is performed on the server, so it sorts all records, not only the visible page. The menu of a column that cannot be sorted does not offer a sort option. ## Document forms {#belge-formları} Documents such as quotations, sales orders and requisitions use the same form layout. | Part | Purpose | |---|---| | **Toolbar** | **Kaydet** (Save; shortcut **Ctrl+S**), **Kontrol Et** (Check; validates without saving) and **Kalem Ekle** (Add Item). | | **Header strip** | The document's identity: document type, business partner (customer or supplier) and date. | | **Header tabs** | **Teslimat ve Ödeme** (Delivery and Payment) · **Koşullar** (Conditions) · **Metinler** (Texts) · **Adres** (Address) · **Organizasyon** (Organization). The name of a tab that contains an invalid field is shown in red. | | **Kalemler** (Items) | A spreadsheet-like table. A new document opens with 5 empty rows, and there is always one empty row at the end; empty rows are not saved. | | **Status bar** | At the bottom of the form: saving, number of errors, check result or an unsaved changes warning. | ### Value help: selecting by code or name In business partner and product fields, type the code or name and press **Enter**: matching records open in a list; select one with the arrow keys and press **Enter** again. The **magnifier** at the end of the field or the **F4** key opens a **selection dialog** with the text you typed; in the dialog, a single click on a row selects it. When you select a product on an item line, the cursor moves to the quantity; pressing **Enter** in the quantity moves down to the product field of the next line. This way you can enter a document without leaving the keyboard. ### Leaving without saving When you try to leave a screen with unsaved changes, a dialog opens: - **Sayfada kal** (Stay on page) — returns to the form. - **Taslak olarak kaydet ve ayrıl** (Save as draft and leave) — saves the document as a draft; if saving fails, you stay on the page. - **Değişiklikleri sil ve ayrıl** (Discard changes and leave) — the changes are lost. ## Authorizations The screens and buttons you see are rendered according to the permissions of your role. If you cannot see a button, your role does not have the permission for that action; contact your system administrator. The permission required for a screen is shown at the top of each screen page. --- # Logistics Management > Logistics Management module — outbound and inbound deliveries, picking and packing, e-Delivery Note, transportation (shipments), carriers and tenders, freight, fleet. URL: https://erpdocs.corexlogic.com/en/lojistik Logistics Management manages how goods leave the building and travel to their destination: the **outbound delivery** created from an approved sales order, **picking** and **packing** in the warehouse, the **shipment** (transportation document) on which the goods are loaded onto a vehicle, our own fleet or a **carrier**, the **events** recorded on the road, the **proof of delivery** signed by the customer and the **freight** payable to the carrier. The notification of goods coming from a supplier (**inbound delivery**) is also part of this module. For the end-to-end flow, see [Shipment planning](https://erpdocs.corexlogic.com/en/surecler/sevkiyat-planlama). The basics of delivery and goods issue from a sales order are described in the Sales section: [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat), [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya). ## Key concepts | Concept | Meaning | |---|---| | **Outbound delivery** (SV-…) | The document for goods issued from a sales order. It is created as **Açık** (Open) (stock is not reduced); when the **goods issue** is posted, stock is reduced and the document can no longer be changed. | | **Picking** | Moving the goods from the storage bin to the shipping staging area. It is performed with the waves and warehouse tasks of Inventory Management; on the delivery it appears as **Toplanmadı · Kısmen toplandı · Toplandı** (Not picked · Partially picked · Picked). | | **Handling unit** (TB-…) | Carton, pallet, crate… Delivery items are packed into a unit, and the unit's label is printed. | | **Shipment / transportation document** (TSM-…) | The trip of one vehicle. It is executed by **Kendi filomuz** (Our own fleet) or a **Taşıyıcı** (Carrier); deliveries are in stop sequence. Statuses: **Planlandı → Yolda → Tamamlandı** (Planned → In Transit → Completed), or **İptal Edildi** (Cancelled). | | **Carrier** | A company from which we purchase transportation — the logistics profile of a supplier card. | | **Freight agreement** | The tariff of a carrier (purchasing) or a customer (sales): per shipment, km, kg, m³, pallet or stop, with tiers. | | **Freight settlement** (NHS-…) | The freight for a carrier's completed shipments in a single document; the carrier's invoice is matched against it. | | **Proof of delivery** | The delivery date, the recipient and the accepted quantity on the signed delivery note. | | **Transport order** (NKS-…) | The order of a customer to whom we sell transportation as a service. | | **Inbound delivery** | The notification of goods sent by a supplier; the goods receipt is posted from this delivery. | ## Tasks - [Define a carrier](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama) — Carrier profile on a supplier card. - [Define a vehicle](https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama) — License plate, capacity, ownership, document validity. - [Define a driver](https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama) — Our own driver or a carrier's driver. - [Create a freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma) — Tiered carrier or customer tariff. - [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama) — Waves and picking tasks from an open delivery. - [Pack a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma) — Handling unit (carton, pallet) and label. - [Create a transportation document](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) — Shipment: executor, plan, deliveries. - [Create shipments with load planning](https://erpdocs.corexlogic.com/en/lojistik/islemler/yuk-planlama-ile-sefer-olusturma) — A proposal that distributes deliveries without a shipment across vehicles. - [Select the carrier for a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) — Ranking by tariff, assignment, freight. - [Open a carrier tender](https://erpdocs.corexlogic.com/en/lojistik/islemler/ihale-acma) — Collecting bids and deciding. - [Dispatch a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma) — Departure of a planned shipment. - [Record a shipment event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme) — Loading, arrival, delivery, delay, issue. - [Complete a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama) — Arrival and closing of the shipment. - [Record proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme) — Signed delivery note and accepted quantity. - [Create a freight settlement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma) — The freight of a carrier's shipments in a single document. - [Create a transport order](https://erpdocs.corexlogic.com/en/lojistik/islemler/nakliye-siparisi-olusturma) — Transportation service sold to a customer. - [Add a fleet record](https://erpdocs.corexlogic.com/en/lojistik/islemler/filo-kaydi-ekleme) — Odometer, fuel, expense. - [Create a delivery correction](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma) — Reversing an incorrect goods issue. - [Create an inbound delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/gelen-teslimat-olusturma) — The supplier's shipping notification. ## Menu map | Section | Screen | Description | |---|---|---| | Giden Teslimat (Outbound Delivery) | Teslimatlar · Giden Teslimat Oluştur (Deliveries · Create Outbound Delivery) | [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) · [Picking, packing and proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/toplama-paketleme-teyit) | | Giden Teslimat (Outbound Delivery) | Giden e-İrsaliyeler (Outgoing e-Delivery Notes) | [Outgoing e-Delivery Notes](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/giden-e-irsaliyeler) | | Giden Teslimat (Outbound Delivery) | Teslimat Düzeltmeleri (Delivery Corrections) | [Delivery corrections](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-duzeltmeleri) | | Giden Teslimat (Outbound Delivery) | Teslimat İzleme (Delivery Monitor) | [Delivery monitor](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-izleme) | | Gelen Teslimat (Inbound Delivery) | Gelen Teslimatlar · Gelen Teslimat Oluştur (Inbound Deliveries · Create Inbound Delivery) | [Inbound deliveries](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-teslimatlar) | | Gelen Teslimat (Inbound Delivery) | Gelen e-İrsaliyeler (Incoming e-Delivery Notes) | [Incoming e-Delivery Notes](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-e-irsaliyeler) | | Taşıma (Transportation) | Taşıma Belgeleri · Taşıma Belgesi Oluştur (Transportation Documents · Create Transportation Document) | [Transportation documents](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) | | Taşıma (Transportation) | Yük Planlama (Load Planning) | [Load planning](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama) | | Taşıma (Transportation) | Navlun Hesaplaşmaları · Navlun Hesaplaşması Oluştur (Freight Settlements · Create Freight Settlement) | [Freight settlements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-hesaplasmalari) | | Taşıma (Transportation) | Nakliye Siparişleri · Nakliye Siparişi Oluştur (Transport Orders · Create Transport Order) | [Transport orders](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/nakliye-siparisleri) | | Taşıma (Transportation) | Taşıyıcı Seçimi ve İhale (Carrier Selection and Tendering) | [Carrier selection and tendering](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyici-secimi-ve-ihale) | | Filo (Fleet) | Araçlar · Sürücüler (Vehicles · Drivers) | [Vehicles and drivers](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/araclar-ve-suruculer) | | Filo (Fleet) | Filo İşletimi (Fleet Operations) | [Fleet operations](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi) | | Ana Veriler (Master Data) | Taşıyıcılar (Carriers) | [Carriers](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyicilar) | | Ana Veriler (Master Data) | Navlun Anlaşmaları (Freight Agreements) | [Freight agreements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari) | | Analitik (Analytics) | Teslimat Özeti · Araç Maliyeti · Zamanında-Tam Teslim · Navlun Maliyeti · Filo Kullanımı (Delivery Summary · Vehicle Cost · On-Time In-Full · Freight Cost · Fleet Utilization) | [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) | Picking is performed with the **Depo Yürütme › Dalgalar** (Warehouse Execution › Waves) and **Depo Görevleri** (Warehouse Tasks) screens in the Inventory Management menu; their use with a delivery is described on the [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama) page. ## How the documents are linked ``` Sales order (Approved) └─► Outbound delivery SV-… (Open) ──► Wave DLG-… ─► Warehouse task DG-… (picking) │ └─► Handling unit TB-… (packing) ├─► Transportation document TSM-… (Planned → In Transit → Completed) │ ├─ Events: Loaded · Departed · Arrived · Delivered · Delay · Issue │ └─ Freight (from the carrier agreement) ─► Freight settlement NHS-… ├─► Goods issue (stock is reduced) ─► e-Delivery Note / delivery note printout └─► Proof of delivery ─► invoice ``` The delivery details show the number and status of the linked shipment, the shipment details show the links to its deliveries, and the freight card shows the link to the settlement. ## Permissions The permission for each screen is listed in the summary of its own page. Every place that shows a freight amount (the freight card, the carrier ranking, freight agreements, the Navlun Maliyeti (Freight Cost) report) requires `erp-logistics-freight-agreements.view`; fleet cost (Filo İşletimi (Fleet Operations), Araç Maliyeti (Vehicle Cost)) requires `erp-logistics-fleet-costs.view` — these are not part of the read permission. --- # Picking, packing and proof of delivery > In the outbound delivery details — picking status, handling units and their labels, the linked shipment and proof of delivery. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/toplama-paketleme-teyit The delivery list, open deliveries and goods issue are described on the [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) page. This page describes the logistics sections of the delivery details: the **picking** status, the **Paketleme** (Packing) card, the **Sefer** (Shipment) information and the **Alındı Teyidi** (Proof of Delivery) card. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar › teslimat detayı (Logistics Management › Outbound Delivery › Deliveries › delivery details) - **Screen route:** `/erp/sales/shipments/{id}` - **Required permission:** `erp-sales-shipments.view (görme) · .create (paketleme, mal çıkışı, iptal)`, `erp-logistics-proof-of-delivery.create (alındı teyidi)`, `erp-logistics-transports.view (bağlı seferin gösterimi)` ## Statuses in the delivery header ![Open delivery — picked and packed](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/acik-teslimat-paketlendi.png) 1. Picking status 2. Packing status 3. Picked quantity per item 4. New handling unit (carton, pallet…) 5. Handling unit labels (PDF) In the header, next to the delivery status (**Açık · Mal Çıkışı Kaydedildi · İptal Edildi** (Open · Goods Issue Posted · Cancelled)), an open delivery shows two progress statuses: | Status | Values | Where it comes from | |---|---|---| | Picking | **Toplanmadı · Kısmen toplandı · Toplandı** (Not picked · Partially picked · Picked) | From the stock allocated to the sales order item in the delivery warehouse (goods picked or produced for the item). The **Toplanan** (Picked) column in the items table. | | Packing | **Paketlenmedi · Kısmen paketlendi · Paketlendi** (Not packed · Partially packed · Packed) | From the quantity placed in handling units. | On a delivery whose customer requires proof of delivery, **Teyit bekleniyor** (Awaiting confirmation) appears in the header after the goods issue. Picking is performed with the waves and warehouse tasks of Inventory Management: [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama). On the goods issue form of a fully picked delivery, the allocations are filled in automatically with the picked goods (bin, status, lot), and the top of the form shows *"Teslimat toplandı — toplanan mal dağılımlara yazıldı; gerekirse değiştirebilirsiniz."* (The delivery has been picked — the picked goods have been entered in the allocations; you can change them if necessary.) ## Packing card The card header shows the packing status, the number of handling units and the total gross weight. There are two tables: - **Packed per item:** Ürün (Product), Teslimat (Delivery), Paketlenen (Packed), Kalan (Remaining). - **Handling units:** Birim (Unit) (TB-…), Kap Cinsi (Package Type), Ambalaj (Packaging), İçerik (Content), Dara (Tare), Brüt Ağırlık (Gross Weight), Hacim (Volume) and the **İşlemler** (Actions) menu (**Etiket Yazdır** (Print Label), **Paketi Aç** (Unpack)). | Button | What it does | |---|---| | **Taşıma Birimi Oluştur** (Create Handling Unit) | Only on an open delivery. Opens the new unit window. | | **Etiketleri Yazdır** (Print Labels) | Downloads the labels of all units as a PDF. | | **Paketi Aç** (Unpack) (row menu) | Deletes the unit; the items in it become unpacked, and the units in it move up one level. Only on an open delivery. | ![Create Handling Unit dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-birimi-olustur.png) 1. Package type — required 2. Packaging item — optional, not issued from stock 3. Tare weight 4. Puts the unpacked remainder into this unit 5. Create The **Taşıma Birimi Oluştur** (Create Handling Unit) window: | Field | Description | |---|---| | **Kap Cinsi** (Package Type) (required) | UN/ECE Rec 21 list: Karton (Carton) (CT), Kutu (Box) (BX), Paket (Packet) (PK), Palet (Pallet) (PX), Konteyner (Container) (CN), Kasa (Crate) (CR), Torba (Bag) (BG), Çuval (Sack) (SA), Varil (Drum) (DR), Balya (Bale) (BL), Rulo (Roll) (RO), Ambalajsız (Unpacked) (NE). The default is Karton (Carton). | | **Ambalaj Ürünü** (Packaging Item) | Optional. It is not deducted from stock; it indicates what the goods are packed with and the tare. | | **Dara (kg)** (Tare (kg)) | If empty, the weight of the packaging item, or unknown. Between 0 and 100,000 kg. | | **Not** (Note) | Up to 256 characters. | | **İçerik** (Content) | The **Bu Birime** (In This Unit) quantity per item (cannot exceed the remaining quantity). **Kalanın Tamamı** (All Remaining) enters the unpacked remaining quantity. | | **İçine Konacak Birimler** (Units to Nest Inside) | Existing units (e.g. cartons onto a pallet) are placed inside this unit. | Packing is not a precondition for goods issue. After the goods issue, the card becomes read-only (*"mal çıkışından sonra değişmez"* (cannot be changed after goods issue)); on a delivery shipped without any packing, *"Bu teslimat paketlenmeden sevk edildi."* (This delivery was shipped without packing.) is displayed. The tare of the handling units is included in the shipment's gross weight, and the number of pallets in the shipment's pallet load. ## Shipment information If the delivery has been assigned to a shipment, the **Sefer** (Shipment) row on the **Teslimat** (Delivery) card shows the shipment number (as a link) and its status; if a delivery event has been recorded on the shipment, *"Teslim edildi · tarih · teslim alan"* (Delivered · date · recipient) is displayed. ## Proof of Delivery card ![Delivery with recorded proof of delivery — short acceptance](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/alindi-teyidi.png) 1. Confirmation status 2. Undo — only for unbilled deliveries 3. Delivered vs accepted difference 4. Difference reason The card appears on a delivery whose goods issue has been posted. Statuses: | Status | Meaning | |---|---| | **Teyit gerekmiyor** (Confirmation not required) | The customer does not require confirmation; a signed delivery note can still be recorded. | | **Teyit bekleniyor** (Awaiting confirmation) | The customer is invoiced after confirmation — the delivery is not invoiced until the confirmation is recorded. | | **Teyit edildi** (Confirmed) | Delivery date, recipient, recorded by, and per item the delivered / accepted / difference / reason. | Whether confirmation is required comes from the **Alındı teyidi › Alındı teyidinden sonra faturala** (Proof of delivery › Invoice after proof of delivery) option in the **Teslimat** (Delivery) section of the customer card. - **Alındı Teyidi Kaydet** (Record Proof of Delivery) — [Record proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme). - **Teyidi Geri Al** (Reverse Confirmation) — *"Yalnız faturalanmamış teslimatta geri alınır. Müşteri teyit istiyorsa teslimat yeniden teyit bekler ve faturalanmaz."* (It can be reversed only on a delivery that has not been invoiced. If the customer requires confirmation, the delivery awaits confirmation again and is not invoiced.) On an invoiced delivery, the server returns *"Teslimat faturalandı — alındı teyidi geri alınamaz."* (The delivery has been invoiced — the proof of delivery cannot be reversed.) In the case of a short acceptance, the invoice is issued with the accepted quantity; returned goods are taken back into stock with a [delivery correction](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma). ## Related - [Pack a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma) - [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama) - [Post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme) --- # Define a carrier > Add a carrier profile to the supplier card of a company from which transportation is purchased — operating license, priority. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Ana Veriler › Taşıyıcılar (Logistics Management › Master Data › Carriers) - **Screen route:** `/erp/logistics/carriers` - **Required permission:** `erp-logistics-carriers.create` - **Prerequisites:** - The company has been created as an **active supplier** card in Business Partners. - No carrier profile has been added to the card yet (a card can have only one profile). A carrier is not a separate card but the logistics profile of a supplier card: freight is purchased, and the carrier's invoice arrives as a supplier invoice. ## Steps 1. Open the **Lojistik Yönetimi › Ana Veriler › Taşıyıcılar** (Logistics Management › Master Data › Carriers) screen. ![Carriers list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyicilar.png) 1. Carrier profile for a supplier card 2. Authorization certificate and expiry 3. Priority in carrier selection 4. Carrier's vehicle and driver count 2. Click **Taşıyıcı Ekle** (Add Carrier). 3. Click the magnifier of the **Tedarikçi Kartı** (Supplier Card) field, then find and select the card in the **Tedarikçi Seç** (Select Supplier) window. A card that is already a carrier appears with the warning "Zaten taşıyıcı olarak kayıtlı" (Already registered as a carrier). 4. Enter the **Yetki Belgesi** (Operating License) type (e.g. K1) and number, and the **Geçerlilik Bitişi** (Valid Until) date. 5. Enter the **Öncelik** (Priority) for its rank in carrier selection (1 is the highest priority, empty = last in the ranking). 6. Leave **Aktif** (Active) selected; enter a **Not** (Note) if necessary, and click **Oluştur** (Create). ![New Carrier dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyici-ekle.png) 1. Supplier card — required 2. Authorization type and number 3. Priority — 1 is highest 4. Create **Result:** The supplier card becomes a carrier: it can be selected as the **Taşıyıcı** (Carrier) on a shipment, linked to vehicle and driver cards, and a [freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma) can be created for it. ## What you need to know - After the profile is created, the linked supplier card cannot be changed; the company name and tax ID are refreshed from the card. - The operating license type has up to 8 letters/digits (e.g. K1, L2, R1); the priority is an integer between 1 and 99. - A carrier cannot be deleted; if it will no longer be used, clear the **Aktif** (Active) check box with **İşlemler › Düzenle** (Actions › Edit). An inactive carrier cannot be selected on a shipment. - Tender e-mails go to the e-mail address of the contact on the supplier card. ## Related - [Carriers screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyicilar) - [Define a vehicle](https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama) --- # Outgoing e-Delivery Notes > e-Delivery Notes issued from documents that move goods out of the building — draft, transport information, submission to the Turkish Revenue Administration (GİB) and statuses. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/giden-e-irsaliyeler An e-Delivery Note (e-İrsaliye) is an electronic dispatch document that travels with the goods. In CoreX it is created from a document that moves goods out of the building: a **Teslimat** (Delivery) (with the goods issue posted), **Konsinye doldurma** (Consignment fill-up), **Fason sevki** (Subcontracting dispatch), **Tedarikçiye iade** (Return to supplier), **Nakil sevki** (Transfer dispatch). Submission is performed through the e-Document integrator. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Giden e-İrsaliyeler (Logistics Management › Outbound Delivery › Outgoing e-Delivery Notes) - **Screen route:** `/erp/edocuments/despatches` - **Required permission:** `erp-edocuments-despatches.view (görme) · .create (teslimattan oluşturma) · .edit (taslağı düzenleme, gönderme)` > **If it is turned off in the installation** If e-Delivery Note is not enabled in the installation, the **e-İrsaliye Oluştur** (Create e-Delivery Note) button does not appear in the delivery details at all; the delivery note is printed on paper from the delivery's **Çıktı** (Output) menu. In the demo installation of the documentation environment, e-Delivery Note is turned off — the steps on this page are described from the source code. ![Outgoing e-Despatch Advices](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/giden-e-irsaliyeler.png) 1. Despatches issued in CoreX 2. Archive of external despatches 3. Source document — delivery, consignment, subcontracting… 4. Sending and receiver response ## List There are two tabs: **CoreX'te kesilenler** (Issued in CoreX) and **Dışarıda kesilenler (arşiv)** (Issued externally (archive)). Columns: **İrsaliye** (Delivery Note), **Tarih** (Date), **Alıcı** (Recipient), **Kaynak Belge** (Source Document), **Araç / sevk** (Vehicle / dispatch), **Durum** (Status). Filters: **Ara** (Search) and **Durum** (Status). When the list is empty, *"Henüz e-İrsaliye yok. Teslimat detayında "e-İrsaliye" ile oluşturun."* (There are no e-Delivery Notes yet. Create one with "e-İrsaliye" in the delivery details.) is displayed. ## Statuses | Status | Meaning | |---|---| | **Taslak** (Draft) | The transport information and delivery address are entered; the items come from the source document and cannot be changed. | | **Gönderim kuyruğunda** (In send queue) | Queued with **GİB'e Gönder** (Send to GİB). | | **Entegratörde** (At integrator) | Forwarded to the integrator. | | **Alıcıya ulaştı** (Delivered to recipient) | Arrived in the recipient's mailbox. | | **Kabul edildi** (Accepted) · **Kısmen kabul** (Partially accepted) · **Reddedildi** (Rejected) | The recipient's response. | | **Gönderilemedi** (Could not be sent) | Submission failed; correct it with **Taslağa Geri Al** (Revert to Draft) and send it again. | ## e-Delivery Note details - **Alıcı** (Recipient): Kart (Card), Vergi No (Tax No.), Posta kutusu (Mailbox). - **Teslim adresi** (Delivery address): Adres (Address), **İl** (Province), **İlçe** (District), **Posta kodu** (Postal code) (required — GİB requires a postal code in the delivery address). - **İrsaliye** (Delivery Note): Durum (Status), GİB No (assigned on submission), ETTN, source document, order, **İrsaliye tarihi** (Delivery note date) and **Fiili sevk anı** (Actual dispatch time) (the moment the goods left — it cannot be before the time of submission). - **Taşıma** (Transport): **Kendi aracımız (şoför)** (Our own vehicle (driver)) — **Şoför adı** (Driver first name), **Şoför soyadı** (Driver last name), **Şoför TCKN** (Driver national ID no.) — or **Taşıyıcı firma** (Carrier company) — **Taşıyıcı unvanı** (Carrier company name), **Taşıyıcı VKN** (Carrier tax ID); **Araç plakası** (Vehicle plate), **Dorse plakası** (Trailer plate), **Not** (Note). - **e-Belge süreci** (e-Document process): the integrator status, the last query time and the files. Buttons on a draft: **Taslağı Sil** (Delete Draft) (if no GİB number has been assigned), **Kaydet** (Save), **GİB'e Gönder** (Send to GİB). Submission requires confirmation: *"Alıcı, taşıma bilgisi ve kalemler donar; irsaliye entegratör üzerinden alıcıya iletilir. Alıcı e-İrsaliye kayıtlı değilse gönderilmez — kâğıt irsaliye kullanılır."* (The recipient, transport information and items are frozen; the delivery note is forwarded to the recipient through the integrator. If the recipient is not registered for e-Delivery Note, it is not sent — a paper delivery note is used.) On a delivery note that is at the integrator or has reached the recipient, **Durumu Yenile** (Refresh Status) appears; on one that could not be sent, **Taslağa Geri Al** (Revert to Draft) appears. > ****GİB'e Gönder** (Send to GİB) forwards the document to the real recipient; this cannot be undone. While there are** unsaved changes, the send button is disabled. The national ID number on the [driver card](https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama) is for the driver on the e-Delivery Note; the license plate on the [vehicle card](https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama) follows the same rule as the plate on the e-Delivery Note. ## Related - [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) - [Incoming e-Delivery Notes](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-e-irsaliyeler) --- # Define a vehicle > Define our own vehicle or a carrier's vehicle — license plate, type, ownership, capacity and documents with expiry dates. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Filo › Araçlar (Logistics Management › Fleet › Vehicles) - **Screen route:** `/erp/logistics/fleet/vehicles` - **Required permission:** `erp-logistics-fleet.create` - **Prerequisites:** - If a carrier's vehicle is to be defined, the carrier has been [defined](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama). ## Steps 1. Open the **Lojistik Yönetimi › Filo › Araçlar** (Logistics Management › Fleet › Vehicles) screen and click **Araç Ekle** (Add Vehicle). ![New Vehicle dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/arac-ekle.png) 1. Tabs: General, Capacity, Documents 2. Plate — identity 3. Vehicle type 4. Ownership — owned, leased, carrier 5. Create 2. Enter the **Plaka** (License Plate) (e.g. 34 ABC 123). The plate is stored in upper case without spaces. 3. Select the **Araç Tipi** (Vehicle Type); if necessary, enter the **Marka / Model** (Make / Model) and **Model Yılı** (Model Year). 4. Select the **Sahiplik** (Ownership). If you select **Taşıyıcının** (Carrier's), select the carrier in the **Taşıyıcı** (Carrier) field that opens. 5. On the **Kapasite** (Capacity) tab, enter the **Taşıma Kapasitesi (kg)** (Load Capacity (kg)), **Hacim (m³)** (Volume (m³)) and **Palet Kapasitesi** (Pallet Capacity). Leave unknown values empty; leave them empty for a tractor unit (the capacity is on the trailer). 6. On the **Belgeler** (Documents) tab, add the inspection, compulsory traffic insurance, comprehensive insurance and tachograph lines with their type, number and **Geçerlilik Bitişi** (Valid Until) date. 7. Click **Oluştur** (Create). ![Vehicles list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/araclar.png) 1. New vehicle 2. Filter by document expiry 3. Next document expiry 4. Capacity — kg, m³, pallets **Result:** The vehicle can be selected on a shipment. An active vehicle in our own fleet with a capacity entered is also included in [Yük Planlama](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama) (Load Planning). ## What you need to know - The license plate must be in Turkish plate format; otherwise *"Plaka geçersiz (ör. 34 ABC 123)."* (Invalid license plate (e.g. 34 ABC 123).) is displayed. The model year must have four digits, the capacity must be greater than zero or empty, and the pallet capacity must be an integer. - A carrier's vehicle can be selected only on that carrier's shipments; it cannot be selected on a shipment executed by our own fleet. - If a document expires within 30 days, **Süresi yaklaşıyor** (Expiring soon) is displayed; if it has expired, **Süresi doldu** (Expired). The **Belge Durumu** (Document Status) filter (e.g. *Dikkat gerektiren* (Needs attention)) lists these vehicles. - A vehicle cannot be deleted; if it will no longer be used, clear the **Aktif** (Active) check box. ## Related - [Vehicles and drivers screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/araclar-ve-suruculer) - [Define a driver](https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama) --- # Delivery corrections > Reversal documents for an incorrect goods issue — list, creation and details; the document cannot be changed and records are not deleted. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-duzeltmeleri A delivery whose goods issue has been posted cannot be changed or deleted. If the posting is incorrect (wrong product, excess quantity), it is reversed with a **delivery correction**: the stock returns to the original warehouse/storage location, and the original delivery remains unchanged. The document number is **SVR-yyyy-nnnnnn**. Goods sent back by the customer, however, are not received with a correction but with **İade Al** (Receive Return). - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimat Düzeltmeleri (Logistics Management › Outbound Delivery › Delivery Corrections) - **Screen route:** `/erp/sales/shipment-reversals` - **Required permission:** `erp-sales-shipment-reversals.view (liste ve detay) · .create (oluşturma)` ## List ![Delivery Reversals list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-duzeltmeleri.png) 1. Reversal document — immutable 2. Reversed delivery 3. Reason Columns: **Düzeltme No** (Correction No.), **Düzeltme Tarihi** (Correction Date), **Teslimat No** (Delivery No.), **Sipariş No** (Order No.), **Müşteri** (Customer), **Gerekçe** (Reason), **Kalem** (Items). Filters: **Ara** (Search) (correction no., delivery no., order no. or customer) and the **Düzeltme tarihi** (Correction date) range. The list has no create button: a correction is opened with **Teslimat Düzeltmesi Oluştur** (Create Delivery Correction) in the delivery details. ## New delivery correction ![New Delivery Reversal](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-duzeltmesi-olustur.png) 1. Reversal date 2. Reason — required 3. Line to reverse 4. Fills the reversible remainder 5. Save Reversal The source delivery (number, date, order, customer, warehouse) is shown at the top of the form; it cannot be edited. - **Düzeltme Tarihi** (Correction Date) and **Düzeltme Gerekçesi** (Correction Reason) (required, up to 512 characters — a physical posting is not reversed without a reason). - For each delivery line, the *Sevk edilen* (Shipped), *Daha önce geri alınan* (Previously reversed) and *Geri alınabilir* (Reversible) quantities are shown. When **Bu satırı düzelt** (Correct this line) is selected, **Geri Alınacak Miktar** (Quantity to Reverse) opens; **Kalanı doldur** (Fill remaining) enters the remaining reversible quantity. On a serial-managed line, select the **Geri Alınacak Seriler** (Serial Numbers to Reverse). - **Düzeltmeyi Kaydet** (Save Correction) posts the document. Rejection messages: *"Düzeltme tarihi zorunlu."* (The correction date is required.), *"Düzeltme gerekçesi zorunlu."* (The correction reason is required.), *"En az bir satır için düzeltme seçin."* (Select a correction for at least one line.). For a delivery whose quantities have all been reversed, *"Yeni düzeltme oluşturulabilecek satır yok."* (There are no lines for which a new correction can be created.) is displayed. ## Details The details show **Kaynak Teslimat / Sipariş** (Source Delivery / Order) (delivery, order, customer, warehouse), **Düzeltme Bilgisi** (Correction Information) (date, reason) and the items (**Geri Alınan** (Reversed), **Lokasyon** (Storage Location), **Lot** (Batch), **Seri Numaraları** (Serial Numbers)). The document cannot be changed. The correction history section in the delivery details also links to the document. ## Related - [Create a delivery correction](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma) - [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) --- # Define a driver > Define our own driver or a carrier's driver — identity, driver's license and document expiry dates. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Filo › Sürücüler (Logistics Management › Fleet › Drivers) - **Screen route:** `/erp/logistics/fleet/drivers` - **Required permission:** `erp-logistics-fleet.create` - **Prerequisites:** - If a carrier's driver is to be defined, the carrier has been [defined](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama). ## Steps 1. Open the **Lojistik Yönetimi › Filo › Sürücüler** (Logistics Management › Fleet › Drivers) screen and click **Sürücü Ekle** (Add Driver). ![New Driver dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/surucu-ekle.png) 1. First and last name — required 2. National ID — for the e-despatch driver 3. License classes 4. Own driver or carrier 2. Enter the **Ad** (First Name) and **Soyad** (Last Name). 3. If the person will appear as the driver on e-Delivery Notes, enter the **TC Kimlik No** (National ID No.); fill in the **Telefon** (Phone), **Ehliyet Sınıfları** (License Classes) (e.g. C, CE) and **Ehliyet No** (License No.). 4. In the **Taşıyıcı** (Carrier) field, select **Kendi sürücümüz** (Our own driver) or the carrier the driver works for. 5. On the **Belgeler** (Documents) tab, enter the expiry dates of the **Ehliyet** (Driver's License), **SRC Belgesi** (SRC Certificate) and **Psikoteknik** (Psychotechnical Assessment). 6. Click **Oluştur** (Create). ![Drivers list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/suruculer.png) 1. New driver 2. License classes 3. Own driver or carrier driver 4. License, SRC, psychotechnic expiry **Result:** The driver can be selected as the **Sürücü** (Driver) on a shipment; our own driver on shipments executed by our own fleet, a carrier's driver on that carrier's shipments. ## What you need to know - The national ID number is personal data: only users with the `erp-logistics-driver-identity.view` permission can see it; others see *"Kayıtlı — görmek için kimlik izni gerekir"* (Recorded — the identity permission is required to view it). For an invalid number, *"TC kimlik numarası geçersiz."* (The national ID number is invalid.) is displayed. - **Geçerlilik Bitişi** (Valid Until) is required on every document line (*"N. belgenin geçerlilik bitişini girin."* (Enter the expiry date of document N.)). - A driver cannot be deleted; set it to inactive instead. An inactive driver cannot be selected on a shipment. ## Related - [Vehicles and drivers screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/araclar-ve-suruculer) --- # Delivery monitor > Monitor outbound deliveries stage by stage — awaiting goods issue, without a shipment, planned shipment, in transit, awaiting proof of delivery; reference check. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-izleme Teslimat İzleme (Delivery Monitor) shows outbound deliveries stage by stage, from goods issue to delivery. The stage comes from the status of the delivery and of the shipment; the screen does not write any documents. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimat İzleme (Logistics Management › Outbound Delivery › Delivery Monitor) - **Screen route:** `/erp/logistics/delivery-monitor` - **Required permission:** `erp-sales-shipments.view` ![Delivery Monitor — stages](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-izleme.png) 1. Warehouse filter 2. Look-back window 3. Stage card — count and overdue 4. Overdue delivery 5. Reference check — shows, does not fix ## Filters - **Depo** (Warehouse) — **Bütün depolar** (All warehouses) or a single warehouse. - **Geriye bakış** (Look-back) — **Son 7 gün** (Last 7 days), **Son 30 gün** (Last 30 days) (default), **Son 90 gün** (Last 90 days). The look-back is the goods issue window for the "not assigned to a shipment" and "awaiting confirmation" stages. ## Stages At the top there is a card for each stage (number of deliveries and, if any, *"N gecikmiş"* (N overdue)); below are the oldest deliveries of each stage: | Stage | Date column | Content | |---|---|---| | **Mal çıkışı bekleyen (açık teslimat)** (Awaiting goods issue (open delivery)) | Planlanan Sevk (Planned Shipping) | Open deliveries. | | **Sefere atanmamış (mal çıkışı yapıldı)** (Not assigned to a shipment (goods issued)) | Mal Çıkışı (Goods Issue) | Deliveries whose goods have been issued but that have no shipment. | | **Planlanan sefer** (Planned shipment) | Planlanan Çıkış (Planned Departure) | Deliveries assigned to a planned shipment. | | **Yolda** (In transit) | Yola Çıkış (Departure) | Deliveries of a shipment in transit. | | **Alındı teyidi bekleyen** (Awaiting proof of delivery) | Mal Çıkışı (Goods Issue) | Deliveries awaiting confirmation. | Table columns: **Teslimat** (Delivery), **Müşteri** (Customer), **Depo** (Warehouse), the stage's date column, **Yaş (gün)** (Age (days)), **Sefer** (Shipment). On an overdue row, a **Gecikmiş** (Overdue) badge appears next to the delivery number. If a stage has no records, *"Bu aşamada teslimat yok."* (There are no deliveries in this stage.) is displayed. ## Reference check Logistics stores records of other modules (cards, orders, items) by ID. **Denetle** (Check) counts whether these links still resolve: the **Bağ** (Link), **Denetlenen** (Checked), **Yetim** (Orphaned), **Örnek** (Sample) columns and the check time. The check does not repair anything; it only reports. ## Related - [Transportation documents](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) - [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) --- # Create a freight agreement > Define the tiered freight tariff of a carrier (purchasing) or a customer (sales). URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Ana Veriler › Navlun Anlaşmaları (Logistics Management › Master Data › Freight Agreements) - **Screen route:** `/erp/logistics/freight-agreements` - **Required permission:** `erp-logistics-freight-agreements.create` - **Prerequisites:** - For a carrier agreement, the carrier has been [defined](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama); for a customer agreement, the customer card is active. ## Steps 1. On the **Lojistik Yönetimi › Ana Veriler › Navlun Anlaşmaları** (Logistics Management › Master Data › Freight Agreements) screen, click **Anlaşma Ekle** (Add Agreement). ![Freight Agreements list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-anlasmalari.png) 1. New agreement 2. Kind: carrier (purchase) or customer (sales) 3. Validity period 4. Tariff summary 2. Select the **Tür** (Type): **Taşıyıcı (alış)** (Carrier (purchasing)) is for the cost of a shipment, **Müşteri (satış)** (Customer (sales)) is for the charge of a transport order. 3. Select the **Taşıyıcı** (Carrier) (for a customer agreement, the **Müşteri** (Customer)). 4. Enter the **Ad** (Name); the **Kod** (Code) is suggested from the name, and you can overwrite it. Check the **Para Birimi** (Currency). 5. Enter the start and (if any) end of the **Geçerlilik** (Validity). 6. In the **Tarife** (Tariff) table, enter the **Dayanak** (Basis), **Kademe (başlangıç)** (Tier (from)), **Birim Ücret** (Unit Rate) and, if necessary, the **En Az Ücret** (Minimum Charge) of the first line; for another basis or tier, click **Satır Ekle** (Add Line). 7. Click **Oluştur** (Create). ![Freight agreement dialog — tiered tariff](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-anlasmasi.png) 1. Kind — fixed after creation 2. Valid from and to 3. Add tariff line 4. Tier — highest tier reached applies **Result:** On the carrier's shipments, freight is calculated from this agreement (the shipment's departure date must be within the validity range); a customer agreement gives the charge of a transport order. ## What you need to know - The highest tier reached by the quantity is applied. In the sample tariff, the freight for a 450 km shipment is 1,500 + 450 × 12 = 6,900 TRY; at 500 km and above, the per-km rate is 10 TRY. - The per-shipment rate has no tiers; the same tier cannot be defined twice for the same basis; up to 50 lines. - Type and party cannot be changed after creation — create a new agreement for a different party. - If a carrier has more than one agreement valid on the same day, the one with the most recent start date is used. - A saved agreement is opened with the row's **İşlemler › Düzenle** (Actions › Edit) menu; if it will no longer be used, clear the **Aktif** (Active) check box. ## Related - [Freight agreements screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari) - [Select the carrier for a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) --- # Transportation documents (shipments) > The plan, executor, deliveries, load and capacity, freight and events of a shipment — Planned, In Transit, Completed, Cancelled. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri A transportation document is the trip of one vehicle (a **shipment**). The executor is either **Kendi filomuz** (Our own fleet) (our vehicle and our driver) or a **Taşıyıcı** (Carrier) (a transportation company and its vehicle/driver). Deliveries are added to the shipment; their sequence is the stop sequence. The document number is **TSM-yyyy-nnnnnn**. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgeleri · Taşıma Belgesi Oluştur (Logistics Management › Transportation › Transportation Documents · Create Transportation Document) - **Screen route:** `/erp/logistics/transports` - **Required permission:** `erp-logistics-transports.view (görme) · .create (oluşturma) · .edit (düzenleme, yola çıkarma, tamamlama, iptal, taşıyıcı atama)`, `erp-logistics-transport-events.create (olay kaydı)`, `erp-logistics-freight-agreements.view (Navlun kartı ve Taşıyıcı Seç)` ## Statuses and actions | Status | Meaning | Actions shown in the details | |---|---|---| | **Planlandı** (Planned) | The plan and the deliveries can be changed. | **İptal Et** (Cancel) · **Düzenle** (Edit) · **Taşıyıcı Seç** (Select Carrier) · **Yola Çıkar** (Dispatch) · **Olay Kaydet** (Record Event) (only *Yüklendi* (Loaded)) | | **Yolda** (In Transit) | The plan and the deliveries are frozen. | **Tamamla** (Complete) · **Olay Kaydet** (Record Event) (Yüklendi (Loaded), Vardı (Arrived), Teslim edildi (Delivered), Gecikme bildirildi (Delay reported), Sorun bildirildi (Issue reported)) | | **Tamamlandı** (Completed) | The arrival time has been recorded, and the shipment is closed. | No event recording; it is included in the freight settlement. | | **İptal Edildi** (Cancelled) | Only a planned shipment can be cancelled; the deliveries are released. | None | The server calculates delays with its own clock; in the header of a delayed shipment, **Gecikmede** (Delayed) appears next to the status. Actions also depend on authorization (the permissions in the summary). ## Transportation Documents list ![Transport Documents list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-listesi.png) 1. New trip 2. Status filter 3. Own fleet or carrier 4. Click the number to open the trip Columns: **Taşıma No** (Transportation No.), **Durum** (Status), **Planlanan Çıkış** (Planned Departure), **Yürütücü** (Executor) (executor type with carrier · plate · driver), **Belge** (Documents) (number of deliveries). Filters: **Ara** (Search) and **Durum** (Status). The row's **İşlemler** (Actions) menu contains **Seferi Aç** (Open Shipment) and the document history. The **Taşıma Belgesi Oluştur** (Create Transportation Document) link opens the new shipment form. ## Create / edit a transportation document ![Create Transport Document — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-olustur.png) 1. Executor — own fleet or carrier 2. Carrier 3. Planned departure — required 4. Distance — basis for per-km freight 5. Deliveries — order is stop order 6. Create | Field | Description | |---|---| | **Yürütücü** (Executor) (required) | **Kendi filomuz** (Our own fleet) or **Taşıyıcı** (Carrier). When Taşıyıcı (Carrier) is selected, the **Taşıyıcı** (Carrier) field opens. | | **Taşıyıcı** (Carrier) | Active carriers. The carrier must be selected before selecting the carrier's vehicle or driver. | | **Planlanan Çıkış** (Planned Departure) (required) · **Planlanan Varış** (Planned Arrival) | Date and time. Arrival cannot be before departure. | | **Araç** (Vehicle) · **Dorse** (Trailer) · **Sürücü** (Driver) | For our own fleet, our own vehicles and drivers are listed; for a carrier, that carrier's vehicles and drivers. If there is no trailer, **Dorse yok** (No trailer). | | **Planlanan Mesafe (km)** (Planned Distance (km)) | The basis for per-km freight. Empty = unknown (not counted as zero). | | **Not** (Note) | Up to 512 characters. | | **Teslimatlar** (Deliveries) | Added from the **Teslimat Ekle** (Add Delivery) window; the sequence (stop sequence) is changed with the arrow buttons, and a delivery is removed with the trash icon. | For our own fleet, the following note appears at the bottom of the form: *"Yola çıkış için araç ve sürücü gerekir; planlarken boş bırakılabilir. Taşıyıcının aracı burada listelenmez."* (A vehicle and a driver are required for dispatch; they can be left empty when planning. The carrier's vehicles are not listed here.) A shipment can also be planned without deliveries; dispatch requires at least one delivery. The record is saved with **Oluştur** (Create) (**Kaydet** (Save) when editing), and the shipment details open. ![Add Delivery dialog — deliveries without a trip](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-ekle.png) 1. Search by delivery no, customer, address 2. Delivery to add to the trip 3. Add The **Teslimat Ekle** (Add Delivery) window lists *"Sefere atanmamış, iptal edilmemiş teslimatlar — açık ya da mal çıkışı kaydedilmiş"* (Deliveries not assigned to a shipment and not cancelled — open or with goods issue posted) (columns: Teslimat (Delivery), Tarih (Date), Müşteri / Varış (Customer / Destination), Depo (Warehouse), Durum (Status)). A delivery can be on only one shipment at a time. ## Shipment details ![Planned trip — no carrier yet, open tender](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-planlandi.png) 1. Status: Planned 2. Select Carrier — ranked by tariff 3. Dispatch 4. Edit — planned trips only 5. The trip's open tender 6. Load and capacity - **Sefer Bilgileri** (Shipment Information): Executor, Carrier (with tax ID), Vehicle / Trailer, Driver, Planned Departure and Arrival, the actual **Yola Çıkış** (Departure) and **Varış** (Arrival), Planned Distance, note and cancellation reason. If the shipment has an open tender, its number and the number of bids appear here as a link. - **Yük ve Kapasite** (Load and Capacity): Gross Weight, Volume, Pallets — the capacity is that of the trailer, or of the vehicle if there is no trailer. The weight comes from the card dimensions and the tare of the handling units. If the capacity is exceeded, a warning is displayed (*"Ağırlık kapasiteyi aşıyor."* (Weight exceeds capacity.), *"Hacim kapasiteyi aşıyor."* (Volume exceeds capacity.), *"Palet sayısı kapasiteyi aşıyor."* (Number of pallets exceeds capacity.)); exceeding the capacity does not block saving. - **Teslimatlar** (Deliveries): Sıra (Sequence), Belge (Document) (link to the delivery), Alıcı / Varış (Recipient / Destination), Durum (Status), Brüt Ağırlık (Gross Weight), Hacim (Volume), Kap / Palet (Packages / Pallets) and **Teslim** (Delivery) (Bekliyor (Pending) · Vardı (Arrived) · Teslim edildi (Delivered) + recipient). - **Navlun** (Freight) (with the freight permission): the freight calculated from the agreement on a carrier shipment. - **Olaylar** (Events): timeline. - **Ekler** (Attachments): CMR and shipment documents (PDF or image). ### Shipment in transit and events ![Trip in transit — events](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-yolda.png) 1. Status: In transit 2. Complete — arrival is written, trip closes 3. Record Event — arrival, delivery, delay, problem 4. Event timeline An event cannot be changed; an incorrect record is corrected with a new event. Event types: **Yüklendi** (Loaded), **Yola çıktı** (Departed), **Vardı** (Arrived), **Teslim edildi** (Delivered), **Gecikme bildirildi** (Delay reported), **Sorun bildirildi** (Issue reported), **Sefer tamamlandı** (Shipment completed). *Yola çıktı* (Departed) and *Sefer tamamlandı* (Shipment completed) are written by the shipment's own steps (**Yola Çıkar** (Dispatch), **Tamamla** (Complete)). Details: [Record a shipment event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme). ### Completed shipment and freight ![Completed trip — deliveries and freight](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-tamamlandi.png) 1. Status: Completed 2. Load compared with capacity 3. Delivery and receiver per stop 4. Settled freight is not recalculated ![Trip freight — basis lines](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-karti.png) 1. (Re)calculate freight 2. Tariff basis 3. Applied agreement and calculation time The freight card is calculated only on a shipment with the **Taşıyıcı** (Carrier) executor, with a carrier selected and not cancelled. The calculation uses the carrier's agreement **valid on the shipment's departure date** and the shipment's measurements (distance, weight, volume, pallets, stops). Lines: **Dayanak** (Basis), **Miktar** (Quantity), **Birim Ücret** (Unit Rate), **Tutar** (Amount) and **Toplam** (Total); if the minimum charge was applied, *"En az ücret uygulandı"* (Minimum charge applied) is displayed. - The **Navlunu Hesapla** (Calculate Freight) / **Yeniden Hesapla** (Recalculate) button appears with the edit permission. - A basis whose measurement is unknown is not included in the calculation; the card says *"Ölçüsü bilinmeyen dayanak hesaba girmez: …"* (A basis with an unknown measurement is not included in the calculation: …) — enter the distance on the shipment, and the weight and volume on the product card. - If the shipment or the agreement changes after the calculation, the server returns *"Sefer ya da anlaşma hesaptan sonra değişti — navlunu yeniden hesaplayın."* (The shipment or agreement changed after the calculation — recalculate the freight.) - Once the freight is included in a settlement, the card shows *"Hesaplaşıldı: NHS-… — navlun yeniden hesaplanmaz."* (Settled: NHS-… — the freight is not recalculated.) - On a shipment executed by our own fleet, the card says *"Kendi filomuzla yapılan seferin taşıyıcı navlunu yok — maliyeti Filo İşletimi'nde."* (A shipment executed by our own fleet has no carrier freight — its cost is in Fleet Operations.) Freight is not an accounting entry; a completed shipment is matched with the carrier's invoice on the [Freight settlements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-hesaplasmalari) screen. ## Related - [Create a transportation document](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) - [Select the carrier for a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) - [Dispatch a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma) · [Complete a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama) - [Load planning](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama) --- # Pick a delivery > Move the items of an open outbound delivery from the shelf to the shipping staging area with waves and picking tasks. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama - **Type:** Task - **Module:** Logistics - **Menu path:** Stok Yönetimi › Depo Yürütme › Dalgalar › Dalga Oluştur (Inventory Management › Warehouse Execution › Waves › Create Wave) - **Screen route:** `/erp/inventory/waves/new` - **Required permission:** `erp-inventory-warehouse-tasks.create`, `erp-inventory-warehouse-tasks.edit` - **Prerequisites:** - The delivery is in **Açık** (Open) status ([create open deliveries](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma)). - The delivery's warehouse is bin-managed (with storage locations) and has a shipping staging area defined; the goods are in a storage bin. Picking is performed with the warehouse execution screens of Inventory Management; this page describes their use with an outbound delivery. Tasks can also be confirmed from a handheld terminal. ## Steps 1. On the **Stok Yönetimi › Depo Yürütme › Dalgalar** (Inventory Management › Warehouse Execution › Waves) screen, open **Dalga Oluştur** (Create Wave). 2. Select the **Depo** (Warehouse). 3. In the **Kaynak** (Source) field, select **Açık teslimatlar** (Open deliveries). If necessary, narrow the list with the **Planlanan sevk (en geç)** (Planned shipping (latest)) date and **Ara** (Search). 4. Select the lines to be picked. **Toplanacak** (To Pick) = remaining − allocated to the item − open picking; if the **Toplanabilir Stok** (Pickable Stock) is insufficient, the line carries a warning. ![Create Wave — picking from open deliveries](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/dalga-olustur.png) 1. Warehouse — the delivery warehouse 2. Source: Open deliveries 3. Delivery item to pick 4. Create Wave — picking tasks are created 5. Enter a **Not** (Note) if necessary, and click **Dalgayı Oluştur** (Create Wave). ![Wave detail — picking tasks](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/dalga-detay.png) 1. The wave completes when all tasks are confirmed 2. The wave line carries the delivery number 3. Picking task — from source bin to SEVK 6. Open each picking task (the task number in the wave details or **Depo Görevleri** (Warehouse Tasks)) and click **Onayla** (Confirm); check the **Hedef göz** (Destination bin) and **Miktar** (Quantity), and save with **Onayla** (Confirm) in the window. 7. Open the delivery details; check that the picking status in the header is **Toplandı** (Picked). ![Open delivery — picked and packed](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/acik-teslimat-paketlendi.png) 1. Picking status 2. Packing status 3. Picked quantity per item 4. New handling unit (carton, pallet…) 5. Handling unit labels (PDF) **Result:** The picked goods are allocated to the sales order item in the shipping area. The delivery's picking status becomes **Toplandı** (Picked), and on the goods issue form the allocations are filled in automatically with the picked goods. ## What you need to know - The wave line carries the delivery number; the upper limit for a delivery item is the delivery quantity, and the due date is the planned shipping date. - If the pickable stock is insufficient, the wave is still created; the shortage is shown on the wave line. When confirming a task, **Kalanı farkla kapat (rafta bulunamadı)** (Close remaining as a difference (not found on the shelf)) can be selected — the difference is not a stock movement, the goods remain in the source bin, and the correction is made with a physical inventory count. - For a partially picked delivery, the status becomes **Kısmen toplandı** (Partially picked). - Picking is not mandatory: for an open delivery that has not been picked, the allocations are entered manually at goods issue. - The picking status is calculated from the stock allocated to the sales order item in the delivery warehouse; goods produced for the item are also counted. ## Related - [Picking, packing and proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/toplama-paketleme-teyit) - [Pack a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma) - [Post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme) --- # Inbound deliveries > The notification of goods sent by a supplier — from a purchase order or an incoming e-Delivery Note; the goods receipt is posted from the delivery. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-teslimatlar An inbound delivery is the notification of goods sent by a supplier (shipping notification). It is created from a purchase order or from the supplier's incoming e-Delivery Note; the goods receipt is posted from this delivery and recorded against it. A delivery belongs to a single supplier and can carry multiple purchase orders (up to 30). A delivery is created in one of three ways: 1. **Automatically when the purchase order is finalized** — when a purchase order with a receiving warehouse is finalized, a delivery is created in **Bekleniyor** (Expected) status with the notifiable remaining quantity of the lines and the expected date of the order (no delivery note: expected goods). 2. **When the supplier's e-Delivery Note arrives** — the delivery note is linked to the expected delivery, or a new delivery with a delivery note is created and the expected deliveries are reduced by the quantity on the delivery note. A delivery note whose matching is incomplete becomes an **İnceleme Bekliyor** (Awaiting Review) draft. 3. **Manually** — from the **Gelen Teslimat Oluştur** (Create Inbound Delivery) screen. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar · Gelen Teslimat Oluştur (Logistics Management › Inbound Delivery › Inbound Deliveries · Create Inbound Delivery) - **Screen route:** `/erp/logistics/inbound-deliveries` - **Required permission:** `erp-logistics-inbound-deliveries.view (görme) · .create (oluşturma, inceleme, kapatma, iptal)`, `erp-procurement-receipts.create (Mal Kabulü Oluştur)` ## List ![Inbound Deliveries list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/gelen-teslimatlar.png) 1. New inbound delivery 2. Pending only 3. My warehouses only 4. Status Columns: **Teslimat No** (Delivery No.), **Beklenen** (Expected), **Tedarikçi** (Supplier), **Depo** (Warehouse), **Siparişler** (Orders), **İrsaliye** (Delivery Note), **Kalem** (Items), **Durum** (Status). Filters: **Ara** (Search), **Durum** (Status), **Beklenen başlangıç** (Expected from) – **Bitiş** (To), **Yalnız bekleyenler** (Only pending) and **Yalnız benim depolarım** (Only my warehouses) (the warehouses I am responsible for). The row menu has **Gelen Teslimatı Aç** (Open Inbound Delivery). ## Statuses | Status | Meaning | Actions | |---|---|---| | **İnceleme Bekliyor** (Awaiting Review) | The incoming e-Delivery Note did not match the purchase order automatically; the lines must be matched and approved. No goods receipt can be posted until approval. | **İncele ve Onayla** (Review and Approve) · **İptal Et** (Cancel) | | **Bekleniyor** (Expected) | The notified goods are expected. If a delivery note is linked, **Sevk Bildirildi** (Shipment Notified) is shown (goods in transit). | **Mal Kabulü Oluştur** (Create Goods Receipt) · **İptal Et** (Cancel) | | **Kısmen Teslim Alındı** (Partially Received) | Part of it has been received with a goods receipt. | **Mal Kabulü Oluştur** (Create Goods Receipt) · **Kalanı Kapat** (Close Remaining) | | **Tamamlandı** (Completed) | The notified quantity has been received, or the remaining quantity was closed. | — | | **İptal Edildi** (Cancelled) | The notified quantity has been released. | — | For a delivery whose expected date has passed, **Gecikti** (Overdue) appears next to the status. - **İptal Et** (Cancel) (reason required): *"Bildirilen miktar serbest kalır; siparişin açık miktarı yeniden bildirilebilir."* (The notified quantity is released; the open quantity of the purchase order can be notified again.) - **Kalanı Kapat** (Close Remaining) (reason required): *"Kalan artık beklenmiyor — teslimat tamamlanır; siparişin kalanı yeni bir teslimatla bildirilebilir."* (The remaining quantity is no longer expected — the delivery is completed; the remainder of the purchase order can be notified with a new delivery.) ## Create an inbound delivery ![Create Inbound Delivery](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/gelen-teslimat-olustur.png) 1. Source: order or incoming e-despatch 2. Order — magnifier or F4 opens the list 3. Warehouse 4. Expected arrival — required 5. Save Inbound Delivery Select the source at the top: **Siparişten** (From purchase order) or **Gelen e-İrsaliyeden** (From incoming e-Delivery Note). - **Siparişten** (From purchase order): type an order number or supplier in the **Sipariş** (Order) field and press Enter, or open the **Sipariş Seç** (Select Order) window with the magnifier or F4. Multiple purchase orders can be selected; all must be from the same supplier (the supplier of the first selected order determines it). - **Gelen e-İrsaliyeden** (From incoming e-Delivery Note): **İrsaliye ara** (Search delivery note) and select the **Gelen e-İrsaliye** (Incoming e-Delivery Note); lines are suggested to purchase order lines by the supplier's item code (the suggestion is not a rule and can be changed). - Line table: **Sipariş / Satır** (Order / Line), (for a delivery note, **İrsaliye satırı** (Delivery note line)), **Açık** (Open), **Başka teslimatta** (In another delivery), **Miktar** (Quantity). The maximum notifiable quantity per line comes from the server. - **Depo** (Warehouse): comes from the receiving warehouse of the purchase orders; if the order has no warehouse, select one (a notification is sent to the persons responsible for the warehouse). If the purchase orders are received in different warehouses, the delivery is not created — a separate delivery is needed for each warehouse. - **Beklenen Varış** (Expected Arrival) (required), **Tedarikçi İrsaliye No** (Supplier Delivery Note No.), **İrsaliye Tarihi** (Delivery Note Date), **Not** (Note). - **Gelen Teslimatı Kaydet** (Save Inbound Delivery) (**Onayla** (Approve) during review). Rejection messages of the form: | Message | Meaning | |---|---| | *"Beklenen varış gününü seçin."* | Select the expected arrival date. | | *"En az bir sipariş satırı seçin."* | Select at least one order line. | | *"…: miktar sıfırdan büyük olmalı."* | …: the quantity must be greater than zero. | | *"Bir teslimatta en çok 30 sipariş olur."* | A delivery can contain at most 30 orders. | ## Details **Durum** (Status), **Tedarikçi** (Supplier), **Beklenen Varış** (Expected Arrival), **Depo** (Warehouse), **Tedarikçi İrsaliyesi** (Supplier Delivery Note), **İrsaliyedeki Teslim Adresi** (Delivery Address on Delivery Note), **Gelen e-İrsaliye** (Incoming e-Delivery Note), **Hazırlayan** (Prepared By), **Not** (Note), **Kapanış** (Closing); in the items, **Sipariş** (Order), **Bildirilen** (Notified), **Teslim Alınan** (Received), **Kalan** (Remaining). **Mal Kabulü Oluştur** (Create Goods Receipt) opens the goods receipt form with this delivery. ## Related - [Create an inbound delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/gelen-teslimat-olusturma) - [Incoming e-Delivery Notes](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-e-irsaliyeler) --- # Pack a delivery > Place the items of an open outbound delivery into handling units (carton, pallet, crate) and print labels. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar › teslimat detayı › Taşıma Birimi Oluştur (Logistics Management › Outbound Delivery › Deliveries › delivery details › Create Handling Unit) - **Screen route:** `/erp/sales/shipments/{id}` - **Required permission:** `erp-sales-shipments.create` - **Prerequisites:** - The delivery is in **Açık** (Open) status (packing cannot be changed after goods issue). ## Steps 1. Open the open delivery from the **Lojistik Yönetimi › Giden Teslimat › Teslimatlar** (Logistics Management › Outbound Delivery › Deliveries) list. 2. On the **Paketleme** (Packing) card, click **Taşıma Birimi Oluştur** (Create Handling Unit). 3. Select the **Kap Cinsi** (Package Type) (the default is Karton (Carton)). 4. Optionally, select an **Ambalaj Ürünü** (Packaging Item) (it is not deducted from stock) and enter the **Dara (kg)** (Tare (kg)); if the tare is empty, the weight of the packaging item is used. 5. In the **İçerik** (Content) table, enter the **Bu Birime** (In This Unit) quantity per item, or click **Kalanın Tamamı** (All Remaining). If you are placing cartons onto a pallet, select the units under **İçine Konacak Birimler** (Units to Nest Inside). ![Create Handling Unit dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-birimi-olustur.png) 1. Package type — required 2. Packaging item — optional, not issued from stock 3. Tare weight 4. Puts the unpacked remainder into this unit 5. Create 6. Click **Oluştur** (Create). 7. For labels, click **Etiketleri Yazdır** (Print Labels) (for a single unit, the row's **İşlemler › Etiket Yazdır** (Actions › Print Label)). ![Open delivery — picked and packed](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/acik-teslimat-paketlendi.png) 1. Picking status 2. Packing status 3. Picked quantity per item 4. New handling unit (carton, pallet…) 5. Handling unit labels (PDF) **Result:** The items are placed in handling units. The tare and the number of pallets of the units are included in the shipment's load calculation; after goods issue, packing remains read-only. ## What you need to know - Packing is not a precondition for goods issue. - An item can be placed in a unit up to its unpacked remaining quantity: *"…: en fazla N … paketlenebilir."* (…: at most N … can be packed.) A unit must contain at least one item quantity or one nested unit. - The tare is between 0 and 100,000 kg; the note can have up to 256 characters. - Delete an incorrect unit with the row's **İşlemler › Paketi Aç** (Actions › Unpack) menu: the items in it become unpacked, and the units in it move up one level. - If another user changed the delivery at the same time, *"Bu teslimat bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin."* (This delivery was changed by another user in the meantime. Refresh the page and try again.) is displayed — refresh the page. ## Related - [Picking, packing and proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/toplama-paketleme-teyit) - [Create a transportation document](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) --- # Incoming e-Delivery Notes > Suppliers' e-Delivery Notes — inbox, work lists, business partner matching and acceptance/rejection response. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-e-irsaliyeler Suppliers' e-Delivery Notes arrive automatically from the e-Document integrator. After the goods have been counted, an acceptance/rejection response is given line by line (within 7 days). A delivery note that matches a purchase order creates an inbound delivery; a delivery note that does not match becomes a draft inbound delivery in **İnceleme Bekliyor** (Awaiting Review) status ([Inbound deliveries](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-teslimatlar)). - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Gelen Teslimat › Gelen e-İrsaliyeler (Logistics Management › Inbound Delivery › Incoming e-Delivery Notes) - **Screen route:** `/erp/edocuments/incoming-despatches` - **Required permission:** `erp-edocuments-incoming-despatches.view (görme) · .edit (eşleştirme, yanıt)` ![Incoming e-Despatch Advices](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/gelen-e-irsaliyeler.png) 1. Query the inbox now 2. Work list: awaiting response 3. Work list: no partner card 4. Accept / reject response ## List - **Şimdi Çek** (Fetch Now) — queries the inbox within one minute. **Okunmuşları Tara** (Scan Read Items) — rescans the delivery notes of the last 7 days (including those already read). Both send a request to the integrator; if fetching is turned off, the page displays *"Gelen irsaliye çekimi kapalı (e-Belge Ayarları › Belgeler)"* (Fetching incoming delivery notes is turned off (e-Document Settings › Documents)). - Work lists: **Yanıt bekleyen** (Awaiting response) and **Cari kartı olmayan** (Without a business partner card). - Columns: **İrsaliye** (Delivery Note), **Tarih** (Date), **Tedarikçi** (Supplier), **Araç** (Vehicle), **Kalem** (Items), **Yanıt** (Response). Filter: **Ara** (Search). ## Response statuses | Response | Meaning | |---|---| | **Yanıt bekliyor** (Awaiting response) | No acceptance/rejection response has been given. | | **Yanıt gönderiliyor** (Sending response) | The response is in the queue. | | **Kabul edildi** (Accepted) · **Kısmen kabul** (Partially accepted) · **Reddedildi** (Rejected) | The response given. | | **Yanıt gönderilemedi** (Response could not be sent) | Sending the response failed. | | **Yanıt gerekmez** (No response required) | This delivery note does not require a response. | In the details, the delivery note is matched to a business partner card (a card can be created if there is none), and the acceptance/rejection response is entered line by line; for a short or rejected line without a line reason, a general reason is required. > **In the demo installation of the documentation environment, fetching incoming delivery notes is turned off; the list** is empty. Sending a response sends a message to the real supplier. ## Related - [Inbound deliveries](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-teslimatlar) - [Outgoing e-Delivery Notes](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/giden-e-irsaliyeler) --- # Create a transportation document > Plan a shipment — executor (our own fleet or a carrier), planned departure, vehicle and driver, distance and deliveries. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgesi Oluştur (Logistics Management › Transportation › Create Transportation Document) - **Screen route:** `/erp/logistics/transports/new` - **Required permission:** `erp-logistics-transports.create` - **Prerequisites:** - The deliveries to be included in the shipment are not cancelled and not assigned to another shipment (open or with goods issue posted). - For a shipment by our own fleet, the vehicle and driver are defined; for a shipment by a carrier, the carrier is defined. ## Steps 1. Open the **Lojistik Yönetimi › Taşıma › Taşıma Belgesi Oluştur** (Logistics Management › Transportation › Create Transportation Document) screen. 2. Select the **Yürütücü** (Executor): **Kendi filomuz** (Our own fleet) or **Taşıyıcı** (Carrier). For a carrier, select the company in the **Taşıyıcı** (Carrier) field that opens (you can also determine the carrier later with **Taşıyıcı Seç** (Select Carrier)). 3. Enter the **Planlanan Çıkış** (Planned Departure) (required) and the **Planlanan Varış** (Planned Arrival). 4. Select the **Araç** (Vehicle), **Dorse** (Trailer) and **Sürücü** (Driver). They can be left empty when planning; dispatch with our own fleet requires a vehicle and a driver. 5. Enter the **Planlanan Mesafe (km)** (Planned Distance (km)) — it is the basis for per-km freight; if left empty, it is treated as unknown. 6. Click **Teslimat Ekle** (Add Delivery), select the deliveries to add and click **Ekle (N)** (Add (N)). ![Add Delivery dialog — deliveries without a trip](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-ekle.png) 1. Search by delivery no, customer, address 2. Delivery to add to the trip 3. Add 7. Arrange the deliveries in stop sequence with the arrow buttons; enter a **Not** (Note) if necessary. 8. Click **Oluştur** (Create). ![Create Transport Document — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-olustur.png) 1. Executor — own fleet or carrier 2. Carrier 3. Planned departure — required 4. Distance — basis for per-km freight 5. Deliveries — order is stop order 6. Create **Result:** The shipment is in **Planlandı** (Planned) status; the plan and the deliveries can be changed with **Düzenle** (Edit). Next steps: for a carrier shipment, [select the carrier](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme), post the [goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme) for the goods, then [dispatch the shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma). ## What you need to know - A shipment can be planned without deliveries; dispatch requires at least one delivery. A shipment can contain up to 100 documents; the same document appears only once on a shipment. - On a shipment executed by our own fleet, no carrier is selected, and carriers' vehicles and drivers are not listed. The carrier must be selected before selecting the carrier's vehicle or driver. - Exceeding the capacity (weight, volume, pallets) is a warning in the details and does not block saving. If there is an item with unknown dimensions, *"N belgede ölçüsü bilinmeyen kalem var — ağırlık eksik olabilir."* (N documents contain items with unknown dimensions — the weight may be incomplete.) is displayed. - A delivery that is on another shipment cannot be added: *"Şu belgeler başka bir seferde: …"* (The following documents are on another shipment: …); a cancelled delivery cannot be added. - If you want a load proposal for our own vehicles, [Yük Planlama](https://erpdocs.corexlogic.com/en/lojistik/islemler/yuk-planlama-ile-sefer-olusturma) (Load Planning) distributes deliveries without a shipment across the vehicles. ## Related - [Transportation documents screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) --- # Load planning > A proposal that distributes deliveries without a shipment across the capacity of our own vehicles; a load is converted into a shipment with one click. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama Yük Planlama (Load Planning) prepares a **proposal** that distributes deliveries not yet assigned to a shipment across the capacity (kg, m³, pallets) of the vehicles in our own fleet. The proposal does not write any documents; loads are converted into transportation documents with **Sefer Oluştur** (Create Shipment). - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Yük Planlama (Logistics Management › Transportation › Load Planning) - **Screen route:** `/erp/logistics/load-planning` - **Required permission:** `erp-logistics-transports.create` ![Load Planning — proposal](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/yuk-planlama.png) 1. Filter: warehouse, ship date, route 2. Vehicles included in planning 3. Create Proposal — writes no document 4. Turns the load into a trip 5. Unplanned deliveries and reason ## Filter and vehicles - **Depo** (Warehouse) (Bütün depolar (All warehouses)), **Sevk tarihi başlangıç** (Shipping date from) – **Sevk tarihi bitiş** (Shipping date to), **Rota** (Route) (Bütün rotalar (All routes)). - **Araçlar** (Vehicles): the vehicles eligible for planning — active, from our own fleet and with a capacity entered (kg, m³ or pallets). The type and capacity of each vehicle are shown. **Hepsini seç** (Select all) · **Hiçbiri** (None). If no vehicle is eligible, *"Planlamaya uygun araç yok — aktif, kendi filomuzdan ve kapasitesi girilmiş (kg, m³ ya da palet) araç gerekir."* (No vehicle is eligible for planning — an active vehicle from our own fleet with a capacity entered (kg, m³ or pallets) is required.) is displayed. - **Öneri Oluştur** (Create Proposal) prepares the proposal. Filter rejection messages: *"Bitiş tarihi başlangıçtan önce olamaz."* (The end date cannot be before the start date.), *"En az bir araç seçin."* (Select at least one vehicle.) ## Proposal - Summary line: *"N aday teslimat · N planlandı (N araç) · N planlanamadı"* (N candidate deliveries · N planned (N vehicles) · N could not be planned). If the plan found within the time limit has not been proven optimal, *"Süre sınırında bulunan iyi plan — en iyisi olduğu kanıtlanmadı; adayları daraltmak planı iyileştirebilir."* (A good plan found within the time limit — not proven to be the best; narrowing the candidates may improve the plan.) is displayed. - **Load card per vehicle:** license plate and type, number of deliveries and route, **Planlanan çıkış** (Planned departure) (can be changed), **Ağırlık** (Weight), **Hacim** (Volume), **Palet** (Pallets) fill bars (value / capacity · percentage) and the delivery table (Teslimat (Delivery), Tarih (Date), Müşteri (Customer), Varış (Destination), Rota (Route), Ağırlık (Weight), Hacim (Volume), Palet (Pallets)). An unpacked delivery is not counted in pallet utilization; the card says so. - **Sefer Oluştur** (Create Shipment) converts that load into a transportation document executed by our own fleet; **Tümünü Seferlere Çevir** (Convert All to Shipments) converts all loads. The created shipments are listed with links under the **Oluşturulan seferler** (Created shipments) heading; a load that could not be converted is listed with its reason under **Seferleşemeyen yükler** (Loads that could not be converted to shipments). - **Planlanamayan teslimatlar** (Deliveries that could not be planned): Teslimat (Delivery), Tarih (Date), Müşteri (Customer), Ağırlık (Weight), Hacim (Volume) and **Sebep** (Reason) (e.g. *"Ağırlığı ya da hacmi bilinmiyor (ölçüsü tanımsız ürün) — kapasitesi tanımlı araca konamaz."* (Weight or volume unknown (product without defined dimensions) — cannot be placed on a vehicle with a defined capacity.)). Weight and volume come from the dimensions on the product card; a delivery carrying a product without dimensions cannot be placed on a vehicle with a defined capacity. Shipments to be executed by a carrier are not opened on this screen, but with [Taşıma Belgesi Oluştur](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) (Create Transportation Document). ## Related - [Create shipments with load planning](https://erpdocs.corexlogic.com/en/lojistik/islemler/yuk-planlama-ile-sefer-olusturma) - [Transportation documents](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) --- # Create shipments with load planning > Prepare a proposal that distributes deliveries without a shipment across the capacity of our own vehicles, and convert the loads into shipments. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/yuk-planlama-ile-sefer-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Yük Planlama (Logistics Management › Transportation › Load Planning) - **Screen route:** `/erp/logistics/load-planning` - **Required permission:** `erp-logistics-transports.create` - **Prerequisites:** - Our own fleet has an active vehicle with a capacity (kg, m³ or pallets) entered. - There are deliveries not assigned to a shipment; weight or volume is defined on the product cards. ## Steps 1. Open the **Lojistik Yönetimi › Taşıma › Yük Planlama** (Logistics Management › Transportation › Load Planning) screen. 2. If necessary, narrow the candidates with **Depo** (Warehouse), **Sevk tarihi başlangıç** (Shipping date from) – **Sevk tarihi bitiş** (Shipping date to) and **Rota** (Route). 3. In the **Araçlar** (Vehicles) list, select the vehicles to include in planning (**Hepsini seç** (Select all) · **Hiçbiri** (None)). 4. Click **Öneri Oluştur** (Create Proposal). ![Load Planning — proposal](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/yuk-planlama.png) 1. Filter: warehouse, ship date, route 2. Vehicles included in planning 3. Create Proposal — writes no document 4. Turns the load into a trip 5. Unplanned deliveries and reason 5. On the load card, check the fill bars and the deliveries; if necessary, change the **Planlanan çıkış** (Planned departure). 6. To convert the load into a shipment, click **Sefer Oluştur** (Create Shipment) on the card (for all loads, **Tümünü Seferlere Çevir** (Convert All to Shipments)). **Result:** Each load becomes a transportation document in **Planlandı** (Planned) status, executed by our own fleet, with the vehicle (or trailer) filled in; its note is "Yük planlama önerisinden" (From load planning proposal). The driver and arrival time are entered in the shipment details with **Düzenle** (Edit). ## What you need to know - The proposal does not write any documents; leaving the screen changes nothing. - A delivery whose weight or volume is unknown cannot be placed on a vehicle with a defined capacity and is listed with its reason under **Planlanamayan teslimatlar** (Deliveries that could not be planned). Enter the dimensions on the product card and create the proposal again. - An unpacked delivery is not counted in pallet utilization. - Planning is time-limited; if *"Süre sınırında bulunan iyi plan — en iyisi olduğu kanıtlanmadı…"* (A good plan found within the time limit — not proven to be the best…) is displayed, narrow the candidates with the warehouse, date or route filter. - Shipments to be executed by a carrier are not opened from this screen, but with [Taşıma Belgesi Oluştur](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) (Create Transportation Document). ## Related - [Load planning screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama) --- # Carrier selection and tendering > Select a carrier for a planned shipment — ranking by tariff and assignment; a tender that collects bids from carriers, and the decision. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyici-secimi-ve-ihale The carrier for a planned shipment is selected in one of two ways: 1. **Rule-based ranking** — the **Taşıyıcı Seç** (Select Carrier) window in the shipment details ranks the active carriers by their freight agreements; **Ata** (Assign) writes the carrier to the shipment. 2. **Tender** — bids are requested from carriers, the responses are entered, and **Karar Ver** (Decide) assigns the shipment to the winner. The document number is **IHL-yyyy-nnnnnn**. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıyıcı Seçimi ve İhale (Logistics Management › Transportation › Carrier Selection and Tendering) - **Screen route:** `/erp/logistics/transport-tenders` - **Required permission:** `erp-logistics-transport-tenders.view (görme) · .create (ihale açma) · .edit (cevap girme, iptal)`, `erp-logistics-transports.edit (karar verme ve taşıyıcı atama — seferi değiştirir)`, `erp-logistics-freight-agreements.view (sefer detayındaki Taşıyıcı Seç)` ## Select Carrier window (shipment details) ![Select Carrier dialog — ranking by tariff](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyici-sec.png) 1. Ranking: cost or priority 2. Freight from the agreement 3. Assign — carrier is written to the trip 4. Tender with the selected carriers It appears only on a shipment in **Planlandı** (Planned) status. The amount is calculated from the freight agreement valid on the shipment's departure date, using the shipment's measurements; it is a suggestion, and the user makes the assignment. - **Sıralama** (Ranking): **Maliyet** (Cost) or **Öncelik** (Priority) (the priority on the carrier card; 1 is the highest priority). - Columns: **İhaleye davet** (Invite to tender) (check box), **Sıra** (Rank), **Taşıyıcı** (Carrier) (the contact's e-mail), **Öncelik** (Priority), **Anlaşma** (Agreement), **Navlun** (Freight), **Not** (Note) (e.g. *"Eksik ölçü: …"* (Missing measurement: …)) and **Ata** (Assign). - **Ata** (Assign) writes the carrier to the shipment, and the shipment's freight is calculated (shown on the Navlun (Freight) card). The carrier's vehicle and driver are then selected with **Düzenle** (Edit). - **İhaleye Çıkar (N)** (Put Out to Tender (N)) opens the tender window with the selected carriers (up to 20). - If there is no active carrier, *"Etkin taşıyıcı yok — Ana Veriler › Taşıyıcılar'da tanımlayın."* (There is no active carrier — define one in Master Data › Carriers.) is displayed. ## Tender list ![Carrier Selection and Tendering list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/ihale-listesi.png) 1. New tender 2. Response deadline 3. Quoted / invited 4. Awarded carrier Columns: **İhale No** (Tender No.), **Sefer** (Shipment), **Cevap Son Tarihi** (Response Deadline), **Durum** (Status), **Teklif / Davet** (Bids / Invitations), **Kazanan** (Winner). Filters: **Ara** (Search), **Durum** (Status). **İhale Oluştur** (Create Tender) opens an empty tender window. | Tender status | Meaning | |---|---| | **Açık** (Open) | Bids are being collected. If the response deadline has passed, **Son tarih geçti** (Deadline passed) appears next to it. | | **Karar Verildi** (Decided) | The winner has been selected; the shipment has been assigned to the winner. | | **İptal** (Cancelled) | The tender is closed; the shipment remains as it was. If the shipment is cancelled, its open tender is also cancelled. | | Invitee status | Meaning | |---|---| | **Davet Edildi** (Invited) | A response is expected. | | **Teklif Verdi** (Bid Submitted) | An amount has been entered; a decision can be made. | | **Reddetti** (Declined) | The carrier did not submit a bid. | | **Kazandı** (Won) · **Kaybetti** (Lost) | After the decision. | ## Put Out to Tender window ![Tender dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/ihale-olustur.png) 1. Trip — planned only 2. Response deadline — in the future 3. Invited carriers 4. Open Tender - **Sefer** (Shipment) (required) — planned shipments only. - **Cevap Son Tarihi** (Response Deadline) (required) — must be in the future; the default is tomorrow at 17:00. - **Not** (Note) — a note sent to the carrier (loading time, special terms); up to 500 characters. - **Davetliler** (Invitees) (required) — added with **Taşıyıcı ekle** (Add carrier); an optional e-mail for each invitee. - **E-posta** (E-mail) — if enabled, invitees with an e-mail address receive the shipment plan, cargo and destinations (no prices are included). Sending is done from a queue; SMTP must be configured. If no invitee has an e-mail address, the tender is opened without e-mail, and bids are taken by phone and entered. - **İhaleyi Aç** (Open Tender) creates the tender and opens its details. ## Tender details ![Tender detail — quotes and award](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/ihale-detay.png) 1. Invitee status 2. Comparison amount from the agreement 3. Enter Response — quote or decline 4. Award — trip goes to the winner 5. Cancel the tender At the top: **Durum** (Status), **Sefer** (Shipment), **Cevap Son Tarihi** (Response Deadline), **Açan** (Opened By), **Not** (Note), **Kapanış** (Closing), **İptal Nedeni** (Cancellation Reason). The **Davetliler** (Invitees) table: **Taşıyıcı** (Carrier) (priority), **Durum** (Status), **Teklif** (Bid), **Tarife** (Tariff) (the agreement's amount for the same shipment — for comparison), **E-posta** (E-mail) (Gönderildi (Sent) · Kuyrukta (Queued) · Gönderilemedi (Could not be sent) · Gönderilmedi (Not sent) · —), **Cevap** (Response) (time and note), **Eylemler** (Actions). - **Cevap Gir** (Enter Response) — enters the carrier's bid (**Teklif** (Bid) amount and currency) or declination (**Reddetti** (Declined)); the decision is made separately. - **Karar Ver** (Decide) — only for a carrier that has submitted a bid: *"İhale kapanır, öteki bekleyen teklifler kaybeder."* (The tender is closed; the other pending bids lose.) The shipment proceeds with the winning carrier, and its freight becomes the tender price; the shipment's own fleet resources are removed from the plan. If the freight is recalculated from the agreement, it replaces the tender price. If the shipment is no longer planned, *"Sefer artık planlı değil — karar verilemez."* (The shipment is no longer planned — no decision can be made.) is displayed. - **İptal Et** (Cancel) (**İptal Nedeni** (Cancellation Reason) required) — *"İhale kapanır; sefer olduğu gibi kalır ve yeni ihale açılabilir."* (The tender is closed; the shipment remains as it is, and a new tender can be opened.) ## Related - [Select the carrier for a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) - [Open a carrier tender](https://erpdocs.corexlogic.com/en/lojistik/islemler/ihale-acma) - [Freight agreements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari) --- # Select the carrier for a shipment > Rank carriers for a planned shipment by freight agreement, assign the carrier and calculate the freight. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgeleri › sefer detayı › Taşıyıcı Seç (Logistics Management › Transportation › Transportation Documents › shipment details › Select Carrier) - **Screen route:** `/erp/logistics/transports/{id}` - **Required permission:** `erp-logistics-transports.edit`, `erp-logistics-freight-agreements.view` - **Prerequisites:** - The shipment is in **Planlandı** (Planned) status. - The carriers have a freight agreement valid on the shipment's departure date; for a per-km tariff, the distance is entered on the shipment. ## Steps 1. In the details of the planned shipment, click **Taşıyıcı Seç** (Select Carrier). ![Planned trip — no carrier yet, open tender](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-planlandi.png) 1. Status: Planned 2. Select Carrier — ranked by tariff 3. Dispatch 4. Edit — planned trips only 5. The trip's open tender 6. Load and capacity 2. Select the **Sıralama** (Ranking): **Maliyet** (Cost) (the freight calculated from the agreement) or **Öncelik** (Priority) (the priority on the carrier card). 3. Compare the **Navlun** (Freight), **Anlaşma** (Agreement) and **Not** (Note) columns. The amount of a carrier marked *Eksik ölçü* (Missing measurement) does not include the basis whose quantity is unknown. ![Select Carrier dialog — ranking by tariff](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyici-sec.png) 1. Ranking: cost or priority 2. Freight from the agreement 3. Assign — carrier is written to the trip 4. Tender with the selected carriers 4. On the row of the carrier you choose, click **Ata** (Assign). 5. For the carrier's vehicle and driver, click **Düzenle** (Edit), select the **Araç** (Vehicle) and **Sürücü** (Driver), and click **Kaydet** (Save). **Result:** The shipment proceeds with the selected carrier; its freight appears on the Navlun (Freight) card. If the plan changes later (distance, deliveries, departure date), update the freight with **Yeniden Hesapla** (Recalculate). ## What you need to know - The ranking is a suggestion; the user makes the assignment. If you want to collect bids, select the carriers with **İhaleye davet** (Invite to tender) and click **İhaleye Çıkar** (Put Out to Tender): [Open a carrier tender](https://erpdocs.corexlogic.com/en/lojistik/islemler/ihale-acma). - Carrier selection is possible only on a planned shipment. - To calculate the freight manually, use **Navlunu Hesapla** (Calculate Freight) / **Yeniden Hesapla** (Recalculate) on the Navlun (Freight) card. If there is no valid agreement: *"Taşıyıcının seferin çıkış gününde geçerli navlun anlaşması yok."* (The carrier has no freight agreement valid on the shipment's departure date.) - Once the freight has been included in a settlement, it is not recalculated. ## Related - [Carrier selection and tendering screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyici-secimi-ve-ihale) - [Create a freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma) --- # Freight settlements > The freight of a carrier's completed shipments in a single document — creation, VAT, cancellation; the carrier's invoice is matched against it. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-hesaplasmalari A freight settlement collects the calculated freight of a carrier's **completed** shipments in a single document. The carrier's invoice is linked to this document in incoming invoices. The document number is **NHS-yyyy-nnnnnn**. This page describes the screens from an operational point of view; the accounting entry and invoice matching are the responsibility of Finance. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Navlun Hesaplaşmaları · Navlun Hesaplaşması Oluştur (Logistics Management › Transportation › Freight Settlements · Create Freight Settlement) - **Screen route:** `/erp/logistics/freight-settlements` - **Required permission:** `erp-logistics-freight-settlements.view (görme) · .create (oluşturma, iptal)` ## List Columns: **Hesaplaşma No** (Settlement No.), **Tarih** (Date), **Taşıyıcı** (Carrier), **Sefer** (Shipments) (number of shipments), **Durum** (Status), **Genel Toplam** (Grand Total). Filters: **Ara** (Search) (settlement no., carrier or shipment), **Durum** (Status), **Başlangıç** (From) – **Bitiş** (To). The row menu has **Navlun Hesaplaşmasını Aç** (Open Freight Settlement). | Status | Meaning | |---|---| | **Kaydedildi** (Saved) | The document is valid; the freight of its shipments is frozen (not recalculated). If it is linked to an invoice, **Faturaya bağlı** (Linked to invoice) appears next to it. | | **İptal Edildi** (Cancelled) | The shipments are released; their freight can be recalculated and settled again. | ## Create a freight settlement ![Create Freight Settlement](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-olustur.png) 1. Carrier 2. Currency — one per document 3. Settlement date 4. Completed trip with calculated freight 5. Save Settlement - When the **Taşıyıcı** (Carrier) (required) is selected, the **Seferler** (Shipments) table lists the carrier's completed shipments that have not been settled: **Sefer** (Shipment), **Çıkış** (Departure), **Varış** (Arrival), **Anlaşma** (Agreement), **Navlun (KDV hariç)** (Freight (excl. VAT)) and the calculation time. **Tümünü Seç** (Select All) / **Seçimi Kaldır** (Clear Selection). - Below a shipment that cannot be selected, the reason is shown: *"Navlun hesaplanmadı — sefer detayında hesaplayın."* (Freight has not been calculated — calculate it in the shipment details.) or *"Navlun … — hesaplaşma …; para birimleri toplanmaz."* (Freight … — settlement …; currencies are not added together.) - **Para Birimi** (Currency) (required) — a document carries a single currency. **Hesaplaşma Tarihi** (Settlement Date) (required), **Not** (Note). - The bottom bar shows the subtotal of the selection; VAT is calculated on the server with the default tax rate. - **Hesaplaşmayı Kaydet** (Save Settlement) posts the document and opens its details. ## Details ![Freight settlement detail](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-detay.png) 1. Status 2. Total incl. VAT 3. Cancel — if not linked to an invoice **Durum** (Status), **Taşıyıcı** (Carrier) (tax ID), **Hesaplaşma Tarihi** (Settlement Date), **Hazırlayan** (Prepared By), **Tutar (KDV hariç)** (Amount (excl. VAT)), **KDV** (VAT) (rate code and percentage), **Genel Toplam** (Grand Total), **Not** (Note), **İptal** (Cancellation); the **Seferler** (Shipments) table (Sefer (Shipment), Çıkış Günü (Departure Date), Anlaşma (Agreement), Navlun (Freight), KDV (VAT)). **İptal Et** (Cancel) (**İptal Nedeni** (Cancellation Reason) required) appears only on a saved document that is not linked to an invoice: *"Seferler serbest kalır; navlunları yeniden hesaplanabilir ve yeniden hesaplaşılabilir."* (The shipments are released; their freight can be recalculated and settled again.) ## Rejection messages | Message | Meaning | Cause | |---|---|---| | *"Hesaplaşılacak en az bir sefer seçin."* | Select at least one shipment to settle. | Nothing is selected. | | *"TSM-… tamamlanmadı — yalnız tamamlanmış sefer hesaplaşır."* | TSM-… is not completed — only completed shipments can be settled. | The shipment is in transit or planned. | | *"TSM-… başka bir hesaplaşmada."* | TSM-… is in another settlement. | The shipment has already been settled. | | *"TSM-… bu taşıyıcının seferi değil."* | TSM-… is not a shipment of this carrier. | A shipment of another carrier. | | *"Seferin navlunu NHS-… hesaplaşmasında — önce hesaplaşmayı iptal edin."* | The shipment's freight is in settlement NHS-… — cancel the settlement first. | An attempt was made to recalculate the freight of a settled shipment. | | *"'NHS-…' faturalanmış (gelen e-Faturaya bağlı ya da fatura referansı var) — iptal edilemez: …"* | 'NHS-…' has been invoiced (linked to an incoming e-Invoice or has an invoice reference) — it cannot be cancelled: … | An attempt was made to cancel a document linked to an invoice. | ## Related - [Create a freight settlement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma) - [Transportation documents](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) - [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) — Navlun Maliyeti (Freight Cost) --- # Open a carrier tender > Request bids from carriers for a planned shipment, enter the responses and decide on the winner. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/ihale-acma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıyıcı Seçimi ve İhale (Logistics Management › Transportation › Carrier Selection and Tendering) - **Screen route:** `/erp/logistics/transport-tenders` - **Required permission:** `erp-logistics-transport-tenders.create`, `erp-logistics-transport-tenders.edit`, `erp-logistics-transports.edit` - **Prerequisites:** - The shipment is in **Planlandı** (Planned) status; the shipment has no other open tender. - The companies to be invited are [defined as carriers](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama). ## Steps 1. On the **Lojistik Yönetimi › Taşıma › Taşıyıcı Seçimi ve İhale** (Logistics Management › Transportation › Carrier Selection and Tendering) screen, click **İhale Oluştur** (Create Tender) (it can also be opened with **İhaleye Çıkar** (Put Out to Tender) from the **Taşıyıcı Seç** (Select Carrier) window in the shipment details). ![Tender dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/ihale-olustur.png) 1. Trip — planned only 2. Response deadline — in the future 3. Invited carriers 4. Open Tender 2. Select the planned shipment in the **Sefer** (Shipment) field. 3. Enter the **Cevap Son Tarihi** (Response Deadline) (it must be in the future; the default is tomorrow at 17:00) and write the **Not** (Note) for the carrier. 4. Under **Davetliler** (Invitees), add the carriers with **Taşıyıcı ekle** (Add carrier); if they will be invited by e-mail, enter the e-mail address. 5. Decide on the **E-posta** (E-mail) option: if enabled, invitees with an e-mail address receive the shipment plan, cargo and destinations (no prices are included). Turn it off if you will take bids by phone. 6. Click **İhaleyi Aç** (Open Tender). 7. When the carrier's response arrives, click **Cevap Gir** (Enter Response) on the invitee row; enter the **Teklif** (Bid) amount and currency (or select **Reddetti** (Declined)) and click **Kaydet** (Save). ![Tender detail — quotes and award](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/ihale-detay.png) 1. Invitee status 2. Comparison amount from the agreement 3. Enter Response — quote or decline 4. Award — trip goes to the winner 5. Cancel the tender 8. On the row of the winning carrier, click **Karar Ver** (Decide) and confirm with **Karar Ver** (Decide) in the window. **Result:** The tender is closed, and the other pending bids become **Kaybetti** (Lost). The executor of the shipment is the winning carrier; its own fleet resources are removed from the plan, and its freight is the tender price. ## What you need to know - Up to 20 carriers can be invited to a tender; the same carrier can be invited only once. - E-mails are sent from a queue, and SMTP must be configured in the installation. If no invitee has an e-mail address, the tender is opened without e-mail. The row's **E-posta** (E-mail) column shows the status (Gönderildi (Sent) · Kuyrukta (Queued) · Gönderilemedi (Could not be sent) · Gönderilmedi (Not sent)). - For an open tender whose response deadline has passed, **Son tarih geçti** (Deadline passed) appears next to its status. - A decision can be made only for a carrier that has submitted a bid, and the shipment must be planned (*"Sefer artık planlı değil — karar verilemez."* (The shipment is no longer planned — no decision can be made.)). Because the decision changes the shipment, the `erp-logistics-transports.edit` permission is required. - If the freight is later recalculated from the agreement, it replaces the tender price. - To abandon the tender, use **İptal Et** (Cancel) (**İptal Nedeni** (Cancellation Reason) required); the shipment remains as it is. ## Related - [Carrier selection and tendering screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyici-secimi-ve-ihale) - [Select the carrier for a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) --- # Transport orders > The customer order of a company that sells transportation as a service — the charge comes from the customer's freight tariff, and the order is invoiced when completed. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/nakliye-siparisleri A transport order is a transportation service **sold** to a customer: loading and delivery location, cargo and dimensions. The charge is not entered manually; on approval, it is calculated from the customer's freight agreement of type **Müşteri (satış)** (Customer (sales)) and fixed. A completed order is invoiced with the service item. The document number is **NKS-yyyy-nnnnnn**. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Nakliye Siparişleri · Nakliye Siparişi Oluştur (Logistics Management › Transportation › Transport Orders · Create Transport Order) - **Screen route:** `/erp/logistics/forwarding-orders` - **Required permission:** `erp-logistics-forwarding-orders.view (görme) · .create (oluşturma) · .edit (düzenleme, onay, sefere bağlama, tamamlama, iptal)`, `erp-invoicing-invoices.create (Fatura Oluştur)` ## Statuses and actions | Status | Meaning | Actions | |---|---|---| | **Taslak** (Draft) | Can be edited; the charge is previewed. | **Düzenle** (Edit) · **Onayla** (Approve) (if the preview has no blocker) · **İptal Et** (Cancel) | | **Onaylandı** (Approved) | The charge is fixed. | **Sefere Bağla** (Link to Shipment) / **Seferi Değiştir** (Change Shipment) · **Tamamla** (Complete) · **İptal Et** (Cancel) | | **Tamamlandı** (Completed) | The transportation has been performed. | **Fatura Oluştur** (Create Invoice) (if not invoiced) · **İptal Et** (Cancel) (if not invoiced) | | **İptal Edildi** (Cancelled) | Cannot be undone. | — | For an invoiced order, **Faturalandı** (Invoiced) appears next to its status; an invoiced order cannot be cancelled. ## List Columns: **Sipariş No** (Order No.), **Yükleme** (Loading), **Müşteri** (Customer), **Güzergâh** (Route), **Sefer** (Shipment), **Durum** (Status), **Genel Toplam** (Grand Total). Filters: **Ara** (Search), **Durum** (Status), **Yükleme (başlangıç)** (Loading (from)) – **Yükleme (bitiş)** (Loading (to)). ## Create / edit a transport order ![Create Forwarding Order](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-olustur.png) 1. Customer — search first 2. Pickup and delivery place 3. Cargo and measures — tariff basis 4. Service item for the invoice 5. Save — draft | Section | Fields | |---|---| | **Müşteri ve güzergâh** (Customer and route) | **Müşteri ara** (Search customer) (code or company name) and **Müşteri** (Customer) (required); **Yükleme yeri** (Loading location) and **Teslim yeri** (Delivery location) (required); **Yükleme günü** (Loading date) (required); **İstenen teslim** (Requested delivery). | | **Yük** (Cargo) | **Yük tanımı** (Cargo description) (required); **Koli** (Cartons), **Palet** (Pallets), **Ağırlık (kg)** (Weight (kg)), **Hacim (m³)** (Volume (m³)), **Mesafe (km)** (Distance (km)). An empty dimension means "unknown" — if the tariff has that basis, the order cannot be approved; it is not counted as zero. | | **Faturalama** (Invoicing) | **Hizmet ürünü ara** (Search service item) and **Hizmet ürünü** (Service item) (required — a sellable, non-stock card; the invoice line); **Vergi oranı** (Tax rate) (Varsayılan (Default) or the selected rate); **Not** (Note). | **Kaydet** (Save) saves the draft. Only a draft can be edited. ## Details ![Draft forwarding order — charge preview](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-taslak.png) 1. Confirm — charge is fixed 2. Edit — draft only 3. Preview from the customer tariff The details show **Durum** (Status), **Müşteri** (Customer), **Yükleme günü** (Loading date), **İstenen teslim** (Requested delivery), **Yükleme yeri** (Loading location), **Teslim yeri** (Delivery location), **Sefer** (Shipment), **Tamamlanma** (Completion), **Yük** (Cargo), **Ölçüler** (Dimensions), **Hizmet ürünü** (Service item), **Vergi** (Tax), **Not** (Note), **Hazırlayan** (Prepared By). On a draft, the **Ücret** (Charge) section shows *"Önizleme — onayda sabitlenir · tarife …"* (Preview — fixed on approval · tariff …) and the basis lines (Dayanak (Basis), Miktar (Quantity), Birim ücret (Unit rate), En az (Minimum), Tutar (Amount)); if the preview has a blocker, **Onayla** (Approve) is disabled and hovering over it shows the reason. ![Confirmed forwarding order](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-onayli.png) 1. Status: Confirmed 2. Link the executing trip 3. Complete — becomes billable 4. Charge fixed at confirmation - **Sefere Bağla** (Link to Shipment) — select the shipment (our own fleet or a carrier) that performs the transportation; the link does not change the charge. **Bağı Kaldır** (Remove Link) removes the link. - **Tamamla** (Complete) — enter the **Tamamlanma günü** (Completion date): *"Taşıma yapıldı; sipariş faturalanabilir olur."* (The transportation has been performed; the order becomes invoiceable.) - **İptal Et** (Cancel) — **Gerekçe** (Reason) is required: *"İptal geri alınmaz. Faturalanmış sipariş iptal edilmez — önce faturayı kaldırın."* (Cancellation cannot be undone. An invoiced order cannot be cancelled — remove the invoice first.) - **Fatura Oluştur** (Create Invoice) — enter the **Fatura tarihi** (Invoice date), then **Taslak Oluştur** (Create Draft): *"Hizmet ürünü × 1, onayda sabitlenen ücretle giden fatura taslağı. Kesinleşme ve gönderim faturada."* (A draft outgoing invoice with service item × 1 at the charge fixed on approval. Finalization and sending are done on the invoice.) ## Related - [Create a transport order](https://erpdocs.corexlogic.com/en/lojistik/islemler/nakliye-siparisi-olusturma) - [Freight agreements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari) - [Invoicing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) --- # Dispatch a shipment > Record the departure of a planned shipment — goods issue of the deliveries, vehicle/driver or carrier conditions. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgeleri › sefer detayı › Yola Çıkar (Logistics Management › Transportation › Transportation Documents › shipment details › Dispatch) - **Screen route:** `/erp/logistics/transports/{id}` - **Required permission:** `erp-logistics-transports.edit` - **Prerequisites:** - The shipment is in **Planlandı** (Planned) status and has at least one delivery. - The **goods issue has been posted** for all deliveries on the shipment ([post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme)). - For our own fleet, a vehicle and a driver are selected; for a carrier shipment, the carrier is selected. ## Steps 1. Open the shipment details. If loading has been done, first record the **Yüklendi** (Loaded) event with **Olay Kaydet** (Record Event) (optional). 2. Click **Yola Çıkar** (Dispatch). ![Dispatch dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/yola-cikar.png) 1. Departure time — now if empty 2. Dispatch 3. Check the **Yola çıkış** (Departure) time (the default is now) and click **Yola Çıkar** (Dispatch) in the window. ![Trip in transit — events](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-yolda.png) 1. Status: In transit 2. Complete — arrival is written, trip closes 3. Record Event — arrival, delivery, delay, problem 4. Event timeline **Result:** The shipment becomes **Yolda** (In Transit); the plan and the deliveries are frozen. In Teslimat İzleme (Delivery Monitor), the deliveries move to the **Yolda** (In transit) stage. Next step: [record a shipment event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme). ## What you need to know Server rejection messages: | Message | Meaning | What to do | |---|---|---| | *"Mal çıkışı kaydedilmemiş ya da iptal edilmiş teslimatla sefer yola çıkamaz: SV-…"* | A shipment cannot be dispatched with a delivery whose goods issue has not been posted or that has been cancelled: SV-… | Post the goods issue for the deliveries, or remove the cancelled one from the shipment. | | *"Belgesiz sefer yola çıkamaz — en az bir teslimat atayın."* | A shipment without documents cannot be dispatched — assign at least one delivery. | Add a delivery with **Düzenle** (Edit). | | *"Kendi filomuzla yapılan sefer araç ve sürücü olmadan yola çıkamaz."* | A shipment executed by our own fleet cannot be dispatched without a vehicle and a driver. | Select a vehicle and a driver with **Düzenle** (Edit). | | *"Taşıyıcıya verilen sefer taşıyıcı seçilmeden yola çıkamaz."* | A shipment given to a carrier cannot be dispatched without selecting the carrier. | [Select the carrier](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme). | | *"Yalnız planlanan sefer yola çıkar."* | Only a planned shipment can be dispatched. | The shipment is already in transit, completed or cancelled. | A dispatched shipment cannot be cancelled; it is completed. ## Related - [Transportation documents screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) - [Complete a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama) --- # Vehicles and drivers > Our own vehicles and carriers' vehicles, drivers — capacity, ownership, documents with expiry dates and their alerts. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/araclar-ve-suruculer The fleet screens hold the vehicles and drivers used on shipments: our own vehicles (owned or leased) and carriers' vehicles; our own drivers and carriers' drivers. The list and creation are in the same place — there is no separate "Create" screen. Records are not deleted; to take one out of use, set it to inactive. Past documents are not affected. The address of the vehicle screen is `/erp/logistics/fleet/vehicles`, and that of the driver screen is `/erp/logistics/fleet/drivers`. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Filo › Araçlar · Sürücüler (Logistics Management › Fleet › Vehicles · Drivers) - **Screen route:** `/erp/logistics/fleet/vehicles` - **Required permission:** `erp-logistics-fleet.view (görme) · .create (ekleme) · .edit (düzenleme)`, `erp-logistics-driver-identity.view (sürücünün TC kimlik ve ehliyet numarasını görme)` ## Vehicles ![Vehicles list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/araclar.png) 1. New vehicle 2. Filter by document expiry 3. Next document expiry 4. Capacity — kg, m³, pallets Columns: **Plaka** (License Plate), **Tip** (Type), **Marka / Model** (Make / Model), **Sahiplik** (Ownership) (the carrier's name for a carrier's vehicle), **Kapasite** (Capacity) (kg · m³ · pallets), **Sıradaki Belge Bitişi** (Next Document Expiry), **Durum** (Status) (Aktif · Pasif (Active · Inactive)). Filters: **Ara** (Search), **Tip** (Type), **Sahiplik** (Ownership), **Belge Durumu** (Document Status) (Dikkat gerektiren (Needs attention) · Süresi dolmuş (Expired) · Süresi yaklaşan (30 gün) (Expiring soon (30 days)) · Geçerli (Valid)) and **Pasifleri göster** (Show inactive). **Araç Ekle** (Add Vehicle) opens the new vehicle window; the row menu **İşlemler › Düzenle** (Actions › Edit) opens a saved vehicle. In the next document expiry column, the document status is shown in color: **Geçerli** (Valid), **Süresi yaklaşıyor** (Expiring soon), **Süresi doldu** (Expired); a vehicle without documents shows **Belge yok** (No documents). ![New Vehicle dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/arac-ekle.png) 1. Tabs: General, Capacity, Documents 2. Plate — identity 3. Vehicle type 4. Ownership — owned, leased, carrier 5. Create The vehicle window has three tabs: | Tab | Fields | |---|---| | **Genel** (General) | **Plaka** (License Plate) (required; it is the identifier and follows the same rule as the plate on the e-Delivery Note — e.g. 34 ABC 123; stored in upper case without spaces), **Araç Tipi** (Vehicle Type) (Çekici (Tractor unit) · Kamyon (Truck) · Kamyonet / Panelvan (Light truck / Panel van) · Dorse (Trailer) · Binek (Passenger car) · Diğer (Other)), **Marka / Model** (Make / Model), **Model Yılı** (Model Year), **Sahiplik** (Ownership) (Öz mal (Owned) · Kiralık (Leased) · Taşıyıcının (Carrier's)), **Taşıyıcı** (Carrier) (required if Taşıyıcının (Carrier's)), **Aktif** (Active), **Not** (Note). | | **Kapasite** (Capacity) | **Taşıma Kapasitesi (kg)** (Load Capacity (kg)), **Hacim (m³)** (Volume (m³)), **Palet Kapasitesi** (Pallet Capacity). Empty = unknown, not zero. A tractor unit's capacity is on its trailer; leave it empty on the tractor unit. | | **Belgeler** (Documents) | Document lines: type (**Muayene** (Inspection), **Trafik Sigortası** (Compulsory Traffic Insurance), **Kasko** (Comprehensive Insurance), **Takograf** (Tachograph), **Diğer** (Other)), number, **Geçerlilik Bitişi** (Valid Until) (required), note. | Only active vehicles in our own fleet with a capacity entered are included in load planning. ## Drivers ![Drivers list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/suruculer.png) 1. New driver 2. License classes 3. Own driver or carrier driver 4. License, SRC, psychotechnic expiry Columns: **Ad Soyad** (Full Name), **TC Kimlik No** (National ID No.) (masked; visible with the identity permission), **Ehliyet** (Driver's License) (classes), **Taşıyıcı** (Carrier) (empty for our own driver), **Sıradaki Belge Bitişi** (Next Document Expiry), **Durum** (Status). Filters: **Ara** (Search), **Belge Durumu** (Document Status), **Pasifleri göster** (Show inactive). ![New Driver dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/surucu-ekle.png) 1. First and last name — required 2. National ID — for the e-despatch driver 3. License classes 4. Own driver or carrier | Tab | Fields | |---|---| | **Genel** (General) | **Ad** (First Name), **Soyad** (Last Name) (required), **TC Kimlik No** (National ID No.) (for the driver on the e-Delivery Note; personal data), **Telefon** (Phone), **Ehliyet Sınıfları** (License Classes) (e.g. C, CE), **Ehliyet No** (License No.), **Taşıyıcı** (Carrier) (**Kendi sürücümüz** (Our own driver) or a carrier), **Aktif** (Active), **Not** (Note). | | **Belgeler** (Documents) | **Ehliyet** (Driver's License), **SRC Belgesi** (SRC Certificate), **Psikoteknik** (Psychotechnical Assessment), **Diğer** (Other) — number and expiry date. | A user without the identity permission cannot see the national ID and driver's license numbers; the window shows *"Kayıtlı — görmek için kimlik izni gerekir"* (Recorded — the identity permission is required to view it) or *"Kimlik izni gerekir"* (Identity permission required). Rule on shipments: on a shipment executed by our own fleet, a carrier's vehicle and driver cannot be selected; on a carrier shipment, only that carrier's vehicles and drivers can be selected; inactive vehicles and drivers cannot be selected. ## Related - [Define a vehicle](https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama) - [Define a driver](https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama) - [Fleet operations](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi) --- # Record a shipment event > Record loading, arrival, delivery, delay and issue events on a shipment; the delivery event carries the recipient's name. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgeleri › sefer detayı › Olay Kaydet (Logistics Management › Transportation › Transportation Documents › shipment details › Record Event) - **Screen route:** `/erp/logistics/transports/{id}` - **Required permission:** `erp-logistics-transport-events.create` - **Prerequisites:** - The shipment is in **Planlandı** (Planned) (Yüklendi (Loaded) only) or **Yolda** (In Transit) status. An event does not change the plan; information from the driver and the field is recorded with its own permission (`erp-logistics-transport-events.create`). The departure and completion events are written by the shipment's own steps (**Yola Çıkar** (Dispatch), **Tamamla** (Complete)). ## Steps 1. In the shipment details, click **Olay Kaydet** (Record Event) on the **Olaylar** (Events) card. 2. Select the **Olay** (Event): **Yüklendi** (Loaded), **Vardı** (Arrived), **Teslim edildi** (Delivered), **Gecikme bildirildi** (Delay reported) or **Sorun bildirildi** (Issue reported) (on a planned shipment, only Yüklendi (Loaded)). 3. Select the **Durak** (Stop). It is required for arrival and delivery; for other events, **Seferin geneli** (Entire shipment) can be selected. 4. For a delivery event, enter the name of the **Teslim Alan** (Recipient). 5. Enter the **Zaman** (Time) (the default is now) and, if necessary, the **Konum** (Location) and **Not** (Note), then click **Kaydet** (Save). ![Record Event dialog — delivered](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/olay-kaydet.png) 1. Event 2. Stop (delivery) 3. Received by — required on delivery 4. Time — now if empty **Result:** The event is written to the shipment's timeline. The date and recipient of the delivery event appear in the delivery details and are suggested in the [proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme) window. ## What you need to know - An event cannot be changed; an incorrect record is corrected with a new event. - A stop is delivered only once; a delivered stop does not appear in the delivery list (*"SV-… zaten teslim edildi."* (SV-… has already been delivered.)). - An event cannot be before the departure; Konum (Location) can have up to 256 characters, and Not (Note) up to 512. - Rejection messages of the window: *"Durağı (teslimatı) seçin."* (Select the stop (delivery).), *"Teslim alanın adını yazın."* (Enter the recipient's name.) - **Gecikme bildirildi** (Delay reported) and **Sorun bildirildi** (Issue reported) do not change the shipment's status; the shipment remains **Yolda** (In Transit). The server calculates the **Gecikmede** (Delayed) badge in the header with its own clock. ## Related - [Transportation documents screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) - [Complete a shipment](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama) --- # Fleet operations > Odometer readings, fuel and expense records of our own vehicles — the source of the operating cost per vehicle. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi Filo İşletimi (Fleet Operations) keeps the odometer readings, fuel purchases and expenses of our own vehicles (not the carrier's vehicles). The amount is not an accounting entry; it is the operating cost of the vehicle and the source of the [Araç Maliyeti](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) (Vehicle Cost) report. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Filo › Filo İşletimi (Logistics Management › Fleet › Fleet Operations) - **Screen route:** `/erp/logistics/fleet/operations` - **Required permission:** `erp-logistics-fleet-costs.view (görme) · .create (kayıt ekleme, silme)` ![Fleet Operations — vehicle logs](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/filo-isletimi.png) 1. Odometer, fuel or expense 2. Liters and kilometers 3. Linked trip and driver ## List Columns: **Tarih** (Date), **Araç** (Vehicle), **Tür** (Type), **Ölçü** (Measure) (liters · kilometers or expense type), **Tutar** (Amount), **Sefer · Sürücü** (Shipment · Driver), **Not** (Note). Filters: **Araç** (Vehicle), **Tür** (Type), **Başlangıç** (From) – **Bitiş** (To). The row menu has **Sil** (Delete): a record cannot be changed; an incorrect record is deleted and entered again. ## Vehicle Record window ![Vehicle Log dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/arac-kaydi.png) 1. Vehicle — own fleet 2. Kind: Odometer, Fuel, Expense 3. Liters — required for fuel 4. Trip — optional | Field | Odometer | Fuel | Expense | |---|---|---|---| | **Araç** (Vehicle) | required | required | required | | **Tür** (Type) | Kilometre (Odometer) | Yakıt (Fuel) | Masraf (Expense) | | **Tarih** (Date) | required | required | required | | **Masraf türü** (Expense type) | — | — | required | | **Kilometre** (Kilometers) | required | optional | — | | **Litre** (Liters) | — | required | — | | **Tutar** (Amount) (with currency) | — | optional | required | | **Sürücü** (Driver) · **Sefer** (Shipment) · **Not** (Note) | optional | optional | optional | Expense types: **Bakım ve onarım** (Maintenance and repair), **Lastik** (Tires), **Sigorta ve kasko** (Insurance and comprehensive coverage), **Muayene** (Inspection), **Otoyol ve köprü** (Motorway and bridge tolls), **Otopark** (Parking), **Trafik cezası** (Traffic fine), **Diğer** (Other) (for an "Diğer" expense, a description in **Not** (Note) is required). When a vehicle is selected, the last reading appears below it (*"Son okuma: … km"* (Last reading: … km)); the odometer cannot go backwards — this is checked on the server. If **Sefer** (Shipment) is empty, *Seferden bağımsız* (Independent of a shipment) is shown; if **Sürücü** (Driver) is empty, *Belirtilmedi* (Not specified). Rejection messages of the form: | Message | Meaning | |---|---| | *"Aracı seçin."* | Select the vehicle. | | *"Tarihi seçin."* | Select the date. | | *"Kilometre okumasını yazın."* | Enter the odometer reading. | | *"Yakıt litresini yazın."* | Enter the fuel liters. | | *"Masraf tutarını yazın."* | Enter the expense amount. | | *"Masraf türünü seçin."* | Select the expense type. | | *"Para birimini üç harfle yazın (TRY, EUR…)."* | Enter the currency as three letters (TRY, EUR…). | ## Related - [Add a fleet record](https://erpdocs.corexlogic.com/en/lojistik/islemler/filo-kaydi-ekleme) - [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) --- # Complete a shipment > Record the arrival of a shipment in transit and close the shipment; a carrier shipment becomes ready for freight settlement. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Taşıma Belgeleri › sefer detayı › Tamamla (Logistics Management › Transportation › Transportation Documents › shipment details › Complete) - **Screen route:** `/erp/logistics/transports/{id}` - **Required permission:** `erp-logistics-transports.edit` - **Prerequisites:** - The shipment is in **Yolda** (In Transit) status. ## Steps 1. In the shipment details, check that the delivery events of the stops have been recorded (the **Teslim** (Delivery) column). 2. Click **Tamamla** (Complete). 3. Check the **Varış** (Arrival) time (the default is now) and click **Tamamla** (Complete) in the window. ![Completed trip — deliveries and freight](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-tamamlandi.png) 1. Status: Completed 2. Load compared with capacity 3. Delivery and receiver per stop 4. Settled freight is not recalculated **Result:** The shipment is in **Tamamlandı** (Completed) status; event recording is closed. If the freight of a carrier shipment has been calculated, the shipment can be included in a [freight settlement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma). ## What you need to know - Only a shipment in transit can be completed (*"Yalnız yoldaki sefer tamamlanır."* (Only a shipment in transit can be completed.)); the arrival cannot be before the departure. - Completing the shipment does not change the deliveries; the proof of delivery is recorded separately from the delivery details. - The freight card also shows **Yeniden Hesapla** (Recalculate) on a completed shipment (until it is included in a settlement). ## Related - [Transportation documents screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) - [Record proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme) --- # Carriers > Companies from which we purchase transportation — the carrier profile of a supplier card: operating license, priority, vehicles and drivers. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasiyicilar A carrier is a company from which we purchase transportation. It is not a separate card but the logistics profile of a **supplier card**: operating license, priority in carrier selection, vehicles and drivers. The card itself (company name, tax ID, address, contacts) is maintained on the Business Partners screen; the company name and tax ID are refreshed from the card. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Ana Veriler › Taşıyıcılar (Logistics Management › Master Data › Carriers) - **Screen route:** `/erp/logistics/carriers` - **Required permission:** `erp-logistics-carriers.view (görme) · .create (ekleme) · .edit (düzenleme)` ![Carriers list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyicilar.png) 1. Carrier profile for a supplier card 2. Authorization certificate and expiry 3. Priority in carrier selection 4. Carrier's vehicle and driver count ## List Columns: **Kod** (Code), **Unvan** (Company Name) (tax ID), **Yetki Belgesi** (Operating License) (status, type, number, expiry), **Öncelik** (Priority), **Araç / Sürücü** (Vehicle / Driver) (counts), **Durum** (Status) (**Aktif · Pasif** (Active · Inactive)). Filters: **Ara** (Search), **Pasifleri göster** (Show inactive). There is no delete — to take a carrier out of use, set it to inactive. ## Carrier window ![New Carrier dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyici-ekle.png) 1. Supplier card — required 2. Authorization type and number 3. Priority — 1 is highest 4. Create | Field | Description | |---|---| | **Tedarikçi Kartı** (Supplier Card) (required) | An active supplier from the **Tedarikçi Seç** (Select Supplier) window. A card that is already a carrier appears with the warning *"Zaten taşıyıcı olarak kayıtlı"* (Already registered as a carrier). Once the link is created, it cannot be changed. If there is no card, first create it as a supplier in Business Partners. | | **Yetki Belgesi** (Operating License) | Type (up to 8 letters/digits, e.g. K1, L2, R1) and number. | | **Geçerlilik Bitişi** (Valid Until) | The expiry of the operating license; the list shows its status. | | **Öncelik** (Priority) | 1–99; 1 is the highest priority, empty = last in the ranking. The basis of the **Öncelik** (Priority) ranking in carrier selection. | | **Aktif** (Active) · **Not** (Note) | An inactive carrier cannot be selected on a shipment. | **Oluştur** (Create) (**Kaydet** (Save) when editing). The carrier's tender e-mails go to the contact on the card. ## Related - [Define a carrier](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama) - [Freight agreements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari) - [Vehicles and drivers](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/araclar-ve-suruculer) --- # Record proof of delivery > Record the delivery date, the recipient and the accepted quantity per item from the signed delivery note on the delivery; a reason for short acceptance. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar › teslimat detayı › Alındı Teyidi Kaydet (Logistics Management › Outbound Delivery › Deliveries › delivery details › Record Proof of Delivery) - **Screen route:** `/erp/sales/shipments/{id}` - **Required permission:** `erp-logistics-proof-of-delivery.create` - **Prerequisites:** - The delivery is in **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status. - The delivery date is today or earlier, and after the goods issue date. ## Steps 1. Open the delivery details; on the **Alındı Teyidi** (Proof of Delivery) card, click **Alındı Teyidi Kaydet** (Record Proof of Delivery). 2. Check or enter the **Teslim tarihi** (Delivery date) and **Teslim alan** (Recipient); enter a **Not** (Note) if necessary. 3. In the item table, the **Kabul edilen** (Accepted) quantity is prefilled with the delivered quantity. For an item accepted short, correct the quantity and select the **Sebep** (Reason) (**Taşımada hasar** (Damaged in transit), **Eksik ulaştı** (Arrived short), **Müşteri teslim almadı** (Customer did not accept), **Diğer** (Other) — for Diğer (Other), a description is required). ![Proof of Delivery dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/alindi-teyidi-kaydet.png) 1. Delivery date — cannot be in the future 2. Received by — required 3. Accepted quantity — prefilled with delivered 4. Reason for short acceptance 4. Click **Kaydet** (Save). ![Delivery with recorded proof of delivery — short acceptance](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/alindi-teyidi.png) 1. Confirmation status 2. Undo — only for unbilled deliveries 3. Delivered vs accepted difference 4. Difference reason **Result:** The confirmation is saved. If the customer is invoiced after confirmation, the delivery can now be invoiced; the invoice quantity is limited to the accepted quantity. Returned goods are taken back into stock with a [delivery correction](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma). ## What you need to know - If **Alındı teyidinden sonra faturala** (Invoice after proof of delivery) is selected on the customer card, the delivery becomes **Teyit bekleniyor** (Awaiting confirmation) after goods issue and is not invoiced until the confirmation is recorded. If it is not selected, the card says **Teyit gerekmiyor** (Confirmation not required); a signed delivery note can still be recorded. - The accepted quantity cannot exceed the delivered quantity; a short acceptance requires a reason. - The server's date rules: *"Teslim tarihi mal çıkışı tarihinden önce olamaz."* (The delivery date cannot be before the goods issue date.), *"Teslim tarihi bugünden sonra olamaz."* (The delivery date cannot be after today.) - An incorrect confirmation is reversed with **Teyidi Geri Al** (Reverse Confirmation) — only if the delivery has not been invoiced (*"Teslimat faturalandı — alındı teyidi geri alınamaz."* (The delivery has been invoiced — the proof of delivery cannot be reversed.)). - The confirmation does not write a stock movement: returning rejected goods to stock is a separate document. ## Related - [Picking, packing and proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/toplama-paketleme-teyit) - [Record a shipment event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme) --- # Freight agreements > A carrier's purchasing tariff or a customer's sales tariff — per shipment, km, kg, m³, pallet or stop, tiered, with a minimum charge. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-anlasmalari A freight agreement is a tariff. A **Taşıyıcı (alış)** (Carrier (purchasing)) agreement gives the freight cost of a shipment; a **Müşteri (satış)** (Customer (sales)) agreement gives the charge for a transport order. A shipment is calculated with the agreement **valid on the departure date**; if more than one agreement is valid, the one with the most recent start date is used. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Ana Veriler › Navlun Anlaşmaları (Logistics Management › Master Data › Freight Agreements) - **Screen route:** `/erp/logistics/freight-agreements` - **Required permission:** `erp-logistics-freight-agreements.view (görme) · .create (ekleme) · .edit (düzenleme)` ![Freight Agreements list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-anlasmalari.png) 1. New agreement 2. Kind: carrier (purchase) or customer (sales) 3. Validity period 4. Tariff summary ## List Columns: **Kod** (Code), **Ad** (Name) (type), **Taraf** (Party), **Geçerlilik** (Validity) (whether it is valid today, range), **Tarife** (Tariff) (currency and tariff summary, e.g. *"Sefer başı 1.500 · Km başı 12 / 500+ km 10"* (Per shipment 1,500 · Per km 12 / 500+ km 10)), **Durum** (Status). Filters: **Ara** (Search), **Tür** (Type), **Pasifleri göster** (Show inactive). **Anlaşma Ekle** (Add Agreement) creates a new agreement; the row menu **İşlemler › Düzenle** (Actions › Edit) opens a saved agreement. There is no delete — the agreement is set to inactive. ## Agreement window ![Freight agreement dialog — tiered tariff](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-anlasmasi.png) 1. Kind — fixed after creation 2. Valid from and to 3. Add tariff line 4. Tier — highest tier reached applies | Field | Description | |---|---| | **Tür** (Type) (required) | **Taşıyıcı (alış)** (Carrier (purchasing)) or **Müşteri (satış)** (Customer (sales)). Type and party cannot be changed after creation — create a new agreement instead. | | **Taşıyıcı** (Carrier) / **Müşteri** (Customer) (required) | Depending on the type. | | **Ad** (Name) · **Kod** (Code) (required) | The code has 1–32 characters and is suggested from the name; it must be unique. | | **Para Birimi** (Currency) (required) | Three letters (TRY, EUR…). | | **Geçerlilik** (Validity) (start required) | If the end is empty, the agreement is open-ended. | | **Aktif** (Active) · **Not** (Note) | | | **Tarife** (Tariff) | Lines: **Dayanak** (Basis), **Kademe (başlangıç)** (Tier (from)), **Birim Ücret** (Unit Rate), **En Az Ücret** (Minimum Charge). Up to 50 lines with **Satır Ekle** (Add Line). | Bases: **Sefer başı** (Per shipment), **Km başı** (Per km), **Kg başı** (Per kg), **m³ başı** (Per m³), **Palet başı** (Per pallet), **Durak başı** (Per stop). The highest tier reached by the quantity is applied (e.g. per kg: 0 → 2.00 · 200 → 1.50). The per-shipment rate has no tiers. A basis whose quantity is unknown (distance not entered, item with unknown weight) is not included in the calculation, and this is stated in the shipment details. Rejection messages: | Message | Meaning | |---|---| | *"Anlaşma kodu 1–32 karakter olmalı."* | The agreement code must have 1–32 characters. | | *"Anlaşma adını yazın."* | Enter the agreement name. | | *"Taşıyıcıyı seçin."* | Select the carrier. | | *"Müşteriyi seçin."* | Select the customer. | | *"Geçerlilik bitişi başlangıçtan önce olamaz."* | The validity end cannot be before the start. | | *"En az bir tarife satırı girin."* | Enter at least one tariff line. | | *"N. satır: sefer başı ücret kademe almaz."* | Line N: the per-shipment rate has no tiers. | | *"N. satır: aynı dayanakta aynı kademe iki kez tanımlanamaz."* | Line N: the same tier cannot be defined twice for the same basis. | | *"Bu anlaşma kodu zaten kullanılıyor."* (from the server) | This agreement code is already in use. | ## Where it is used - The **Navlun** (Freight) card in the shipment details and the **Taşıyıcı Seç** (Select Carrier) ranking (carrier agreement). If there is no agreement valid on the shipment's departure date: *"Taşıyıcının seferin çıkış gününde geçerli navlun anlaşması yok."* (The carrier has no freight agreement valid on the shipment's departure date.) - The **Tarife** (Tariff) column in the tender details (comparison amount). - The charge preview and approval of a transport order (customer agreement). ## Related - [Create a freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma) - [Transportation documents](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/tasima-belgeleri) --- # Create a freight settlement > Collect the calculated freight of a carrier's completed shipments in a single document. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Navlun Hesaplaşması Oluştur (Logistics Management › Transportation › Create Freight Settlement) - **Screen route:** `/erp/logistics/freight-settlements/new` - **Required permission:** `erp-logistics-freight-settlements.create` - **Prerequisites:** - The carrier has a shipment in **Tamamlandı** (Completed) status whose freight has been calculated and that is not in another settlement. - The settlement date is in an open posting period. ## Steps 1. Open the **Lojistik Yönetimi › Taşıma › Navlun Hesaplaşması Oluştur** (Logistics Management › Transportation › Create Freight Settlement) screen. 2. Select the **Taşıyıcı** (Carrier); the **Seferler** (Shipments) table lists the carrier's completed shipments to be settled. 3. Check the **Para Birimi** (Currency) and **Hesaplaşma Tarihi** (Settlement Date). 4. Select the shipments to settle (or **Tümünü Seç** (Select All)). A shipment with a reason shown below it cannot be selected. ![Create Freight Settlement](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-olustur.png) 1. Carrier 2. Currency — one per document 3. Settlement date 4. Completed trip with calculated freight 5. Save Settlement 5. Enter a **Not** (Note) if necessary; check the subtotal in the bottom bar and click **Hesaplaşmayı Kaydet** (Save Settlement). ![Freight settlement detail](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-detay.png) 1. Status 2. Total incl. VAT 3. Cancel — if not linked to an invoice **Result:** The freight of the shipments is frozen in this document: the Navlun (Freight) card in the shipment details says "Hesaplaşıldı: NHS-… — navlun yeniden hesaplanmaz." (Settled: NHS-… — the freight is not recalculated.) The carrier's invoice is linked to this document in incoming invoices (Finance). ## What you need to know - A document carries a single currency; the freight of a shipment in a different currency cannot be selected, with the reason *"Navlun … — hesaplaşma …; para birimleri toplanmaz."* (Freight … — settlement …; currencies are not added together.) For a shipment whose freight has not been calculated, first use **Navlunu Hesapla** (Calculate Freight) in the shipment details. - VAT is calculated with the default tax rate; the amount is approximate, and the authoritative invoice comes from the carrier. - An incorrect document is cancelled with **İptal Et** (Cancel) in the details (**İptal Nedeni** (Cancellation Reason) required); the shipments are released. A document linked to an invoice cannot be cancelled. - A shipment executed by our own fleet has no freight; its cost is in [Filo İşletimi](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi) (Fleet Operations). ## Related - [Freight settlements screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-hesaplasmalari) --- # Logistics analytics > Logistics reports — delivery summary, vehicle cost, on-time in-full (OTIF), freight cost and fleet utilization. URL: https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik There are five reports; all of them are read-only screens and do not write any documents. The default period is the last 30 days (90 days for Teslimat Özeti (Delivery Summary)); the period is changed from the report bar. Reports that have an Excel export button download the list. - **Type:** Screen - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Analitik › Teslimat Özeti · Araç Maliyeti · Zamanında-Tam Teslim · Navlun Maliyeti · Filo Kullanımı (Logistics Management › Analytics › Delivery Summary · Vehicle Cost · On-Time In-Full · Freight Cost · Fleet Utilization) - **Screen route:** `/erp/logistics/reports/otif` - **Required permission:** `erp-sales-shipments.view (Teslimat Özeti, Zamanında-Tam Teslim)`, `erp-logistics-fleet-costs.view (Araç Maliyeti)`, `erp-logistics-freight-agreements.view (Navlun Maliyeti)`, `erp-logistics-fleet.view (Filo Kullanımı)` | Report | Address | |---|---| | **Teslimat Özeti** (Delivery Summary) | `/erp/sales/reports/shipment-summary` | | **Araç Maliyeti** (Vehicle Cost) | `/erp/logistics/reports/fleet-costs` | | **Zamanında-Tam Teslim** (On-Time In-Full) | `/erp/logistics/reports/otif` | | **Navlun Maliyeti** (Freight Cost) | `/erp/logistics/reports/freight-costs` | | **Filo Kullanımı** (Fleet Utilization) | `/erp/logistics/reports/fleet-utilization` | ## Delivery summary Shipped, reversed and net quantity — per month, warehouse and unit; it contains no amounts. Columns: **Ay** (Month), **Depo** (Warehouse), **Birim** (Unit), **Sevk Edilen** (Shipped), **Geri Alınan** (Reversed), **Net Sevk** (Net Shipped), **Teslimat** (Deliveries), **Düzeltme** (Corrections). Filters: **Ara** (Search), the **Teslimat tarihi** (Delivery date) range, **Kanal** (Channel). A reversed quantity is deducted from the month of the delivery it corrects. **Excel'e Aktar** (Export to Excel). ## On-time in-full ![On-Time In-Full report](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/zamaninda-tam-teslim.png) 1. Breakdown: customer, month, warehouse 2. On-time rate 3. In-full rate 4. Both Per delivery item: was it delivered on the requested date, and in full? **Kırılım** (Breakdown): Müşteri (Customer) · Ay (Month) · Depo (Warehouse). Columns: **Kalem** (Items), **Ölçülebilir** (Measurable), **Zamanında** (On Time), **Tam** (In Full), **OTIF**; with a total row at the bottom. The period is based on the goods issue date. - **Delivery date:** the proof of delivery; if there is none, the shipment's delivery event; if there is none, the goods issue date. - **On time:** delivery date ≤ the requested delivery date of the sales order — an item without a requested date is not measured. - **In full:** accepted quantity (shipped − corrected − confirmation shortage) ≥ delivery quantity. ## Freight cost ![Freight Cost report](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-maliyeti.png) 1. Breakdown: carrier or month 2. Cost per km 3. Settled freight 4. Not yet settled The freight of carrier shipments — cost per kg and per km, settled and pending; currencies are kept separate. **Kırılım** (Breakdown): Taşıyıcı (Carrier) · Ay (Month). Columns: **Sefer** (Shipments), **Navlun** (Freight), **Ağırlık** (Weight), **Mesafe** (Distance), **Kg Başına** (Per Kg), **Km Başına** (Per Km), **Hesaplaşılan** (Settled), **Bekleyen** (Pending). The period is based on the shipment's departure date. Weight and distance are shown only if they are known for all shipments of the group; a shipment whose freight has not been calculated counts as 0. ## Vehicle cost ![Vehicle Cost report](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/arac-maliyeti.png) 1. Period 2. Fuel consumption 3. Cost per kilometer Kilometers, fuel, expenses and cost per kilometer per vehicle — our own fleet; the amount is not an accounting entry. Columns: **Araç** (Vehicle), **Kilometre** (Kilometers), **Yakıt (L)** (Fuel (L)), **L/100 km**, **Masraf** (Expense) (by type), **Toplam** (Total), **Km başına** (Per km), **Sefer** (Shipments). Kilometers are calculated from the readings within the period (the starting value is the last reading before the period); if there are not enough readings, "—" is shown. Currencies are shown separately and not added together. Source: [Fleet operations](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi). ## Fleet utilization ![Fleet Utilization report](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/filo-kullanimi.png) 1. Days on trips 2. Trip days ÷ period days 3. Load ÷ capacity Shipments, days spent on shipments, load factor and kilometers per vehicle — our own fleet. Columns: **Araç** (Vehicle), **Sefer** (Shipments), **Seferde Gün** (Days on Shipments), **Kullanım** (Utilization) (days spent on shipments ÷ days in the period; a shipment in transit counts up to today), **Ortalama Doluluk** (Average Load Factor) (load ÷ capacity), **Kilometre** (Kilometers) (from odometer readings), **Sefer Başına Km** (Km per Shipment). The period is based on the departure date. ## Related - [Delivery monitor](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-izleme) - [Freight settlements](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/navlun-hesaplasmalari) --- # Create a transport order > Create an order for a transportation service sold to a customer, approve it with the customer's tariff, link it to a shipment and complete it. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/nakliye-siparisi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Taşıma › Nakliye Siparişi Oluştur (Logistics Management › Transportation › Create Transport Order) - **Screen route:** `/erp/logistics/forwarding-orders/new` - **Required permission:** `erp-logistics-forwarding-orders.create`, `erp-logistics-forwarding-orders.edit` - **Prerequisites:** - The customer has a [freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma) of type **Müşteri (satış)** (Customer (sales)) valid on the loading date. - There is a sellable, non-stock service item card (e.g. HIZ-0004 NAKLİYE HİZMETİ). ## Steps 1. Open the **Lojistik Yönetimi › Taşıma › Nakliye Siparişi Oluştur** (Logistics Management › Transportation › Create Transport Order) screen. 2. Type a code or company name in **Müşteri ara** (Search customer) and select the **Müşteri** (Customer). 3. Enter the **Yükleme yeri** (Loading location), **Teslim yeri** (Delivery location), **Yükleme günü** (Loading date) and, if necessary, the **İstenen teslim** (Requested delivery). 4. Enter the **Yük tanımı** (Cargo description) and the measurements that are the basis of the tariff (**Koli** (Cartons), **Palet** (Pallets), **Ağırlık (kg)** (Weight (kg)), **Hacim (m³)** (Volume (m³)), **Mesafe (km)** (Distance (km))). Leave unknown values empty. ![Create Forwarding Order](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-olustur.png) 1. Customer — search first 2. Pickup and delivery place 3. Cargo and measures — tariff basis 4. Service item for the invoice 5. Save — draft 5. Select the **Hizmet ürünü** (Service item) with **Hizmet ürünü ara** (Search service item); the **Vergi oranı** (Tax rate) can stay at the default. Click **Kaydet** (Save). ![Draft forwarding order — charge preview](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-taslak.png) 1. Confirm — charge is fixed 2. Edit — draft only 3. Preview from the customer tariff 6. Check the preview and click **Onayla** (Approve). 7. When the shipment that performs the transportation is known, click **Sefere Bağla** (Link to Shipment), select the **Sefer** (Shipment) and click **Bağla** (Link). ![Confirmed forwarding order](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/nakliye-siparisi-onayli.png) 1. Status: Confirmed 2. Link the executing trip 3. Complete — becomes billable 4. Charge fixed at confirmation 8. When the transportation has been performed, click **Tamamla** (Complete), enter the **Tamamlanma günü** (Completion date) and confirm with **Tamamla** (Complete). **Result:** On a completed order, **Fatura Oluştur** (Create Invoice) opens a draft outgoing invoice with one line of service item × 1 at the charge fixed on approval; finalization and sending are done on the invoice. ## What you need to know - The charge is not entered on the form; on approval, it is calculated from the customer tariff and fixed. Example: per shipment 2,000 + 150 km × 15 + 6 pallets × 150 = 5,150 TRY (excl. VAT), 6,180 TRY with 20% VAT. - If the measurement for a basis of the tariff is empty, the order cannot be approved; **Onayla** (Approve) is disabled and the reason is shown when you hover over it. Do not enter zero — empty means "unknown". - Only a draft can be edited (*"Yalnız taslak nakliye siparişi düzenlenir."* (Only a draft transport order can be edited.)). - Linking to a shipment does not change the charge; the link is removed with **Bağı Kaldır** (Remove Link). - Cancellation cannot be undone and requires a reason; an invoiced order cannot be cancelled. ## Related - [Transport orders screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/nakliye-siparisleri) --- # Add a fleet record > Add an odometer reading, fuel purchase or expense record to one of our own vehicles. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/filo-kaydi-ekleme - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Filo › Filo İşletimi (Logistics Management › Fleet › Fleet Operations) - **Screen route:** `/erp/logistics/fleet/operations` - **Required permission:** `erp-logistics-fleet-costs.create` - **Prerequisites:** - The vehicle is in our own fleet (owned or leased) and active. ## Steps 1. On the **Lojistik Yönetimi › Filo › Filo İşletimi** (Logistics Management › Fleet › Fleet Operations) screen, click **Kayıt Ekle** (Add Record). ![Vehicle Log dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/arac-kaydi.png) 1. Vehicle — own fleet 2. Kind: Odometer, Fuel, Expense 3. Liters — required for fuel 4. Trip — optional 2. Select the **Araç** (Vehicle); the last odometer reading appears below it. 3. Select the **Tür** (Type): **Kilometre** (Odometer), **Yakıt** (Fuel) or **Masraf** (Expense); enter the **Tarih** (Date). 4. Fill in the fields for the type: for Kilometre (Odometer), **Kilometre** (Kilometers); for Yakıt (Fuel), **Litre** (Liters) (and optionally **Kilometre** (Kilometers), **Tutar** (Amount)); for Masraf (Expense), **Masraf türü** (Expense type) and **Tutar** (Amount). 5. If necessary, enter the **Sürücü** (Driver), **Sefer** (Shipment) and **Not** (Note), then click **Kaydet** (Save). ![Fleet Operations — vehicle logs](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/filo-isletimi.png) 1. Odometer, fuel or expense 2. Liters and kilometers 3. Linked trip and driver **Result:** The record is included in the vehicle's operating cost and is reflected in the **Araç Maliyeti** (Vehicle Cost) and **Filo Kullanımı** (Fleet Utilization) reports. ## What you need to know - A record cannot be changed; an incorrect record is deleted with **Sil** (Delete) in the row menu and entered again. - The odometer cannot go backwards: a kilometer value smaller than an earlier reading is rejected by the server. - For a "Diğer" (Other) expense, a description in **Not** (Note) is required. - Records are not entered for a carrier's vehicle; the carrier's cost is the freight. ## Related - [Fleet operations screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/filo-isletimi) - [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) --- # Create a delivery correction > Reverse an incorrectly posted goods issue with a correction document — the stock returns to the original warehouse and storage location. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar › teslimat detayı › Teslimat Düzeltmesi Oluştur (Logistics Management › Outbound Delivery › Deliveries › delivery details › Create Delivery Correction) - **Screen route:** `/erp/sales/shipments/{id}/reversals/new` - **Required permission:** `erp-sales-shipment-reversals.create` - **Prerequisites:** - The delivery is in **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status and has a reversible quantity. - A correction is for a posting error; for goods sent back by the customer, use **İade Al** (Receive Return). ## Steps 1. In the details of a delivery whose goods issue has been posted, click **Teslimat Düzeltmesi Oluştur** (Create Delivery Correction). 2. Check the **Düzeltme Tarihi** (Correction Date) and enter the **Düzeltme Gerekçesi** (Correction Reason) (required). 3. On the line to be corrected, select **Bu satırı düzelt** (Correct this line) and enter the **Geri Alınacak Miktar** (Quantity to Reverse), or click **Kalanı doldur** (Fill remaining). On a serial-managed line, select the serial numbers to reverse. ![New Delivery Reversal](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-duzeltmesi-olustur.png) 1. Reversal date 2. Reason — required 3. Line to reverse 4. Fills the reversible remainder 5. Save Reversal 4. Click **Düzeltmeyi Kaydet** (Save Correction). ![Delivery Reversals list](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-duzeltmeleri.png) 1. Reversal document — immutable 2. Reversed delivery 3. Reason **Result:** The reversed quantity returns to stock within the warehouse/storage location/lot scope of the original delivery; the shipped quantity of the sales order decreases. The original delivery remains unchanged; the document appears in the correction history in its details. ## What you need to know - On each line, at most the reversible remaining quantity can be entered (*"En fazla N …"* (At most N …)); a fully reversed line is read-only. - The reason can have up to 512 characters; a physical posting is not reversed without a reason. - If the delivery or the sales order changed while the form was open, saving is rejected; **Düzeltme bilgilerini yenile** (Refresh correction information) clears the line selections, while the reason and date are kept. - The correction document cannot be changed or deleted either. ## Related - [Delivery corrections screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/teslimat-duzeltmeleri) --- # Create an inbound delivery > Record a supplier's shipping notification as an inbound delivery from a purchase order or an incoming e-Delivery Note. URL: https://erpdocs.corexlogic.com/en/lojistik/islemler/gelen-teslimat-olusturma - **Type:** Task - **Module:** Logistics - **Menu path:** Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimat Oluştur (Logistics Management › Inbound Delivery › Create Inbound Delivery) - **Screen route:** `/erp/logistics/inbound-deliveries/new` - **Required permission:** `erp-logistics-inbound-deliveries.create` - **Prerequisites:** - There is a purchase order eligible for goods receipt (finalized, with an open quantity) or an incoming e-Delivery Note. > **This task was not tried live in the demo installation of the documentation environment (the goods receipt scenarios of** the purchase orders are used in other documents); the steps were verified from the screen's source code and a screenshot of the empty form. When a purchase order with a receiving warehouse is finalized, the inbound delivery is created automatically in **Bekleniyor** (Expected) status; manual creation is for shipments that are not created automatically or that arrive split. ## Steps 1. Open the **Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimat Oluştur** (Logistics Management › Inbound Delivery › Create Inbound Delivery) screen. ![Create Inbound Delivery](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/gelen-teslimat-olustur.png) 1. Source: order or incoming e-despatch 2. Order — magnifier or F4 opens the list 3. Warehouse 4. Expected arrival — required 5. Save Inbound Delivery 2. Select the source: **Siparişten** (From purchase order) or **Gelen e-İrsaliyeden** (From incoming e-Delivery Note). 3. From a purchase order: type an order number or supplier in the **Sipariş** (Order) field and press `Enter`, or select one or more purchase orders from the **Sipariş Seç** (Select Order) window with the magnifier (F4). All must be from the same supplier. 4. In the line table, select the lines to notify and enter the **Miktar** (Quantity); the quantity cannot exceed the maximum notifiable quantity of the line. 5. Check the **Depo** (Warehouse) (it comes from the receiving warehouse of the purchase order; if there is none, select one) and enter the **Beklenen Varış** (Expected Arrival). 6. If available, enter the **Tedarikçi İrsaliye No** (Supplier Delivery Note No.) and **İrsaliye Tarihi** (Delivery Note Date), and a **Not** (Note) if necessary. 7. Click **Gelen Teslimatı Kaydet** (Save Inbound Delivery). **Result:** The notified quantity is reserved on the purchase order; the persons responsible for the warehouse are notified. When the goods arrive, **Mal Kabulü Oluştur** (Create Goods Receipt) in the details opens the goods receipt form with this delivery. ## What you need to know - When creating from an incoming e-Delivery Note, lines are suggested to purchase order lines by the supplier's item code; the suggestion can be changed. If there is an expected delivery created from the purchase order, the delivery with the delivery note replaces it. - If the purchase orders are received in different warehouses, the delivery is not created: *"Seçilen siparişler farklı depolara geliyor (…)"* (The selected orders are received in different warehouses (…)) — create a separate delivery for each warehouse. - A delivery can contain at most 30 purchase orders. - A draft in **İnceleme Bekliyor** (Awaiting Review) status (an unmatched e-Delivery Note) opens in the same form with **İncele ve Onayla** (Review and Approve) in the details; the confirm button is **Onayla** (Approve). - A delivery in Bekleniyor (Expected) status is closed with **İptal Et** (Cancel), and the remainder of a partially received delivery with **Kalanı Kapat** (Close Remaining) (a reason is required for both). ## Related - [Inbound deliveries screen](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/gelen-teslimatlar) --- # Modules > CoreX ERP modules and their documentation — sales, purchasing, inventory, production, logistics, administration, settings and data import. URL: https://erpdocs.corexlogic.com/en/moduller CoreX ERP is made up of modules; each module's menu is in the main menu at the top of the screen. Which modules are enabled depends on the installation's license and on module management: [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi). ## Business modules - [Sales](https://erpdocs.corexlogic.com/en/satis) — Quotation, sales order, contract, delivery, billing, returns, rebate, campaign, price list and customer. - [Purchasing](https://erpdocs.corexlogic.com/en/satin-alma) — Requisition, request for quotation, purchase order, approval, goods receipt, supplier return and supplier prices. - [Inventory Management](https://erpdocs.corexlogic.com/en/stok) — Item master data, warehouse, stock movement, transfer, reservation, physical inventory, batch and serial number, quality. - [Production](https://erpdocs.corexlogic.com/en/uretim) — Work center, routing, bill of materials and its conditions, configuration, MRP, production order, capacity. - [Logistics Management](https://erpdocs.corexlogic.com/en/lojistik) — Outbound and inbound delivery, picking, packing, shipment, carrier, fleet and freight. - Finance — Chart of accounts, journal entry, customer/supplier account, bank, cash and period-end closing. ## Administration and setup - [Administration](https://erpdocs.corexlogic.com/en/yonetim) — Users, roles, permissions, organizational restrictions, module management, monitoring. - [Settings and workflow](https://erpdocs.corexlogic.com/en/ayarlar) — Approvals, notifications, e-mail (SMTP) and e-Document integration. - [Data Import](https://erpdocs.corexlogic.com/en/veri-aktarimi) — Loading master data and opening data with Excel workbooks — templates and column guide. ## End-to-end processes For cross-module flows, see [Process guides](https://erpdocs.corexlogic.com/en/surecler). --- # Procurement > The Procurement module — purchase requisitions, requests for quotation and comparison, purchase orders, goods and service receipts, returns to supplier, supplier prices and procurement reports. URL: https://erpdocs.corexlogic.com/en/satin-alma The Procurement module manages the chain from reporting a need to the goods entering the warehouse: **requisition → sourcing (request for quotation, supplier price) → order → goods / service receipt → return**. A supplier uses the same business partner card as a customer; price and lead time are proposed to the order from **Tedarikçi Fiyatları** (Supplier Prices). Stock is posted with the goods receipt; the supplier invoice and payment belong to Finance and are not covered in this guide. End-to-end process and sample scenario: [From requisition to goods receipt](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule). ## Key concepts | Concept | Meaning | |---|---| | **Satınalma talebi** (Purchase requisition, TLP-…) | A notice that "this material is needed on this date". It carries no price or supplier; it enters purchasing's agenda once it is **submitted**. It is created manually, from a production order, from MRP or from a kanban signal. | | **Teklif isteği** (Request for quotation, TKL-…) | The same list of items sent to several suppliers. The quotations received are compared side by side in the document; a **draft order** is created from the items that are decided. There is no stock or financial movement. | | **Satın alma siparişi** (Purchase order, SA-…) | The commercial order placed with the supplier. It can be edited while **Taslak** (Draft); once **finalized** (after approval, if an approval rule applies) it is locked, opened for goods receipt and counted as **in transit** in planning. | | **Mal kabul** (Goods receipt, MK-…) | Posting of the goods received against the order; the stock receipt is posted at the same time. Partial receipt is allowed. The document cannot be changed afterwards. | | **Hizmet kabulü** (Service receipt, HK-…) | The record that a non-stock item (freight, maintenance, consulting…) has been received. There is no stock movement. | | **Mal kabul geri alma** (Goods receipt reversal, MKG-…) | A return to the supplier or the correction of an incorrect receipt: a reverse stock posting. A line is reversed **in full**. | | **Tedarikçi iade talebi** (Supplier return request, TIT-…) | The decision made before the goods are sent back to the supplier. The person who opens the request cannot approve it. | | **Tedarikçi fiyatı** (Supplier price) | The item–supplier link: agreed price, lead time, minimum quantity, main supplier, block. A quotation decision updates the agreed price automatically. | ## Tasks - [Create a purchase requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talep-olusturma) — Report a need and submit it to purchasing. - [Approve a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talebi-onaylama) — Approval and rejection when an approval template is defined. - [Create an order from a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talepten-siparis-olusturma) — Draft order with Requisition Source Assignment. - [Create a request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma) — Ask several suppliers about the items. - [Compare quotations](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma) — Quotation entry, comparison and decision. - [Create an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparis-olusturma) — New purchase order to a supplier. - [Finalize an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) — Submission for approval, approval and finalization. - [Send an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme) — PDF, printing and e-mail. - [Change an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-degistirme) — Editing a draft; options for a finalized order. - [Close or cancel an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal) — Give up the remaining quantity or cancel the order. - [Create a goods receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma) — Full or partial goods receipt, split allocation. - [Create a service receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/hizmet-kabulu-olusturma) — Receipt of a non-stock item. - [Return to supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade) — Return request and goods receipt reversal. - [Define a supplier price](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikci-fiyati-tanimlama) — Agreed price, lead time, main supplier. ## Menu map | Section | Screen | Description | |---|---|---| | Talep Yönetimi (Requisition Management) | Satınalma Talepleri · Satınalma Talebi Oluştur · Talep Kaynak Ataması (Purchase Requisitions · Create Purchase Requisition · Requisition Source Assignment) | [Purchase requisitions](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri) | | Kaynak Bulma (Sourcing) | Teklif İstekleri (Requests for Quotation) | [Requests for quotation](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) | | Kaynak Bulma (Sourcing) | Tedarikçi Fiyatları · Kaynak Listesi ve Kota (Supplier Prices · Source List and Quota) | [Supplier prices and source list](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) | | Kaynak Bulma (Sourcing) | Çerçeve Sözleşmeler · Çerçeve Sözleşme Oluştur (Outline Agreements · Create Outline Agreement) | [Outline agreements](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/cerceve-sozlesmeler) | | Kaynak Bulma (Sourcing) | Tedarikçi Prim Anlaşmaları (Supplier Rebate Agreements) | Finance topic — outside this guide | | Sipariş Yönetimi (Order Management) | Satın Alma Siparişleri · Satın Alma Siparişi Oluştur (Purchase Orders · Create Purchase Order) | [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) | | Fason (Subcontracting) | Fasoncudaki Stok · Fason Sevk ve İadeleri · Fasona Malzeme Sevki Oluştur · Fasondan Malzeme İadesi Oluştur (Stock at Subcontractor · Subcontracting Shipments and Returns · Create Material Shipment to Subcontractor · Create Material Return from Subcontractor) | [Subcontracting](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/fason) | | Mal ve Hizmet Kabulü (Goods and Service Receipt) | Mal Kabulleri · Teslim Alınacaklar · Mal Kabulü Oluştur (Goods Receipts · Due for Receipt · Create Goods Receipt) | [Goods receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri) | | Mal ve Hizmet Kabulü (Goods and Service Receipt) | Hizmet Kabulleri · Hizmet Kabulü Oluştur (Service Receipts · Create Service Receipt) | [Service receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/hizmet-kabulleri) | | Tedarikçi Faturaları (Supplier Invoices) | Gelen e-Faturalar · Faturalanmamış Kabuller · İthalat Masrafları · Konsinye Hesaplaşmaları · Tedarikçi Prim Hesaplaşmaları (Incoming e-Invoices · Uninvoiced Receipts · Import Costs · Consignment Settlements · Supplier Rebate Settlements) | Finance topic — outside this guide | | İade Yönetimi (Return Management) | Tedarikçi İade Talepleri · Mal Kabul Geri Almaları · Mal Kabulünü Geri Al · Hizmet Kabul Geri Almaları · Hizmet Kabulünü Geri Al (Supplier Return Requests · Goods Receipt Reversals · Reverse Goods Receipt · Service Receipt Reversals · Reverse Service Receipt) | [Return management](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/iade-yonetimi) | | İade Yönetimi (Return Management) | İade Faturaları (Return Invoices) | Finance topic — outside this guide | | Ana Veriler (Master Data) | Tedarikçiler (Suppliers) | [Suppliers](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikciler) | | Analitik (Analytics) | Harcama Raporu · Açık Siparişler · Teklif Tasarrufu · Tedarikçi Performansı · Tedarikçi Değerlendirme (Spend Report · Open Orders · Quotation Savings · Supplier Performance · Supplier Evaluation) | [Procurement reports](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/analitik) | Incoming deliveries are in the menu under **Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar** (Logistics Management › Inbound Delivery › Inbound Deliveries); they are described together with goods receipts on the [Goods receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri#gelen-teslimat) page. Approval templates are defined in **Yönetim › Onay Süreci › Onay Şablonları** (Administration › Approval Process › Approval Templates). ## Document statuses at a glance | Document | Statuses (in order) | |---|---| | Purchase requisition | Taslak (Draft) → (Onay Bekliyor (Pending Approval)) → Talep Edildi (Requested) → Kısmen Siparişte (Partially Ordered) → Siparişe Bağlandı (Fully Ordered) · also İptal (Cancelled), Geri Çekildi (Withdrawn) | | Request for quotation | Taslak (Draft) → Teklif Bekleniyor (Awaiting Quotations) → Kısmen Karara Bağlandı (Partially Decided) → Karara Bağlandı (Decided) · also İptal (Cancelled) | | Purchase order | Taslak (Draft) → (Onay Bekliyor (Pending Approval)) → Sipariş Verildi (Ordered) → Kısmi Teslim (Partially Received) → Teslim Alındı (Received) · also Kapatıldı (Closed), İptal (Cancelled) | | Supplier return request | Onay Bekliyor (Pending Approval) → Onaylandı (Approved) → Kapandı (Closed) · also Reddedildi (Rejected), İptal Edildi (Cancelled) | | Outline agreement | Taslak (Draft) → Yürürlükte (In Effect) → Kapandı (Closed) · also İptal Edildi (Cancelled) | Goods receipt, service receipt and reversal documents have no status: they take effect as soon as they are saved and cannot be changed; corrections are made with a reverse document. ## Permissions The permission for each screen is listed in the summary of its own page. The main permission families: | Permission | What it grants | |---|---| | `erp-procurement-requisitions.*` | Requisition: `view`, `create`, `edit` (editing and submitting), `delete` (cancelling; editing someone else's requisition), `approve` (approval vote) | | `erp-procurement-rfqs.*` | Request for quotation: `view`, `create`, `edit` (sending, quotation entry, decision), `delete` (cancelling) | | `erp-procurement-orders.*` | Order: `view`, `create`, `edit` (editing, finalizing, submitting for approval), `approve`, `delete` (cancelling), `close` (closing) | | `erp-procurement-receipts.*` | Goods receipt: `view`, `create` | | `erp-procurement-service-acceptances.*` | Service receipt: `view`, `create` | | `erp-procurement-return-requests.*` | Return request: `view`, `create`, `approve` | | `erp-procurement-receipt-reversals.*` | Goods receipt reversal: `view`, `create` | | `erp-procurement-item-suppliers.*` | Supplier prices: `view`, `create`, `edit`, `delete`, `import` | | `erp-procurement-sourcing.*` | Source list and quota, requisition source assignment: `view`, `edit` | | `erp-procurement-contracts.*` | Outline agreement: `view`, `create`, `edit` | --- # Purchase requisitions > Purchase requisition list, form and details — statuses, actions, approval, withdrawal, cancellation and source assignment from requisition to draft order. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri A purchase requisition is a department's notice that "this material is needed on this date". A requisition **carries no price or supplier** — purchasing determines those. Once submitted, the requisition enters purchasing's agenda; from there it becomes a request for quotation or directly a draft order. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Talep Yönetimi › Satınalma Talepleri · Satınalma Talebi Oluştur · Talep Kaynak Ataması (Procurement › Requisition Management › Purchase Requisitions · Create Purchase Requisition · Requisition Source Assignment) - **Screen route:** `/erp/procurement/requisitions` - **Required permission:** `erp-procurement-requisitions.view (görme) · .create (oluşturma, geri çekme) · .edit (düzenleme, gönderme) · .delete (iptal; başkasının talebini düzenleme) · .approve (onay oyu)`, `Talep Kaynak Ataması: erp-procurement-orders.create ve erp-procurement-sourcing.view` ## Requisition list ![Purchase requisitions list](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-listesi.png) 1. New Requisition 2. Status 3. Source — manual, production order, MRP… 4. Only mine | Column | Description | |---|---| | Talep No (Requisition No) | `TLP-yyyy-nnnnnn`; click to open the requisition details. | | Durum (Status) | See the status table below. | | Talep Tarihi (Requisition Date) | The posting date of the requisition. | | En Erken İhtiyaç (Earliest Need) | The nearest **Ne Zaman Lazım** (Needed By) date on the lines. | | Kaynak (Source) | Where the line originated: Elle (Manual) · Üretim Emri (Production Order) · MRP · Kanban · Üçüncü Taraf (Third Party) · Dış İşlem (External Operation) · Bakım Dış Hizmeti (External Maintenance Service). | | Kalem (Items) | Number of lines. | | İsteyen (Requester) | The user who opened the requisition. | **Filters:** Ara (Search), Durum (Status), Başlangıç–Bitiş (Start–End; requisition date), **Grubumun belgeleri** (My group's documents; items of my purchasing group), **Teklifte** (In RFQ; those included in a request for quotation), **Taleplerim** (My requisitions; the ones I opened). The **Yeni Talep** (New Requisition) button opens the form. ## Requisition form **Satın Alma › Talep Yönetimi › Satınalma Talebi Oluştur** (Procurement › Requisition Management › Create Purchase Requisition) (`/erp/procurement/requisitions/new`) ![New purchase requisition — item, quantity and need date](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-olustur.png) 1. Requisition date (required) 2. Add Item — pick from the item list 3. Quantity — click the cell and type 4. Needed by 5. Save Draft — stays editable 6. Save and Submit — hands over to purchasing | Field | Rule | |---|---| | **Üretim Emri** (Production Order) | Optional. If an open production order is selected, the order's material requirements are listed; lines are added from there and their source becomes **Üretim Emri** (Production Order). A line that cannot be requisitioned shows the reason. If there is no open order, the warning "Talep açılabilecek üretim emri yok." (There is no production order for which a requisition can be opened.) is shown. | | **Talep Tarihi** (Requisition Date) | Mandatory; today is proposed. A requisition cannot be opened in a closed posting period or (without permission) on a past date. | | **Talep Kalemleri** (Requisition Items) | At least one line. **Kalem Ekle** (Add Item) opens the item list; each selected card becomes a separate line. | | Ürün (Item) | A purchasable, active card that is not blocked for purchasing. A configurable parent card cannot be selected — select its variant. | | Miktar (Quantity) | Greater than zero; must match the decimal precision of the unit (no fractions for ADET). | | Birim (Unit) | Comes from the item card. | | Ne Zaman Lazım (Needed By) | Optional need date. | | Açıklama (Description) | Optional line note. | | Kaynak (Source) | Information: **Elle** (Manual) for a manually added line. | | Not (Note) | Optional document note. | Line cells are edited inside the table: click the cell, type the value and press [[Enter]]. - **Taslak Kaydet** (Save Draft; Ctrl+S) saves the requisition as **Taslak** (Draft). - **Kaydet ve Gönder** (Save and Submit) saves it and submits it to purchasing. The button is shown to users with the `erp-procurement-requisitions.edit` permission; a user with only the `create` permission leaves the requisition in draft. - Form validations: "Talep tarihi girin." (Enter the requisition date.), "Talep en az bir kalem içermelidir." (The requisition must contain at least one item.), "'HAM-0001' için geçerli bir miktar girin." (Enter a valid quantity for 'HAM-0001'.) ## Requisition details ![Draft requisition — submit, withdraw, cancel](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-taslak.png) 1. Status: Draft 2. Edit 3. Submit to Purchasing (Submit for Approval if a template applies) 4. Withdraw — requester only 5. Cancel — reason required The top strip of the details holds the status badge and action buttons; below it are **Belge Bilgileri** (Document Information; requisition number, requisition date, requester, last change, note), **Talep Kalemleri** (Requisition Items) and **Ekler** (Attachments). Columns of the item table: #, Ürün (Item), **İstenen** (Requested), **Siparişte** (Ordered; the quantity linked to finalized orders), **Kalan** (Remaining), Birim (Unit), Ne Zaman Lazım (Needed By), Kaynak (Source), **Belge Akışı** (Document Flow; linked requests for quotation and orders; the order's delivery status is shown as, for example, "teslim 200/200" (delivered 200/200)). "Siparişte" (Ordered) advances **when the order is finalized**; a draft order does not advance the requisition. ![Fully ordered requisition — document flow](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-siparise-baglandi.png) 1. Status: Ordered 2. On order — quantity on confirmed orders 3. RFQ 4. Order and receipt status ### Statuses | Status | Meaning | |---|---| | **Taslak** (Draft) | Can be edited; purchasing cannot see it and it cannot be linked to an order. | | **Onay Bekliyor** (Pending Approval) | An approval template is defined for the requisition type and matched. The document is locked; once approved it moves to **Talep Edildi** (Requested), if rejected it returns to **Taslak** (Draft). | | **Talep Edildi** (Requested) | On purchasing's agenda; can be linked to a request for quotation and an order. | | **Kısmen Siparişte** (Partially Ordered) | At least one line has been partially linked to a finalized order. | | **Siparişe Bağlandı** (Fully Ordered) | All lines have been fully linked to orders. | | **İptal** (Cancelled) | Purchasing decided not to fulfill the need (with a reason). It cannot be reopened. | | **Geri Çekildi** (Withdrawn) | The person who opened the requisition gave it up. It cannot be reopened. | A requisition only **reads** the delivery status of the orders linked to it; the answer to "has my material arrived?" is in the Belge Akışı (Document Flow) column — the requisition's status does not change with delivery. ### Actions | Status | Action | Condition | |---|---|---| | Taslak (Draft) | **Düzenle** (Edit) | `edit` permission. | | Taslak (Draft) | **Satın Almaya Gönder** (Submit to Purchasing) | `edit` permission. If an approval template matches, the button is named **Onaya Gönder** (Submit for Approval). | | Onay Bekliyor (Pending Approval) | **Onayla** (Approve) · **Reddet** (Reject) | The approver (or delegate) of the stage whose turn it is. A rejection reason is mandatory. The person who submitted it cannot approve their own requisition. | | Taslak, Onay Bekliyor, Talep Edildi (Draft, Pending Approval, Requested; if no line is linked to an order) | **Geri Çek** (Withdraw) | Only the person who **opened** the requisition, with the `create` permission. A confirmation window asks; no reason is required. | | Talep Edildi, Kısmen Siparişte (Requested, Partially Ordered; if there is a remainder) | **Teklif İsteği Oluştur** (Create Request for Quotation) | `erp-procurement-rfqs.create`. The form opens with the requisition's remaining lines. | | Taslak, Onay Bekliyor, Talep Edildi (Draft, Pending Approval, Requested; if no line is linked to an order) | **İptal Et** (Cancel) | `delete` permission; **İptal Gerekçesi** (Cancellation Reason) is mandatory, saved with **Talebi İptal Et** (Cancel Requisition). | | Any status | **Kopyala** (Copy) | `create` permission; carries the lines to a new draft form (the production order and MRP link are not carried). | If a request for quotation related to a submitted requisition is open, the **Teklifte** (In RFQ) badge is shown in the header. ![Submitted requisition — on purchasing's agenda](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-gonderildi.png) 1. Status: Submitted 2. Create RFQ — with the lines 3. Remaining — not yet ordered 4. Document flow — RFQs and orders ### Rejection messages | Message | Reason | |---|---| | Yalnız taslak talep düzenlenebilir. (Only a draft requisition can be edited.) | Editing a submitted requisition was attempted. | | Bu talebi yalnız açan kişi düzenleyebilir. (Only the person who opened this requisition can edit it.) | Someone else's requisition; the `requisitions.delete` permission is required. | | Talep en az bir kalem içermelidir. (The requisition must contain at least one item.) | Submission without lines. | | Siparişe bağlanmış talep iptal edilemez — önce ilgili satın alma siparişini … (A requisition linked to an order cannot be cancelled — first … the related purchase order) | There is a line linked to a finalized order. | | Bu talebi yalnız açan kişi geri çekebilir. Başkasının talebini kapatmak için satın alma iptal yetkisi gerekir. (Only the person who opened this requisition can withdraw it. Closing someone else's requisition requires the purchasing cancellation permission.) | Someone else attempted the withdrawal. | | Taslak talep siparişe bağlanamaz. Talebi önce gönderin. (A draft requisition cannot be linked to an order. Submit the requisition first.) | An order/RFQ from a draft requisition was attempted. | | Onay bekleyen talep siparişe bağlanamaz — onaylandıktan sonra bağlanabilir. (A requisition pending approval cannot be linked to an order — it can be linked after it is approved.) | Approval in progress. | | 'X' satın alınabilir bir ürün değil — talep edilemez. ('X' is not a purchasable item — it cannot be requisitioned.) | "Satın alınabilir" (Purchasable) is not selected on the card. | | 'X' yapılandırma seçimi gerektiriyor — varyant seçin. ('X' requires a configuration selection — select a variant.) | A configurable parent card was selected. | | 'ADET' birimi en fazla 0 ondalık basamak kabul eder. (The 'ADET' unit accepts at most 0 decimal places.) | Fractional quantity. | | Talep bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin. (The requisition was changed by another user in the meantime. Refresh the page and try again.) | Concurrent change. | ## Requisition Source Assignment {#talep-kaynak-ataması} **Satın Alma › Talep Yönetimi › Talep Kaynak Ataması** (Procurement › Requisition Management › Requisition Source Assignment) (`/erp/procurement/requisition-sourcing`) ![Requisition sourcing — draft order from requisition](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/kaynak-atama.png) 1. Select the requisition line 2. Source — proposed supplier and price 3. Date of the resulting order 4. Create Draft Order — selected lines 5. Automatic Order — all single-source lines Lists the **open** lines of submitted (Talep Edildi (Requested) / Kısmen Siparişte (Partially Ordered)) requisitions: Talep (Requisition), Ürün (Item), Açık (Open) quantity, İhtiyaç (Need) date, **Kaynak** (Source) and **Miktar** (Quantity). The Source column shows the supplier proposed by the system (quota, main supplier or single source) and its price; another supplier can be selected, and the quantity cannot exceed the open quantity. - **Taslak Sipariş Oluştur** (Create Draft Order): Creates a **draft order** per supplier and currency from the selected lines (at most 500 lines at a time). The price comes from Tedarikçi Fiyatları (Supplier Prices) in the line's unit; for a source without a record the price is zero and is written in the draft. The orders created are listed at the top of the page. - **Otomatik Sipariş** (Automatic Order): Without a selection, converts all open lines whose source resolves to a **single supplier** into draft orders; lines with multiple sources or no source wait and are counted with their reason. - **Sipariş Tarihi** (Order Date): The date of the orders to be created. The quantity that goes into a draft is deducted from the line's open quantity; the same line does not go into a draft a second time. The requisition's **Siparişte** (Ordered) quantity advances **when the draft order is finalized**. ## Related - [Create a purchase requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talep-olusturma) - [Approve a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talebi-onaylama) - [Create an order from a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talepten-siparis-olusturma) - [Requests for quotation](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) --- # Create a purchase requisition > Record a material need as a purchase requisition and submit it to purchasing — item, quantity, need date. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/talep-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Talep Yönetimi › Satınalma Talebi Oluştur (Procurement › Requisition Management › Create Purchase Requisition) - **Screen route:** `/erp/procurement/requisitions/new` - **Required permission:** `erp-procurement-requisitions.create`, `erp-procurement-requisitions.edit (Kaydet ve Gönder için)` - **Prerequisites:** - The item card is active and "Satın alınabilir" (Purchasable) is selected on the card; for a configurable item, a variant card exists. - The requisition date falls in an open posting period. A purchase requisition reports a need; selecting the price and supplier is purchasing's job. A requisition does not change stock or planning — supply in planning is created when the order is finalized. ## Steps 1. Open the **Satın Alma › Talep Yönetimi › Satınalma Talebi Oluştur** (Procurement › Requisition Management › Create Purchase Requisition) screen. If you are in the list, click **Yeni Talep** (New Requisition). 2. If you are opening a requisition for a production order, select the order from the **Üretim Emri** (Production Order) list and add the requirement lines. For a manual requisition, leave this field empty. 3. Check the **Talep Tarihi** (Requisition Date; mandatory). 4. Click **Kalem Ekle** (Add Item). In the list that opens, find the item and click the **+** button on its row (e.g. **HAM-0001 ekle** (add HAM-0001)); you can select several items. Transfer the lines to the form with the **1 kalem ekle** (add 1 item; with the selection count) button at the bottom of the window. 5. Click the line's **Miktar** (Quantity) cell, type the quantity and press `Enter`. 6. Click the **Ne Zaman Lazım** (Needed By) cell and enter the need date; if needed, enter a note in the **Açıklama** (Description) cell. 7. If needed, enter the document **Not** (Note). To forward the requisition to purchasing immediately, click **Kaydet ve Gönder** (Save and Submit); to keep it for editing later, click **Taslak Kaydet** (Save Draft). ![New purchase requisition — item, quantity and need date](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-olustur.png) 1. Requisition date (required) 2. Add Item — pick from the item list 3. Quantity — click the cell and type 4. Needed by 5. Save Draft — stays editable 6. Save and Submit — hands over to purchasing 8. In the requisition details that open, check that the status is **Talep Edildi** (Requested) (or **Taslak** (Draft) if you saved a draft). ![Submitted requisition — on purchasing's agenda](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-gonderildi.png) 1. Status: Submitted 2. Create RFQ — with the lines 3. Remaining — not yet ordered 4. Document flow — RFQs and orders **Result:** The requisition is saved with the number **TLP-yyyy-nnnnnn**. A submitted requisition enters purchasing's agenda (Talep Edildi (Requested)); if an approval template is defined, it first becomes **Onay Bekliyor** (Pending Approval) ([Approve a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talebi-onaylama)). Next step: a [request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma) or a [draft order from the requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talepten-siparis-olusturma). ## What you need to know - A requisition saved as a draft is submitted later from the details with **Satın Almaya Gönder** (Submit to Purchasing) (if there is an approval template, the button is named **Onaya Gönder** (Submit for Approval)). - A user with only the `create` permission does not see **Kaydet ve Gönder** (Save and Submit); the requisition stays in draft and someone with the permission submits it. - The quantity must match the decimal precision of the unit: 1.5 is rejected for ADET ("'ADET' birimi en fazla 0 ondalık basamak kabul eder." (The 'ADET' unit accepts at most 0 decimal places.)). - Only the person who opened the requisition edits it; editing someone else's requisition requires the `requisitions.delete` permission. - A submitted requisition cannot be edited. If you change your mind, use **Geri Çek** (Withdraw; the person who opened it) or **İptal Et** (Cancel; with a reason). ## Related - [Purchase requisitions screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri) - [From requisition to goods receipt process](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule) --- # Requests for quotation > Request for quotation list, form and details — invited suppliers, quotation entry, comparison, decision and the resulting draft order. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri A request for quotation is used to ask several suppliers about the same list of items. The items are written once, each invited supplier's price is entered in the document and the quotations are compared **side by side in the same document**. From the decided items, **a single draft order** is created per winning supplier. A request for quotation makes no commitment to the supplier; it creates no stock or financial movement and has no approval step. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Teklif İstekleri (Procurement › Sourcing › Requests for Quotation) - **Screen route:** `/erp/procurement/rfqs` - **Required permission:** `erp-procurement-rfqs.view (görme) · .create (oluşturma) · .edit (gönderme, davetli ekleme, teklif girişi, karar) · .delete (iptal)` ## Request for quotation list | Column | Description | |---|---| | Teklif No (RFQ No) | `TKL-yyyy-nnnnnn`; click to open the details. | | Konu (Subject) | The subject of the document. | | İstek Tarihi · Son Teklif (Request Date · Quotation Deadline) | The request date and the quotation deadline (for information). | | Durum (Status) | See the status table below. | | Yanıt (Responses) | Number of suppliers who quoted / number invited. | | Karara Bağlanan (Decided) | Number of decided items. | | Sorumlu · Para Birimi (Responsible · Currency) | | **Filters:** Ara (Search), Durum (Status). The **Yeni Teklif İsteği** (New Request for Quotation) button opens the form. ## Request for quotation form ![New RFQ from a requisition — invitees and lines](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-istegi-olustur.png) 1. Select Suppliers — invitees 2. Quote deadline — informational 3. Subject (required) 4. Currency — all quotes in this currency 5. Line from the requisition; quantity = remainder 6. Save and Send | Field | Rule | |---|---| | **Davet Edilecek Tedarikçiler** (Suppliers to Invite) | **Tedarikçi Seç** (Select Supplier) lets you select several suppliers from the list (**Davet et** (Invite)). At least one supplier is needed to send; a draft can be saved with an empty invitee list. An inactive card or one without the supplier role cannot be invited. | | **İstek Tarihi** (Request Date) | Mandatory; today is proposed. | | **Son Teklif Tarihi** (Quotation Deadline) | Optional, for information; cannot be before the request date. A quotation that arrives after the date has passed can still be entered. | | **Konu** (Subject) | Mandatory, at most 256 characters. When opened from a requisition, "TLP-… talebi" (requisition TLP-…) is proposed. | | **Para Birimi** (Currency) | Mandatory; all quotations are collected in this currency, there is no exchange rate conversion. | | **Kalemler** (Items) | At least one item. **Kalem ekle** (Add item): select a requisition from its list and click **Ekle** (Add) to bring in the requisition's open lines ("talepten" (from requisition) label; the quantity is the requisition's remainder and can be corrected), or select an item with **Listeden Seç** (Select from List). The quantity must be greater than zero. | | Not (Note) | Optional, at most 1024 characters. | The **Teklif İsteği Oluştur** (Create Request for Quotation) button in the requisition details opens the form with the requisition's remaining lines. Lines can be taken only from requisitions in **Talep Edildi** (Requested) and **Kısmen Siparişte** (Partially Ordered). **Taslak Kaydet** (Save Draft) leaves the document as a draft; **Kaydet ve Gönder** (Save and Send) saves it and marks it as sent to the suppliers. ## Request for quotation details ![Quote comparison and award](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-karsilastirma.png) 1. Enter Quote — per supplier 2. Best net price highlighted 3. Winner — supplier per line 4. Selection reason required 5. Selects the best quotes 6. Award — draft order is created The details consist of three sections: - **Davetliler** (Invitees): On each supplier's card, the response status (**Yanıt Bekleniyor** (Awaiting Response), **Teklif Verdi** (Quoted), **Teklif Vermedi** (Declined)), quotation total, validity and payment terms, along with the **Teklif Gir** (Enter Quotation), **Excel'den Yükle** (Upload from Excel), **Vermedi** (Declined) and supplier-specific **Çıktı** (Output) buttons. - **Belge Bilgileri** (Document Information): Konu (Subject), Para Birimi (Currency), İstek Tarihi (Request Date), Son Teklif (Quotation Deadline), Gönderim (Sent), Sorumlu (Responsible). - **Karşılaştırma** (Comparison): One row per item; each supplier's net unit price (with the list price and discount below it), line amount and lead time. For an item with several quotations, **the best quotation is colored and marked with ↓**; the choice is not imposed. **Son Alış** (Last Purchase) is the item's most recent goods receipt price from any supplier. In the **Karar** (Decision) column, the winning supplier and the **gerekçe (zorunlu)** (reason (mandatory)) are entered. ### Quotation entry ![Quote entry dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-girisi.png) 1. Unit price (list price) 2. Discount % 3. Lead time (days) 4. Quote valid until 5. Payment terms — carried to the order 6. Save Quote In the **Teklif Gir** (Enter Quotation) window, **Birim Fiyat** (Unit Price), **İsk. %** (Disc. %) and **Termin (gün)** (Lead Time (days)) are entered per item; an item left empty is considered not quoted. **Ticari Şartlar** (Commercial Terms): validity date, payment terms, supplier note. To open a cell, double-click it or select the cell and start typing. Rules: price and lead time cannot be negative; more than one price cannot be given for the same item. **Excel'den Yükle** (Upload from Excel) reads the completed version of the quotation form sent to the supplier. Quotations can be entered only in a sent document. **Vermedi** (Declined) records that the supplier will not quote (with an optional note); it is a decision distinct from no response. The quotation of a supplier that has a decided item cannot be withdrawn. ### Making the decision 1. On the item row, select the supplier from the **Kazanan seçin** (Select winner) list, or select those with the lowest net price with **En Uygun Teklifleri Seç** (Select Best Quotations). 2. Enter a **Gerekçe (zorunlu)** (Reason (mandatory)) for each selected item. 3. Click **Karara Bağla (n)** (Decide (n)). No confirmation window opens; the decisions are saved. When the decision is made: - **One draft purchase order** (`SA-…`) is created per winning supplier: price = list price + quotation discount, expected delivery = the **longest** lead time of the winning quotations, note "TKL-… teklif isteğinden oluşturuldu." (Created from request for quotation TKL-….), payment terms from the quotation if specified there, payment term and Incoterms from the supplier card. The order's responsible person is the person who made the decision. - The **discounted** unit price and lead time of the winning quotation are written to **Tedarikçi Fiyatları** (Supplier Prices) as the agreed price (evidence is added to the price history). - In the document, the winner, the reason and the number of the resulting order are shown under the item. ![Awarded RFQ and the resulting order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-karara-baglandi.png) 1. Status: Awarded 2. Winner and reason 3. Order created by the award ### Statuses | Status | Meaning | |---|---| | **Taslak** (Draft) | The item and invitee lists can be changed freely. | | **Teklif Bekleniyor** (Awaiting Quotations) | Sent to the suppliers. The item list can no longer change; quotation entry and adding invitees are allowed. | | **Kısmen Karara Bağlandı** (Partially Decided) | Some of the items have been decided; the rest are open. | | **Karara Bağlandı** (Decided) | All items have been decided. | | **İptal** (Cancelled) | Abandoned. Orders created from decided items are not affected. | ### Actions | Status | Action | |---|---| | Taslak (Draft) | **Düzenle** (Edit) · **Tedarikçilere Gönder** (Send to Suppliers) | | Teklif Bekleniyor, Kısmen Karara Bağlandı (Awaiting Quotations, Partially Decided) | **Davetli Ekle** (Add Invitee) · **Teklif Gir** (Enter Quotation) · **Excel'den Yükle** (Upload from Excel) · **Vermedi** (Declined) · **Karara Bağla** (Decide) | | Other than Karara Bağlandı (Decided) and İptal (Cancelled) | **İptal Et** (Cancel) — **İptal gerekçesi** (Cancellation reason) mandatory (`delete` permission) | | Any status | **Çıktı** (Output; quotation form) | ### Rejection messages | Message | Reason | |---|---| | Teklif isteği en az bir tedarikçiye gönderilmelidir. (The request for quotation must be sent to at least one supplier.) | Sending without invitees. | | Teklif isteği en az bir kalem içermelidir. (The request for quotation must contain at least one item.) | Saving/sending without items. | | Yalnız Taslak durumundaki teklif isteği düzenlenebilir. (Only a request for quotation in Draft status can be edited.) | Editing a sent document. | | Teklif girişi yalnız gönderilmiş teklif isteğinde yapılabilir. (Quotations can be entered only in a sent request for quotation.) | Quotation entry in a draft. | | 'T-0002' 10. kaleme fiyat vermedi — karara bağlanamaz. ('T-0002' did not quote item 10 — it cannot be decided.) | A supplier without a price was selected. | | 10. satır için seçim gerekçesi zorunludur. (A selection reason is mandatory for line 10.) | The reason is empty. | | Karara bağlanacak en az bir kalem seçilmelidir. (At least one item to decide must be selected.) | Decision without a selection. | | Tamamı karara bağlanmış teklif isteği iptal edilemez. (A fully decided request for quotation cannot be cancelled.) | | | Bu tedarikçi zaten davet edilmiş. (This supplier has already been invited.) | | | Yalnız gönderilmiş ve kısmen sipariş edilmiş talepler için teklif istenebilir. (Quotations can be requested only for submitted and partially ordered requisitions.) | A line from a draft / closed requisition. | ## Related - [Create a request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma) - [Compare quotations](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma) - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) - Analytics › **Teklif Tasarrufu** (Quotation Savings): [Procurement reports](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/analitik) --- # Approve a purchase requisition > In an installation with an approval template, approve a purchase requisition pending approval or reject it with a reason. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/talebi-onaylama - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Talep Yönetimi › Satınalma Talepleri › talep detayı (Procurement › Requisition Management › Purchase Requisitions › requisition details) - **Screen route:** `/erp/procurement/requisitions/{id}` - **Required permission:** `erp-procurement-requisitions.approve` - **Prerequisites:** - There is an active template for Satın Alma Talebi (Purchase Requisition) in Yönetim › Onay Süreci › Onay Şablonları (Administration › Approval Process › Approval Templates) and the requisition has been submitted for approval (status Onay Bekliyor (Pending Approval)). - The user is in the role or person list of the stage whose turn it is (or is their delegate) and is not the person who submitted the requisition. Requisition approval is an **optional** step: if there is no active approval template for Satın Alma Talebi (Purchase Requisition), **Satın Almaya Gönder** (Submit to Purchasing) makes the requisition **Talep Edildi** (Requested) directly. If there is a template, the button is named **Onaya Gönder** (Submit for Approval) and the requisition moves to **Onay Bekliyor** (Pending Approval). Because a requisition has no price, no amount condition is offered in the template. ## Steps 1. Open the requisition from the **Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › Awaiting My Approval) list or from **Satınalma Talepleri** (Purchase Requisitions). 2. Review the requisition's items and note. 3. If it is acceptable, click **Onayla** (Approve), enter an optional note and confirm. 4. If it needs to be corrected, click **Reddet** (Reject); enter the rejection reason and confirm. **Result:** When the last stage approves, the requisition becomes **Talep Edildi** (Requested) and enters purchasing's agenda. A rejected requisition returns to **Taslak** (Draft); the approval round remains as a trail in the document's **Onaylar** (Approvals) section. ## What you need to know - A requisition in Onay Bekliyor (Pending Approval) is locked: it cannot be edited or linked to a request for quotation or an order ("Onay bekleyen talep siparişe bağlanamaz — onaylandıktan sonra bağlanabilir." (A requisition pending approval cannot be linked to an order — it can be linked after it is approved.)). - Stages are asked in order; the buttons are shown only to the approver of the stage whose turn it is. The person who submitted it cannot approve their own requisition. - A rejection reason is mandatory ("Red gerekçesi zorunludur." (The rejection reason is mandatory.)). - The approval flow uses the same core as the purchase order; for a live example, see [Finalize an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme). > **Demo environment** In the demo installation, no approval template is defined for Satın Alma Talebi (Purchase Requisition); the steps on this page were written from the source code and there are no screenshots. ## Related - [Purchase requisitions screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri) --- # Purchase orders > Purchase order list, form and details — statuses, finalization, approval, goods receipt, closing, cancellation, output and rejection messages. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri A purchase order is the record of the commercial order placed with the supplier. The order is prepared as a **draft** (manually, from a quotation or from a requisition); once **finalized**, it is considered placed with the supplier, it is locked, opened for goods receipt and shown as an **in-transit** quantity in planning (Malzeme İhtiyaçları (Material Requirements)). - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri · Satın Alma Siparişi Oluştur (Procurement › Order Management › Purchase Orders · Create Purchase Order) - **Screen route:** `/erp/procurement/orders` - **Required permission:** `erp-procurement-orders.view (görme) · .create (oluşturma, kopyalama) · .edit (düzenleme, kesinleştirme, onaya gönderme, e-posta) · .approve (onay oyu) · .delete (iptal) · .close (kapatma)` ## Order list ![Purchase orders list](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-listesi.png) 1. New Order 2. Status filter 3. Expected delivery 4. Draft · Ordered · Partially Received · Received… | Column | Description | |---|---| | Sipariş No (Order No) | `SA-yyyy-nnnnnn`; click to open the order. The column stays fixed on the left. | | Tedarikçi (Supplier) | Name and code. | | Sipariş Tarihi · Beklenen Teslim (Order Date · Expected Delivery) | | | Durum (Status) | See the status table below. | | Sorumlu (Responsible) | The purchasing person responsible. | | Kalem (Items) | Number of lines. | | Net · KDV · Genel Toplam (Net · VAT · Grand Total) | Hidden for users without the permission to view the purchase price. | **Filters:** Ara (Search), Durum (Status; **Tüm durumlar** (All statuses)), Sorumlu (Responsible; **Tüm sorumlular** (All responsible persons)), **Grubumun belgeleri** (My group's documents; items of my purchasing group) and order date range. ## Order form **Satın Alma › Sipariş Yönetimi › Satın Alma Siparişi Oluştur** (Procurement › Order Management › Create Purchase Order) (`/erp/procurement/orders/new`) ![New purchase order — supplier, item and price](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-olustur.png) 1. Supplier — terms from the card 2. Delivery warehouse — opens an inbound delivery 3. Quantity 4. Unit price — proposed from supplier prices 5. Create Order — saves as draft **Top strip:** **Tedarikçi** (Supplier; mandatory; only active cards with the supplier role) and **Sipariş Tarihi** (Order Date; mandatory). The toolbar has **Kaydet** (Save; Ctrl+S), **Kontrol Et** (Validate) and **Kalem Ekle** (Add Item). | Tab | Fields | |---|---| | Teslimat ve Ödeme (Delivery and Payment) | **Beklenen Teslim** (Expected Delivery; cannot be before the order date), **Para Birimi** (Currency; mandatory, three-letter ISO code), **Teslim Deposu** (Delivery Warehouse), **Vade (Gün)** (Payment Term (Days); empty = no term · 0 = cash in advance), **Ödeme Koşulu** (Payment Terms), **Teslim Şekli** (Incoterms), **Teslim Şekli Notu** (Incoterms Note). The payment term and Incoterms are proposed from the supplier card. | | Koşullar (Conditions) | **Genel İskonto %** (Header Discount %) — distributed proportionally to the lines. | | Metinler (Texts) | **Not** (Note). | | Adres (Address) | **Teslim Yeri** (Delivery Location; defined delivery locations) and **Teslim Adresi** (Delivery Address). | | Organizasyon (Organization) | **Satın Alma Sorumlusu** (Purchasing Responsible) — only on the edit screen; on a new order it is the logged-in user. | If a **Teslim Deposu** (Delivery Warehouse) is selected, an **inbound delivery** to that warehouse is opened automatically when the order is finalized and a notification is sent to the warehouse's responsible persons. If the warehouse has the "Mal kabul yalnız gelen teslimattan" (Goods receipt only from inbound delivery) setting, the goods receipt can be made only from this delivery. If no warehouse is selected, no inbound delivery is opened. The **Kalemler** (Items) table: **Ürün** (Item), **Miktar** (Quantity), **Birim** (Unit), **Birim Fiyat** (Unit Price), **İskonto %** (Discount %), **KDV** (VAT), Tahmini Tutar (Estimated Amount). Description, project, outline agreement and subcontracting information are entered in the line details. The **Birim Fiyat** (Unit Price) is proposed in the line's unit from the item's **agreed price** with that supplier (Tedarikçi Fiyatları (Supplier Prices)); a price in a different currency is not proposed. The line type comes from the card: a stock item becomes **Stok** (Stock; closed with a goods receipt), a non-stock item becomes **Hizmet** (Service; closed with a service receipt). Form validations: "Tedarikçi zorunlu." (Supplier is mandatory.), "Sipariş tarihi zorunlu." (Order date is mandatory.), "Sipariş tarihinden önce olamaz." (Cannot be before the order date.; expected delivery), "Sipariş en az bir kalem içermelidir." (The order must contain at least one item.), and on a line "Ürün seçilmedi." (No item selected.), "Zorunlu." (Mandatory.), "Sıfır veya negatif olamaz." (Cannot be zero or negative.; quantity), "Negatif olamaz." (Cannot be negative.; price). **Siparişi Oluştur** (Create Order) saves the order as **Taslak** (Draft); the success panel shows **Siparişi Kesinleştir** (Finalize Order), **Siparişi Görüntüle** (View Order) and **Yeni Sipariş** (New Order). If the amount falls under an approval template, the panel says "Bu sipariş tutarı nedeniyle onay gerektiriyor — detayından onaya gönderin." (This order requires approval because of its amount — submit it for approval from its details.) and the finalize button is not shown. ## Order details ![Draft order — edit and confirm](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-taslak.png) 1. Edit — draft only 2. Confirm Order (Submit for Approval if a rule applies) 3. Cancel Order 4. Output — print, PDF, Excel, e-mail On the document surface: supplier (tax office and number), **Belge Bilgileri** (Document Information; order date, expected delivery, currency, gross weight / volume, purchasing responsible, payment term, payment terms, Incoterms, delivery address, delivery warehouse), **Kalemler** (Items; Sipariş (Ordered), **Alınan / Kabul** (Received / Accepted), **Kalan** (Remaining), unit price and net price, discount, VAT %, net, VAT, total), the amount summary, **Onaylar** (Approvals; if there is an approval round), **Çıktılar** (Outputs; e-mails sent) and **Ekler** (Attachments). The received and remaining quantities come from the goods and service receipt documents. ### Statuses | Status | Meaning | |---|---| | **Taslak** (Draft) | Can be edited; no goods receipt is possible; does not advance the requisition's "Siparişte" (Ordered) quantity. | | **Onay Bekliyor** (Pending Approval) | The amount matched an approval template and the order was submitted for approval. The document is **locked**; no goods receipt is possible. When the last stage approves, it becomes **Sipariş Verildi** (Ordered) automatically; if rejected, it returns to **Taslak** (Draft). | | **Sipariş Verildi** (Ordered) | Finalized: a commercial order placed with the supplier. Supplier, item, quantity, unit, price and VAT can no longer be changed. Open for goods receipt. | | **Kısmi Teslim** (Partially Received) | At least one line has been partially received. | | **Teslim Alındı** (Received) | All lines have been fully received. | | **Kapatıldı** (Closed) | The remainder was given up after partial receipt (or the order was not reopened during a reversal). Goods and service receipts are not possible; the remainder is not counted as in transit. | | **İptal** (Cancelled) | Cancelled; it cannot be reopened. | ### Actions | Status | Action | Permission | |---|---|---| | Taslak (Draft) | **Düzenle** (Edit) | `edit` | | Draft, no approval required | **Siparişi Kesinleştir** (Finalize Order) | `edit` | | Draft, approval required | **Onaya Gönder** (Submit for Approval; Siparişi Kesinleştir is not shown) | `edit` | | Onay Bekliyor (Pending Approval) | **Onayla** (Approve) · **Reddet** (Reject) — shown only to the approver (or delegate) of the stage whose turn it is | `approve` | | Sipariş Verildi (Ordered), Kısmi Teslim (Partially Received) | **Mal Kabul Gir** (Enter Goods Receipt) | `erp-procurement-receipts.create` | | Kısmi Teslim (Partially Received) | **Siparişi Kapat** (Close Order) | `close` | | Taslak, Onay Bekliyor, Sipariş Verildi (Draft, Pending Approval, Ordered) | **Siparişi İptal Et** (Cancel Order) | `delete` | | Any status | **Kopyala** (Copy; to a new draft form), **Çıktı** (Output; Yazdır · PDF İndir · Excel İndir · E-posta ile Gönder (Print · Download PDF · Download Excel · Send by E-mail)) | `create` / `edit` (e-mail) | The button for a transition that is not possible is not drawn at all. **Çıktı** (Output) is not shown to a user who cannot view prices. ![Confirm purchase order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kesinlestir.png) 1. Confirm Order The **Siparişi Kesinleştir** (Finalize Order) window: "Bu sipariş kesinleştirildiğinde tedarikçiye verilmiş ticari sipariş olarak kabul edilir." (Once finalized, this order is considered a commercial order placed with the supplier.) On finalization: - The **Siparişte** (Ordered) quantity of the requisition lines linked to the order advances; the requisition becomes **Kısmen Siparişte** (Partially Ordered) or **Siparişe Bağlandı** (Fully Ordered). - If there is a delivery warehouse, an **inbound delivery** (`GLT-…`) is opened; the details show "Gelen teslimat açıldı: GLT-… — … deposunun sorumlularına bildirildi; mal kabul oradan yapılır." (Inbound delivery opened: GLT-… — the responsible persons of the … warehouse were notified; the goods receipt is made from there.) - The order remainder is counted as in-transit supply in Malzeme İhtiyaçları (Material Requirements). ### Approval {#onay} ![Order awaiting approval — approver view](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-onay-bekliyor.png) 1. Status: Awaiting approval — locked 2. Approve — approver of the current stage 3. Reject — back to draft 4. Current stage 5. Stage 1 decision and note Approval applies when the condition of the **active** template defined for Satın Alma Siparişi (Purchase Order) in **Yönetim › Onay Süreci › Onay Şablonları** (Administration › Approval Process › Approval Templates) is met (e.g. a grand total of 50,000 TRY or more); if there is no template or it is inactive, the order is finalized directly. Stages are asked in order; the **Onaylar** (Approvals) section shows the round, stage, decision maker, time and note. Each submission opens a new round; earlier rounds remain as a trail. - The **Onaya Gönder** (Submit for Approval) window: "Belge onaya gönderildiği anda kilitlenir: onay sonuçlanana kadar düzenlenemez. Reddedilirse taslağa döner ve yeniden düzenlenebilir." (The document is locked as soon as it is submitted for approval: it cannot be edited until the approval is concluded. If rejected, it returns to draft and can be edited again.) - **Onayla** (Approve): optional **Not** (Note); "Başka bekleyen adım yoksa sipariş kesinleşir." (If there is no other pending step, the order is finalized.) - **Reddet** (Reject): a reason is mandatory ("Neyin düzeltilmesi gerekiyor?" (What needs to be corrected?)); the order returns to draft. - The person who submitted it cannot approve their own order. ![Partially received order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kismi.png) 1. Status: Partially Received 2. Post Goods Receipt — for the rest 3. Close Order — rest not expected 4. Received quantity 5. Remaining quantity ### Closing and cancellation {#kapatma-ve-iptal} ![Close purchase order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kapat.png) 1. Close reason (required) 2. Close Order - **Siparişi Kapat** (Close Order) only in **Kısmi Teslim** (Partially Received): the supplier will not deliver the remainder. **Kapatma Nedeni** (Closing Reason) is mandatory. No record is deleted; the received part remains valid and the remainder is no longer expected. - **Siparişi İptal Et** (Cancel Order) in Taslak (Draft), Onay Bekliyor (Pending Approval) and Sipariş Verildi (Ordered): **İptal Nedeni** (Cancellation Reason) is mandatory; it cannot be undone. An order with a received quantity cannot be cancelled — it is closed. ### Rejection messages | Message | Reason | |---|---| | Yalnız Taslak durumundaki satın alma siparişleri düzenlenebilir. (Only purchase orders in Draft status can be edited.) | Editing a finalized order. | | Bu sipariş onay gerektiriyor — doğrudan kesinleştirilemez, onaya gönderin. (This order requires approval — it cannot be finalized directly; submit it for approval.) | An approval template matched. | | Bu sipariş için eşleşen onay kuralı yok — doğrudan kesinleştirebilirsiniz. (There is no matching approval rule for this order — you can finalize it directly.) | Submission for approval was attempted but there is no template. | | Seçilen cari kart tedarikçi olarak kullanılamaz (kayıt yok, pasif ya da tedarikçi rolü taşımıyor). (The selected business partner card cannot be used as a supplier (no record, inactive, or it does not have the supplier role).) | | | 'X' satın alınabilir bir ürün değil — kart üzerinde "Satın alınabilir" işaretlenmemiş. ('X' is not a purchasable item — "Purchasable" is not selected on the card.) | | | 'X' pasif — pasif stok kartı sipariş edilemez. ('X' is inactive — an inactive stock card cannot be ordered.) | | | 'X' için kaynak listesi zorunlu — tedarikçi listede yok (Kaynak Bulma › Tedarikçi Fiyatları'nda tanımlayın). (A source list is mandatory for 'X' — the supplier is not in the list (define it in Sourcing › Supplier Prices).) | The item's source list is mandatory. | | 'X' bu tedarikçiden sipariş edilemez — kaynak listesinde bloke (…). ('X' cannot be ordered from this supplier — blocked in the source list (…).) | The supplier is blocked for this item. | | Teslim deposu bulunamadı ya da pasif. (The delivery warehouse was not found or is inactive.) | | | Hiç teslim alınmamış sipariş kapatılmaz; tedarikçiyle ilişki gerçekleşmediyse siparişi iptal edin. (An order with nothing received cannot be closed; if the transaction with the supplier did not take place, cancel the order.) | Closing in Sipariş Verildi (Ordered). | | Bu satın alma siparişi tamamen teslim alınmış; kapatılacak kalan yok. (This purchase order has been fully received; there is no remainder to close.) | | | Yalnız Taslak, Onay Bekliyor ve Sipariş Verildi durumundaki satın alma siparişleri iptal edilebilir. (Only purchase orders in Draft, Pending Approval and Ordered status can be cancelled.) | | | İptal nedeni zorunludur. · Kapatma nedeni zorunludur. · Red gerekçesi zorunludur. (The cancellation reason is mandatory. · The closing reason is mandatory. · The rejection reason is mandatory.) | | | Bu satın alma siparişi bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin. (This purchase order was changed by another user in the meantime. Refresh the page and try again.) | Concurrent change. | ## Related - [Create an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparis-olusturma) · [Finalize an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) · [Send an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme) - [Change an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-degistirme) · [Close or cancel an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal) - [Goods receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri) · [Service receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/hizmet-kabulleri) --- # Create an order from a requisition > Assign suppliers to submitted requisition lines on the Requisition Source Assignment screen and create a draft purchase order. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/talepten-siparis-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Talep Yönetimi › Talep Kaynak Ataması (Procurement › Requisition Management › Requisition Source Assignment) - **Screen route:** `/erp/procurement/requisition-sourcing` - **Required permission:** `erp-procurement-orders.create`, `erp-procurement-sourcing.view` - **Prerequisites:** - The requisition is in **Talep Edildi** (Requested) or **Kısmen Siparişte** (Partially Ordered) status and has an open quantity. - The item has at least one supplier price record (otherwise the price in the draft is zero). Requisition Source Assignment quickly converts requisitions that do not need quotations (the agreed price is known) into orders. The price comes from **Tedarikçi Fiyatları** (Supplier Prices) in the line's unit. ## Steps 1. Open the **Satın Alma › Talep Yönetimi › Talep Kaynak Ataması** (Procurement › Requisition Management › Requisition Source Assignment) screen. The open requisition lines are listed. 2. Select the check box of the line to be ordered (e.g. **TLP-2026-000006 / 10 satırını seç** (select line TLP-2026-000006 / 10)). 3. Check the proposed supplier in the **Kaynak** (Source) column; if needed, select another supplier from the list and correct the **Miktar** (Quantity) (it cannot exceed the open quantity). 4. Check the **Sipariş Tarihi** (Order Date) and click **Taslak Sipariş Oluştur** (Create Draft Order). ![Requisition sourcing — draft order from requisition](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/kaynak-atama.png) 1. Select the requisition line 2. Source — proposed supplier and price 3. Date of the resulting order 4. Create Draft Order — selected lines 5. Automatic Order — all single-source lines 5. In the **Oluşturulan taslak siparişler** (Draft orders created) list, click the order number (SA-…) to open the draft; check the price, delivery warehouse and dates, and [finalize](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) it. **Result:** One **Taslak** (Draft) order is created per supplier and currency; the source requisitions are written in the note field. The requisition's **Siparişte** (Ordered) quantity advances **when the order is finalized**. ## What you need to know - **Otomatik Sipariş** (Automatic Order), without a selection, converts all open lines whose source resolves to a single supplier (quota, main supplier or single source) into draft orders; lines with multiple sources or no source wait and are counted with their reason. Each supplier is processed separately: a rejection for one does not stop the others. - A line that goes into a draft drops out of the list; the same line does not go into a draft a second time. - At most 500 lines can be assigned at a time ("Tek seferde en çok 500 talep satırı." (At most 500 requisition lines at a time.)). - Rejection messages: "Sipariş oluşturulacak en az bir talep satırı seçin." (Select at least one requisition line to create an order.), "TLP-… siparişe açık değil." (TLP-… is not open for ordering.), "TLP-…/10: miktar açık miktarı (…) aşamaz." (TLP-…/10: the quantity cannot exceed the open quantity (…).) - If you need to obtain prices, open a [request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma) instead of using this screen. ## Related - [Purchase requisitions screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri#talep-kaynak-ataması) - [Supplier prices and source list](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) --- # Goods receipts > Goods receipt list, Due for Receipt, goods receipt entry (full, partial, split allocation), inbound delivery, quality quarantine, stock effect and rejection messages. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri A goods receipt is the posting of goods received from the supplier against the order; **the stock receipt is posted at the same time**. The goods of one order can arrive in several goods receipts (partial). Once saved, a goods receipt document **cannot be changed**; an error or a return is corrected with **Mal Kabul Geri Alma** (Goods Receipt Reversal) ([Return management](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/iade-yonetimi)). - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Mal ve Hizmet Kabulü › Mal Kabulleri · Teslim Alınacaklar · Mal Kabulü Oluştur (Procurement › Goods and Service Receipt › Goods Receipts · Due for Receipt · Create Goods Receipt) - **Screen route:** `/erp/procurement/receipts` - **Required permission:** `erp-procurement-receipts.view (liste, detay, Teslim Alınacaklar) · .create (mal kabul girişi)` ## Goods receipt list ![Goods receipts list](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/mal-kabul-listesi.png) 1. New Goods Receipt 2. Inbound delivery, if used 3. Supplier delivery note number Columns: **Mal Kabul No** (Goods Receipt No, `MK-yyyy-nnnnnn`), **Sipariş No** (Order No), **Gelen Teslimat** (Inbound Delivery; if received from a delivery), Tedarikçi (Supplier), **İrsaliye No** (Delivery Note No), **Mal Kabul Tarihi** (Goods Receipt Date), Kalem (Items), Oluşturulma (Created). **Filters:** Ara (Search), Başlangıç–Bitiş (Start–End), Tedarikçi (Supplier). **Mal Kabul Girişi** (Goods Receipt Entry) opens the form. ## Due for Receipt **Satın Alma › Mal ve Hizmet Kabulü › Teslim Alınacaklar** (Procurement › Goods and Service Receipt › Due for Receipt) (`/erp/procurement/receipts/expected`) ![Expected receipts](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teslim-alinacaklar.png) 1. Open order without inbound delivery 2. Overdue only 3. Create Goods Receipt — from the row This is the work list of goods expected to arrive at the warehouse; it does not post a goods receipt document. There are two types of lines: - **Gelen teslimat** (Inbound delivery) — a delivery announced by the supplier or opened when the order is finalized (`GLT-…`), - **Sipariş (teslimatsız)** (Order (without delivery)) — the remainder of an open order that has no delivery (the warehouse shows "Kabulde seçilir" (Selected at receipt)). Columns: Belge (Document), Sipariş (Order), Tedarikçi (Supplier), Depo (Warehouse), Beklenen (Expected; date), Kalemler (Items), İrsaliye (Delivery Note). Filters: Ara (Search), **Kaynak** (Source), Tedarikçi (Supplier), **Yalnız gecikenler** (Overdue only), **Yalnız benim depolarım** (My warehouses only; the warehouses I am responsible for). **Mal Kabulü Oluştur** (Create Goods Receipt) on a line opens the goods receipt form filled in with that delivery or order. ## Goods receipt entry **Satın Alma › Mal ve Hizmet Kabulü › Mal Kabulü Oluştur** (Procurement › Goods and Service Receipt › Create Goods Receipt) (`/erp/procurement/receipts/new`). **Mal Kabul Gir** (Enter Goods Receipt) in the order details opens the form with the order already selected (`?orderId=`). ![Goods receipt — allocation, warehouse and location](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/mal-kabul-olustur.png) 1. Purchase order 2. Delivery note no. — unique per supplier 3. Remaining order quantity 4. Received quantity — may be partial 5. Warehouse and location 6. Save Goods Receipt — stock is posted ### Document information | Field | Rule | |---|---| | **Satın Alma Siparişi** (Purchase Order) | Mandatory. Only orders in **Sipariş Verildi** (Ordered) and **Kısmi Teslim** (Partially Received) are listed. | | **Mal Kabul Tarihi** (Goods Receipt Date) | Mandatory; today is proposed. Postings cannot be made to a closed period or (without permission) to a past date. | | **Tedarikçi İrsaliye No** (Supplier Delivery Note No) | Optional; the same delivery note from the same supplier cannot be saved twice. | | Not (Note) | Optional. | | **Aynı İrsaliyedeki Diğer Sipariş** (Other Order on the Same Delivery Note) | With **Sipariş ekle…** (Add order…), other open orders of the same supplier in the same currency are added to the same goods receipt. | ### Order items and delivery allocations The **Sipariş Kalemleri** (Order Items) table: Stok (Stock), Sipariş (Ordered), **Alınan** (Received), **Kalan** (Remaining), Birim (Unit), **Takip** (Tracking; İzleme Yok (No Tracking) · Lot Takipli (Batch-Managed) · Seri No Takipli (Serial-Managed)), **Kalite** (Quality; **Gerekli** (Required) on a card that requires quality inspection). Quantities are tracked in the order unit. - **Mal Kabul Ekle** (Add Goods Receipt) adds the item to **Teslim Tahsisleri** (Delivery Allocations); the quantity is filled with the remaining quantity. **Tümünü Ekle (n)** (Add All (n)) adds all items. - On each allocation: **Miktar** (Quantity; mandatory, greater than zero, cannot exceed the remaining quantity), **Depo** (Warehouse; mandatory), **Lokasyon** (Storage Location; optional or mandatory depending on the warehouse setting), for a batch-managed card the **batch number** (mandatory), production date, expiry date (SKT) and supplier batch, for a serial-managed card the **serial numbers** (mandatory). - **Depo (tümüne)** (Warehouse (for all)) selects the warehouse of all allocations together. - **Splitting:** Reduce the quantity of the allocation; the item's **Mal Kabul Ekle** (Add Goods Receipt) button becomes available again and a second allocation is added for the remainder (e.g. 1,150 units to AMBALAJ, 50 units to the IBC-ALANI storage location). A second allocation cannot be entered for the same order item, warehouse, storage location and batch. - **Sipariş Birim Fiyatı** (Order Unit Price) is for information: "Sipariş kaleminden alınır — gerçekleşen maliyet değildir." (Taken from the order item — it is not the actual cost.) **Partial goods receipt:** Enter part of the remaining quantity and save. The order becomes **Kısmi Teslim** (Partially Received); the remainder is received with the next goods receipt or the order is **closed**. **Mal Kabulü Kaydet** (Save Goods Receipt) saves the document with an `MK-yyyy-nnnnnn` number; the result panel shows the new status of the order (e.g. "Sipariş SA-2026-000002 — Kısmi Teslim" (Order SA-2026-000002 — Partially Received)) and the **Yeni Mal Kabul** (New Goods Receipt), **Mal Kabulü Görüntüle** (View Goods Receipt), **Mal Kabullerine Dön** (Back to Goods Receipts) and **Siparişi Görüntüle** (View Order) buttons. ### Stock and planning effect - For each allocation, a receipt movement of type **Mal Kabul** (Goods Receipt) is posted (source "Mal Kabul #n" in Stok Yönetimi › Mal Hareketleri › Stok Hareketleri (Inventory Management › Goods Movements › Stock Movements)). Stock increases in the selected warehouse, storage location and batch, in the **Sıfır** (New) stock status. - The stock value increases by the order's **discounted net** unit price (200 × 1,115.50 TRY in the example). - The order's Received quantity increases and its remainder decreases; in the Belge Akışı (Document Flow) of the requisition linked to the order, "teslim x/y" (delivered x/y) advances. In Malzeme İhtiyaçları (Material Requirements), the order's in-transit quantity decreases. - The **Son Alış** (Last Purchase) information of the item in **Tedarikçi Fiyatları** (Supplier Prices) is updated. ### Item requiring quality inspection If there is an item showing **Gerekli** (Required) in the Quality column, the form displays a warning: "Bu siparişte kalite kontrolü şartlı ürün var. Malı hangi depoya alırsanız alın karantina durumuna yazılır; muayeneden sonra Kalite Kontrol ekranından serbest bırakılana kadar sevk, sarf ve transfer yollarına kapalı kalır." (This order contains an item that requires quality inspection. Whichever warehouse you receive the goods into, they are posted to quarantine status; after inspection they remain blocked for shipment, consumption and transfer until released from the Quality Inspection screen.) The decision is made on the **Stok Yönetimi › Kalite Kontrol** (Inventory Management › Quality Inspection) screen. Such an item cannot be received directly into a project. ## Inbound delivery {#gelen-teslimat} If a **Teslim Deposu** (Delivery Warehouse) is selected on the order, a delivery (`GLT-…`, status **Bekleniyor** (Expected)) is opened in **Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar** (Logistics Management › Inbound Delivery › Inbound Deliveries) when the order is finalized. The goods receipt from the delivery is made from the **Teslim Alınacaklar** (Due for Receipt) line or with **Mal Kabulü Oluştur** (Create Goods Receipt) in the delivery details; the form says "Gelen teslimat GLT-… — kalemler teslimatın kalanıyla dolduruldu; kabul teslimata işlenir." (Inbound delivery GLT-… — the items were filled with the delivery's remainder; the receipt is posted to the delivery.) and the warehouse is locked to the delivery's warehouse. **Teslimat bağını kaldır** (Remove delivery link) turns the receipt back into a plain order receipt. - In a receipt from a delivery, the quantity is filled with the **delivery's** remainder; if the order's remainder is smaller, correct the quantity (the server rejects exceeding the order's remainder). - A goods receipt made directly from the order **does not reduce the delivery's open quantity**. If you did not use the delivery, close it in Gelen Teslimatlar (Inbound Deliveries) with **İptal Et** (Cancel; if nothing has been received against it) or **Kalanı Kapat** (Close Remainder). - If the warehouse setting **Mal kabul yalnız gelen teslimattan** (Goods receipt only from inbound delivery) is on, a receipt directly from the order is rejected. ## Goods receipt details ![Goods receipt detail](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/mal-kabul-detay.png) 1. Document cannot be changed 2. Supplier return request 3. Split allocations — warehouse, location 4. Source order Belge Bilgileri (Document Information; goods receipt number, order number, date, supplier, tax number / tax office, delivery note, currency, created by, note), the current status of the order and **Teslim Alınan Kalemler** (Received Items; stock, quantity, unit, warehouse, storage location, batch, serial numbers, production date, expiry date, supplier batch, order unit price, status). Actions: **Çıktı** (Print), **İthalat Masrafı Ekle** (Add Import Cost; Finance — outside this guide), **Tedarikçi İade Talebi** (Supplier Return Request), **Siparişi Görüntüle** (View Order). ## Rejection messages | Message | Reason | |---|---| | Taslak satın alma siparişi için mal kabul yapılamaz. Siparişi önce kesinleştirin. (A goods receipt is not possible for a draft purchase order. Finalize the order first.) | | | Bu satın alma siparişi tamamen teslim alınmış. (This purchase order has been fully received.) | | | İptal edilmiş satın alma siparişi için mal kabul yapılamaz. · Kapatılmış satın alma siparişi için mal kabul yapılamaz. (A goods receipt is not possible for a cancelled purchase order. · A goods receipt is not possible for a closed purchase order.) | | | 'HAM-0001' için kalan miktar aşılıyor. Kalan: 80, girilen: 200. (The remaining quantity for 'HAM-0001' is exceeded. Remaining: 80, entered: 200.) | The quantity is greater than the order's remainder. | | 'EGE-2026-4471' irsaliye numarası bu tedarikçi için zaten kaydedilmiş. (Delivery note number 'EGE-2026-4471' has already been saved for this supplier.) | Duplicate delivery note. | | Aynı sipariş kalemi, depo, lokasyon ve lot için birden fazla mal kabul satırı girilemez. (More than one goods receipt line cannot be entered for the same order item, warehouse, storage location and batch.) | | | 'X' lot takipli — lot numarası zorunludur. · 'X' seri takipli — seri numarası zorunludur. ('X' is batch-managed — the batch number is mandatory. · 'X' is serial-managed — the serial number is mandatory.) | | | 'X' hizmet kartı — stok girişi yapılamaz. ('X' is a service card — a stock receipt is not possible.) | Service line; use a service receipt. | | Seçilen lokasyon 'HAMMADDE' deposuna ait değil ya da pasif. (The selected storage location does not belong to the 'HAMMADDE' warehouse or is inactive.) | | | 'HAMMADDE' deposuna mal kabul gelen teslimatla yapılır — Gelen Teslimatlar'dan teslimatı açıp mal kabule oradan geçin. (Goods receipts into the 'HAMMADDE' warehouse are made with an inbound delivery — open the delivery from Inbound Deliveries and proceed to the goods receipt from there.) | Warehouse setting "Mal kabul yalnız gelen teslimattan" (Goods receipt only from inbound delivery). | | GLT-… gelen teslimatı 'HAMMADDE' deposuna — mal kabul satırları bu depoya yazılır. (Inbound delivery GLT-… is to the 'HAMMADDE' warehouse — goods receipt lines are posted to this warehouse.) | A different warehouse was selected in a receipt from a delivery. | | X başka bir tedarikçinin siparişi — tek mal kabuldeki siparişler aynı tedarikçiye ait olmalı. (X is an order of another supplier — the orders in a single goods receipt must belong to the same supplier.) | A different supplier was added with Sipariş ekle… (Add order…). | | Belge tarihi (…) bugünden (…) eski olamaz. Geçmiş tarihli kayıt yalnız 'Geçmiş Tarihli Kayıt' yetkisi olan kullanıcıya açık. (The document date (…) cannot be earlier than today (…). Back-dated posting is available only to users with the 'Geçmiş Tarihli Kayıt' (Back-Dated Posting) permission.) | Past date. | | … tarihi kapalı dönemde: kayıtlar … dahil kapatıldı. … (The date … is in a closed period: postings are closed up to and including …. …) | Closed posting period. | ## Related - [Create a goods receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma) - [Return to supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade) - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) --- # Create a request for quotation > Prepare and send a request for quotation to ask several suppliers about the items — from a requisition or manually. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Teklif İstekleri › Yeni Teklif İsteği (Procurement › Sourcing › Requests for Quotation › New Request for Quotation) - **Screen route:** `/erp/procurement/rfqs/new` - **Required permission:** `erp-procurement-rfqs.create`, `erp-procurement-rfqs.edit (göndermek için)` - **Prerequisites:** - The suppliers to be invited are active and have the supplier role. - If it is opened from a requisition, the requisition is in **Talep Edildi** (Requested) or **Kısmen Siparişte** (Partially Ordered) and has a remainder. A request for quotation makes no commitment to the supplier; it creates no stock or financial movement. After it is sent, the items do not change so that all suppliers quote on the same list; adding invitees is allowed. ## Steps 1. If you are opening it from a requisition, click **Teklif İsteği Oluştur** (Create Request for Quotation) in the requisition details; the form opens with the requisition's remaining lines. To open it manually, click **Yeni Teklif İsteği** (New Request for Quotation) in **Satın Alma › Kaynak Bulma › Teklif İstekleri** (Procurement › Sourcing › Requests for Quotation). 2. Click **Tedarikçi Seç** (Select Supplier), click the **+** button on the row of each supplier to be invited (e.g. **T-0001 ekle** (add T-0001), **T-0002 ekle** (add T-0002)) and close the window with **Davet et** (Invite). 3. Enter the **Son Teklif Tarihi** (Quotation Deadline; for information) and check the **Konu** (Subject; mandatory). 4. Select the **Para Birimi** (Currency); all quotations are entered in this currency. 5. If you opened it manually, add the items: select a requisition from the **Kalem ekle:** (Add item:) list and click **Ekle** (Add), or click **Listeden Seç** (Select from List). Select the quantity cell and start typing or double-click it; confirm with `Enter`. 6. Click **Kaydet ve Gönder** (Save and Send). To keep it without sending, use **Taslak Kaydet** (Save Draft). ![New RFQ from a requisition — invitees and lines](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-istegi-olustur.png) 1. Select Suppliers — invitees 2. Quote deadline — informational 3. Subject (required) 4. Currency — all quotes in this currency 5. Line from the requisition; quantity = remainder 6. Save and Send **Result:** The request for quotation is saved with the number **TKL-yyyy-nnnnnn** in **Teklif Bekleniyor** (Awaiting Quotations) status; the item list can no longer change. To forward it to the supplier, use **Çıktı** (Output) on the invitee card. Next step: [Compare quotations](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma). ## What you need to know - A draft can be saved without invitees; to send it, at least one supplier and one item are needed ("Teklif isteği en az bir tedarikçiye gönderilmelidir." (The request for quotation must be sent to at least one supplier.)). - The quotation deadline cannot be before the request date; a quotation that arrives after the date has passed can still be entered. - The quantity of a line from a requisition is the requisition's remainder; by reducing it, you can ask about part of the requisition. - A draft request for quotation is completed in the details with **Düzenle** (Edit) and **Tedarikçilere Gönder** (Send to Suppliers). - When a request for quotation is opened for a submitted requisition, the **Teklifte** (In RFQ) mark is shown in the requisition list and details. ## Related - [Requests for quotation screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) --- # Service receipts > Receipt of non-stock order items (freight, maintenance, consulting) — list, form, details and rules. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/hizmet-kabulleri A service receipt is the record that a non-stock order item (freight, maintenance, subcontracted labor, consulting…) **has been received**. The type of the order line comes from the item card: a non-stock card becomes a **Hizmet** (Service) line and is closed only with a service receipt. **No stock movement is created.** - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Mal ve Hizmet Kabulü › Hizmet Kabulleri · Hizmet Kabulü Oluştur (Procurement › Goods and Service Receipt › Service Receipts · Create Service Receipt) - **Screen route:** `/erp/procurement/service-acceptances` - **Required permission:** `erp-procurement-service-acceptances.view (görme) · .create (hizmet kabulü)` ## Service receipt list Columns: **Hizmet Kabul No** (Service Receipt No, `HK-yyyy-nnnnnn`), Sipariş No (Order No), Tedarikçi (Supplier), **Kabul Tarihi** (Receipt Date), **Tedarikçi Belge No** (Supplier Document No), Kalem (Items), Oluşturulma (Created). Filters: Ara (Search), Başlangıç–Bitiş (Start–End). The **Hizmet Kabulü** (Service Receipt) button opens the form. ## Service receipt form ![Service entry form](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/hizmet-kabulu-olustur.png) 1. Open orders with service lines only 2. Acceptance date 3. Supplier document no. — unique 4. Save Service Entry — no stock movement | Field | Rule | |---|---| | **Satın Alma Siparişi** (Purchase Order) | Mandatory. Only open orders (Sipariş Verildi (Ordered), Kısmi Teslim (Partially Received)) that carry a service item are listed. | | **Kabul Tarihi** (Receipt Date) | Mandatory; the posting period rules are the same as for goods receipts. | | **Tedarikçi Belge No** (Supplier Document No) | Optional; the same number cannot be posted twice for the same supplier. | | Not (Note) | Optional. | | **Hizmet Kalemleri** (Service Items) | Listed once the order is selected: Ürün Kodu (Item Code), Ürün Tanımı (Item Description), Sipariş (Ordered), Kabul Edilen (Received), Kalan (Remaining), Birim (Unit), Birim Fiyat (Unit Price) and **Kabul Miktarı** (Receipt Quantity). A quantity must be entered on at least one line; the quantity cannot exceed the remaining quantity. | **Hizmet Kabulünü Kaydet** (Save Service Receipt) saves the document; the result panel shows "Stok defterine kayıt oluşturulmadı — hizmet stoklanmaz." (No posting was created in the stock ledger — services are not stocked.) and the current status of the order (**Teslim Alındı** (Received) if everything has been received). ## Service receipt details ![Service entry detail](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/hizmet-kabulu-detay.png) 1. Document cannot be changed 2. No stock effect 3. Source order The document cannot be changed. It shows Belge Bilgileri (Document Information), **Kabul Edilen Hizmetler** (Received Services; order item, item, quantity, unit, order unit price, VAT %) and **Ekler** (Attachments). Actions: **Çıktı** (Print), **Siparişi Görüntüle** (View Order). An incorrect receipt is reversed with **Satın Alma › İade Yönetimi › Hizmet Kabulünü Geri Al** (Procurement › Return Management › Reverse Service Receipt) ([Return management](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/iade-yonetimi#hizmet-kabul-geri-alma)). ## Rejection messages | Message | Reason | |---|---| | Bu satın alma siparişinde hizmet kalemi yok. (This purchase order has no service item.) | An order with stock lines was selected. | | 'X' stoklanabilir bir ürün — hizmet kabulü yapılamaz, mal kabul kullanın. ('X' is a stockable item — a service receipt is not possible; use a goods receipt.) | | | 'X' için kalan miktar aşılıyor. Kalan: …, girilen: …. (The remaining quantity for 'X' is exceeded. Remaining: …, entered: ….) | | | 'HHN-2026-0912' belge numarası bu tedarikçi için zaten kaydedilmiş. (Document number 'HHN-2026-0912' has already been posted for this supplier.) | Duplicate document number. | | Hizmet kabulü en az bir kalem içermelidir. (A service receipt must contain at least one item.) | | | Taslak satın alma siparişi için hizmet kabulü yapılamaz. Siparişi önce kesinleştirin. (A service receipt is not possible for a draft purchase order. Finalize the order first.) | | ## Related - [Create a service receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/hizmet-kabulu-olusturma) - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) --- # Enter, compare and decide on quotations > Enter the prices received from suppliers in the request for quotation, compare them, select the winner with a reason and create a draft order. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Teklif İstekleri › teklif isteği detayı (Procurement › Sourcing › Requests for Quotation › request for quotation details) - **Screen route:** `/erp/procurement/rfqs/{id}` - **Required permission:** `erp-procurement-rfqs.edit` - **Prerequisites:** - The request for quotation is in **Teklif Bekleniyor** (Awaiting Quotations) or **Kısmen Karara Bağlandı** (Partially Decided) status. - You have the supplier's price (e-mail, phone or a completed quotation form). The comparison is not a separate screen; it is the request for quotation itself. The decision is per item: you can award different items to different suppliers; items going to the same supplier are collected in a single order. ## Steps 1. Open the request for quotation. On the card of the supplier who quoted, click **Teklif Gir** (Enter Quotation). 2. For each item, enter the **Birim Fiyat** (Unit Price; without discount), the **İsk. %** (Disc. %) if any, and the **Termin (gün)** (Lead Time (days)): select the cell and start typing or double-click it. Leave an item that was not quoted empty. 3. In **Ticari Şartlar** (Commercial Terms), enter the quotation's **Geçerlilik tarihi** (Validity date) and **Ödeme koşulu** (Payment terms), and click **Teklifi Kaydet** (Save Quotation). ![Quote entry dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-girisi.png) 1. Unit price (list price) 2. Discount % 3. Lead time (days) 4. Quote valid until 5. Payment terms — carried to the order 6. Save Quote 4. Repeat the same steps for the other suppliers. For a supplier who does not quote, click **Vermedi** (Declined). 5. Review the **Karşılaştırma** (Comparison) table: for each item, the best net price is colored and marked with ↓; **Son Alış** (Last Purchase) is the item's last goods receipt price. 6. In the item's **Karar** (Decision) cell, select the supplier from the **Kazanan seçin** (Select winner) list, or click **En Uygun Teklifleri Seç** (Select Best Quotations). 7. For each selected item, enter the reason for the selection in the **Gerekçe (zorunlu)** (Reason (mandatory)) field. 8. Click **Karara Bağla (1)** (Decide (1)). ![Quote comparison and award](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-karsilastirma.png) 1. Enter Quote — per supplier 2. Best net price highlighted 3. Winner — supplier per line 4. Selection reason required 5. Selects the best quotes 6. Award — draft order is created **Result:** One **Taslak** (Draft) purchase order (SA-…) is created per winning supplier; the winning price is written to **Tedarikçi Fiyatları** (Supplier Prices) as the agreed price. Open the order and [finalize it](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme). ## What you need to know - Deciding does not open a confirmation window; the decision is saved and cannot be undone. The quotation of a supplier that has a decided item cannot be withdrawn. - The price of the resulting order is carried as **list price + quotation discount**, the expected delivery is the **longest** lead time of the winning quotations, the payment terms come from the quotation, and the payment term and Incoterms come from the supplier card. The VAT rate is the default rate. The order's responsible person is the person who made the decision. - A supplier that has not quoted cannot be selected as the winner ("'T-0002' 10. kaleme fiyat vermedi — karara bağlanamaz." ('T-0002' did not quote item 10 — it cannot be decided.)). - Only users who can view the purchase price see the amounts. - Savings after the decision are tracked in the **Analitik › Teklif Tasarrufu** (Analytics › Quotation Savings) report. ## Related - [Requests for quotation screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) - [From requisition to goods receipt process](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule) --- # Return management > Return to supplier — return request and its approval, goods receipt reversal (return to supplier), service receipt reversal; statuses, stock effect and rules. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/iade-yonetimi A return to the supplier has two steps: an optional **supplier return request** (the decision made before the goods are sent) and the **goods receipt reversal** that reduces the stock. A reversal can also be made without a request (to correct an incorrectly posted goods receipt). The return invoice belongs to Finance and is not covered in this guide. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › İade Yönetimi › Tedarikçi İade Talepleri · Mal Kabul Geri Almaları · Mal Kabulünü Geri Al · Hizmet Kabul Geri Almaları · Hizmet Kabulünü Geri Al (Procurement › Return Management › Supplier Return Requests · Goods Receipt Reversals · Reverse Goods Receipt · Service Receipt Reversals · Reverse Service Receipt) - **Screen route:** `/erp/procurement/return-requests` - **Required permission:** `erp-procurement-return-requests.view · .create (talep açma, iptal, kapatma) · .approve (onay, red)`, `erp-procurement-receipt-reversals.view · .create (mal kabul geri alma, talepten iade)`, `erp-procurement-service-acceptance-reversals.view · .create` ## Supplier return requests ![New supplier return request](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-olustur.png) 1. Return reason (required) 2. The whole line is returned 3. Requester cannot approve 4. Open Request — stock unchanged A request is opened with the **Tedarikçi İade Talebi** (Supplier Return Request) button **in the goods receipt details** (`/erp/procurement/receipts/{id}/return-requests/new`). List: **Satın Alma › İade Yönetimi › Tedarikçi İade Talepleri** (Procurement › Return Management › Supplier Return Requests) — columns Talep No (Request No, `TIT-…`), Durum (Status), Talep Tarihi (Request Date), Tedarikçi (Supplier), Mal Kabul No (Goods Receipt No), İade Nedeni (Return Reason), Açan (Opened By), Kalem (Items). | Field | Rule | |---|---| | **Talep Tarihi** (Request Date) | Cannot be before the goods receipt date. The request does not post stock. | | **İade Nedeni** (Return Reason) | Mandatory; it is proposed as the reason of the reversal document. | | Açıklama (Description) | Optional. | | **Tedarikçiye Dönecek Satırlar** (Lines to Return to Supplier) | At least one goods receipt line. **A line is returned as a whole** — the quantity cannot be changed. A line that has already been reversed cannot be selected. | **Talebi Aç** (Open Request) saves the request with the status **Onay Bekliyor** (Pending Approval). **The person who opens the request cannot approve it** — another authorized person (with the `approve` permission) makes the decision; the opener's screen shows "Kendi açtığınız talebi onaylayamazsınız; kararı başka bir yetkili verir." (You cannot approve a request you opened yourself; another authorized person makes the decision.) ![Return request — approver view](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-onayci.png) 1. Approve — someone other than the requester 2. Reject — reason required 3. Requested by ### Statuses and actions | Status | Meaning | Actions | |---|---|---| | **Onay Bekliyor** (Pending Approval) | Awaiting a decision. | **Onayla** (Approve; an `approve` holder other than the opener) · **Reddet** (Reject; Red gerekçesi (rejection reason) mandatory) · **İptal Et** (Cancel; İptal gerekçesi (cancellation reason) mandatory, `create`) | | **Onaylandı** (Approved) | A return can be posted from the request. | **Tedarikçiye İade Et** (Return to Supplier; `erp-procurement-receipt-reversals.create`) · **Kapat** (Close; the return of the remaining lines is no longer expected; reason mandatory) | | **Kapandı** (Closed) | All lines were returned or the remainder was dropped. Terminal. | — | | **Reddedildi** (Rejected) | Rejected with a reason. Terminal. | — | | **İptal Edildi** (Cancelled) | Withdrawn before a decision was made. Terminal. | — | The line table shows **İade Edilen** (Returned) and **Kalan** (Remaining); the **Talepten Yazılan İadeler** (Returns Posted from the Request) section lists the reversal documents posted from this request. When the last line is returned, the request becomes **Kapandı** (Closed) automatically. ![Closed return request with reversal](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-kapandi.png) 1. Status: Closed — all lines returned 2. Decided by 3. Returned quantity 4. Reversal written from the request ## Goods receipt reversal **Satın Alma › İade Yönetimi › Mal Kabulünü Geri Al** (Procurement › Return Management › Reverse Goods Receipt) (`/erp/procurement/receipt-reversals/new`). From an approved request, **Tedarikçiye İade Et** (Return to Supplier) opens the form with the request's goods receipt and lines (`?requestId=`). ![Goods receipt reversal — return to supplier](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/geri-alma-olustur.png) 1. Receipt to reverse 2. Reason (required) 3. Checked: re-expected; cleared: order closes 4. Whole line is reversed 5. Save Reversal — reverse stock posting | Field | Rule | |---|---| | **Mal Kabul** (Goods Receipt) | Mandatory. Only documents with at least one line not yet reversed are listed; search by goods receipt number, order number, supplier or delivery note. | | **Geri Alma Tarihi** (Reversal Date) | Mandatory; the posting period rules apply. | | **Gerekçe** (Reason) | Mandatory (when opened from a request, the request's return reason is filled in). | | **Siparişi yeniden aç** (Reopen order) | Selected by default: the reversed quantity is expected again and counted as in transit in Malzeme İhtiyaçları (Material Requirements). If cleared: "Mal iade edildi, yenisi gelmeyecek: sipariş kapanır, kalan yoldaki sayılmaz." (The goods were returned and no replacement will come: the order is closed and the remainder is not counted as in transit.) | | Not (Note) | Optional. | | **Geri Alınacak Kalemler** (Items to Reverse) | Select the line; **the quantity cannot be changed**. When opened from a request, only the request's lines can be selected. | > **No partial reversal** "Mal kabul satırları tamamen geri alınır. Kısmi geri alma bu sürümde desteklenmiyor." (Goods receipt lines are reversed in full. Partial reversal is not supported in this version.) If you are going to return part of a line, enter that quantity as a **separate allocation** at the goods receipt (e.g. the 50 damaged units to a separate storage location). If a wrong quantity was entered, reverse the line in full and create a new goods receipt with the correct quantity. **Geri Almayı Kaydet** (Save Reversal) saves the `MKG-yyyy-nnnnnn` document. Effect: - For each line, an issue movement of type **Giriş Geri Alma** (Receipt Reversal): stock is reduced from the goods receipt's warehouse, storage location and batch. - The order's Received quantity is rolled back: if **Siparişi yeniden aç** (Reopen order) is selected, the order becomes **Kısmi Teslim** (Partially Received) (or Sipariş Verildi (Ordered)) and the remainder is expected again; if it is cleared, the order becomes **Kapatıldı** (Closed). - If posted from a request, the request's Returned quantity increases. ![Goods receipt reversal detail](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/geri-alma-detay.png) 1. Reason 2. Reversed receipt line 3. Source receipt The reversal details cannot be changed: Belge Bilgileri (Document Information; reversal number, goods receipt number, order number, supplier, date, reason), **Geri Alınan Kalemler** (Reversed Items; with Mal Kabul Satırı (Goods Receipt Line)) and the **Mal Kabulü Görüntüle** (View Goods Receipt) and **Siparişi Görüntüle** (View Order) buttons. The list **Mal Kabul Geri Almaları** (Goods Receipt Reversals): Geri Alma No (Reversal No), Mal Kabul No (Goods Receipt No), Sipariş No (Order No), Tedarikçi (Supplier), Geri Alma Tarihi (Reversal Date), Gerekçe (Reason), Kalem (Items), Oluşturulma (Created). ### Rejection messages | Message | Reason | |---|---| | Kendi açtığınız tedarikçi iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli. (You cannot approve a supplier return request you opened yourself. Another authorized person must make the decision.) | Segregation of duties. | | Tedarikçi iade talebi henüz onaylanmadı; onaysız talepten iade yazılamaz. (The supplier return request has not been approved yet; a return cannot be posted from an unapproved request.) | | | Tedarikçi iade talebi kapalı; bu talepten iade yazılamaz. (The supplier return request is closed; a return cannot be posted from this request.) | | | Geri alınan satır talepte yok; talepten yazılan iade yalnız talebin satırlarını içerir. (The reversed line is not in the request; a return posted from a request contains only the request's lines.) | | | Bu mal kabul satırı daha önce geri alınmış. (This goods receipt line has already been reversed.) | | | 10. kabul satırı daha önce geri alınmış — talebe giremez. (Receipt line 10 has already been reversed — it cannot be added to the request.) | | | Talep tarihi mal kabul tarihinden önce olamaz. (The request date cannot be before the goods receipt date.) | | | Yalnız karar bekleyen talep iptal edilebilir; onaylanmış talep kapatılır. (Only a request awaiting a decision can be cancelled; an approved request is closed.) | | | Geri alma gerekçesi zorunludur. · İade nedeni zorunludur. (The reversal reason is mandatory. · The return reason is mandatory.) | | | … fason kabulü — geri alınamaz. Bileşenler fasoncuda tüketildi; hatalı ürünü tedarikçiye iade etmek için fasona malzeme sevki kullanın. (… subcontracting receipt — cannot be reversed. The components were consumed at the subcontractor; to return a defective product to the supplier, use a material shipment to the subcontractor.) | Subcontracting line. | ## Service receipt reversal {#hizmet-kabul-geri-alma} **Satın Alma › İade Yönetimi › Hizmet Kabulünü Geri Al** (Procurement › Return Management › Reverse Service Receipt) (`/erp/procurement/service-acceptance-reversals/new`): "Kabul belgesi silinmez — ters kayıt oluşur ve siparişin kabul miktarı geri sarılır." (The receipt document is not deleted — a reverse posting is created and the order's received quantity is rolled back.) Fields: **Hizmet Kabulü** (Service Receipt; mandatory; documents that have a line not yet reversed), **Geri Alma Tarihi** (Reversal Date), **Gerekçe** (Reason; mandatory), **Siparişi yeniden aç** (Reopen order; "Geri alınan hizmet yeniden beklenir; sipariş açık kalır." (The reversed service is expected again; the order remains open.)), Not (Note) and **Geri Alınacak Satırlar** (Lines to Reverse). No stock movement is created. List: **Hizmet Kabul Geri Almaları** (Service Receipt Reversals). ## Related - [Return to supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade) - [Goods receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri) --- # Create a purchase order > Prepare a new purchase order for a supplier — supplier, delivery warehouse, items and price; the order is saved as a draft. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparis-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişi Oluştur (Procurement › Order Management › Create Purchase Order) - **Screen route:** `/erp/procurement/orders/new` - **Required permission:** `erp-procurement-orders.create` - **Prerequisites:** - The supplier is **Aktif** (Active) and the **Tedarikçi** (Supplier) role is selected on the business partner card. - The items are active and "Satın alınabilir" (Purchasable); for a price proposal there is a record in Tedarikçi Fiyatları (Supplier Prices) (not mandatory). - If the item's source list is mandatory, the supplier is in that list and not blocked. A draft order is not a commercial commitment: it can be edited freely, it is not open for goods receipt and it is not included in planning. Orders that come from a quotation or a requisition are also created as drafts and are finalized the same way. ## Steps 1. Open the **Satın Alma › Sipariş Yönetimi › Satın Alma Siparişi Oluştur** (Procurement › Order Management › Create Purchase Order) screen. If you are in the list, click **Yeni Sipariş** (New Order). 2. In the **Tedarikçi** (Supplier) field, type the code or name and press `Enter`, select from the list and press `Enter` again. To search the list, click the magnifier or press `F4`. 3. Check the **Sipariş Tarihi** (Order Date). On the **Teslimat ve Ödeme** (Delivery and Payment) tab, enter the **Beklenen Teslim** (Expected Delivery). 4. If the warehouse the goods will go into is known, select the **Teslim Deposu** (Delivery Warehouse): when the order is finalized, an inbound delivery to that warehouse is opened. If needed, change the **Vade (Gün)** (Payment Term (Days)), **Ödeme Koşulu** (Payment Terms) and **Teslim Şekli** (Incoterms). 5. In the **Kalemler** (Items) table, type the code in the **Ürün** (Item) field of the first line and press `Enter`, select and press `Enter` again. 6. Type the **Miktar** (Quantity) and press `Tab`. The **Birim Fiyat** (Unit Price) is proposed from the supplier price; change it if needed, and use the **İskonto %** (Discount %) field for a discount. 7. Continue with the other items. Check the form with **Kontrol Et** (Validate), then click **Siparişi Oluştur** (Create Order). ![New purchase order — supplier, item and price](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-olustur.png) 1. Supplier — terms from the card 2. Delivery warehouse — opens an inbound delivery 3. Quantity 4. Unit price — proposed from supplier prices 5. Create Order — saves as draft **Result:** The order is saved as **Taslak** (Draft) with the number **SA-yyyy-nnnnnn**. [Finalize it](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) with **Siparişi Kesinleştir** (Finalize Order) in the success panel or from the details; if the amount matches an approval template, the panel tells you to submit it for approval. ## What you need to know - **Kaydet** (Save; Ctrl+S) saves the form; **Siparişi Oluştur** (Create Order) saves it and opens the success panel (**Siparişi Kesinleştir** (Finalize Order) · **Siparişi Görüntüle** (View Order) · **Yeni Sipariş** (New Order)). - If the currency differs from that of the supplier price, the price is not proposed; enter the price manually. - A serial-managed item is ordered in the card's base unit; a quantity that does not match the unit's decimal precision is rejected. - A non-stock item (e.g. HIZ-0004 NAKLİYE HİZMETİ) becomes a **Hizmet** (Service) line and is closed with a service receipt. - To start from an existing order, use **Kopyala** (Copy) in the order details. ## Related - [Purchase orders screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) - [Supplier prices](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) --- # Supplier prices and source list > The item–supplier link (agreed price, lead time, minimum quantity, main supplier, block), price history, mandatory source list and quota arrangement. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari **Tedarikçi Fiyatları** (Supplier Prices) is the master data that answers the question "at what price and in how many days do we buy this item from this supplier". The agreed price in the record is brought to the order line as a **proposal**; the user can change it. A decision made in a request for quotation automatically updates the winning supplier's record. **Kaynak Listesi ve Kota** (Source List and Quota), on the other hand, determines per item which suppliers it can be ordered from and how orders are split between suppliers. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Tedarikçi Fiyatları · Kaynak Listesi ve Kota (Procurement › Sourcing › Supplier Prices · Source List and Quota) - **Screen route:** `/erp/procurement/item-suppliers` - **Required permission:** `erp-procurement-item-suppliers.view (görme, fiyat geçmişi) · .create · .edit · .delete · .import (Excel'den aktarım)`, `Kaynak Listesi ve Kota: erp-procurement-sourcing.view (görme) · .edit (kaydetme)` ## Supplier price list ![Supplier prices list](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/tedarikci-fiyatlari.png) 1. New Record 2. Import — Excel 3. Agreed price — proposed on orders 4. Last purchase — from receipts 5. Preferred supplier | Column | Description | |---|---| | Ürün · Tedarikçi (Item · Supplier) | Item code and name; supplier code and name. | | Ted. Ürün Kodu (Supplier Item Code) | The supplier's own item code. | | Anlaşmalı Fiyat (Agreed Price) | Price, currency and the unit of the price. | | Son Alış (Last Purchase) | Price, date and document of the last goods receipt from this supplier. | | Termin (Lead Time) | Days. | | Asgari (Minimum) | Minimum order quantity. | | Geçerlilik (Validity) | Start – end. | | Ana (Main) | **Ana** (Main; main supplier) or **Bloke** (Blocked) badge. | **Filters:** Ara (Search), **Yalnız ana tedarikçi** (Main supplier only; hide links that are not main), Kapsam (Scope; item / supplier). The line's **İşlemler** (Actions) menu: **Fiyat Geçmişi** (Price History), **Düzenle** (Edit), **Sil** (Delete). The toolbar has **Dışa Aktar** (Export), **İçe Aktar** (Import; bulk import with an Excel workbook — the `item-suppliers` object of data import) and **Yeni Kayıt** (New Record). ## Record window ![New supplier price dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/tedarikci-fiyati-yeni.png) 1. Agreed unit price 2. Price unit 3. Lead time (days) 4. One preferred supplier per item 5. Blocked — not ordered from 6. Save | Field | Rule | |---|---| | **Ürün** (Item) | Mandatory; an active, purchasable card. | | **Tedarikçi** (Supplier) | Mandatory; an active card with the supplier role. The same item–supplier pair cannot be defined twice ("Mevcut kaydı düzenleyin." (Edit the existing record.)). | | Tedarikçi ürün kodu · tanımı (Supplier item code · description) | Optional. | | **Anlaşmalı birim fiyat** (Agreed unit price) | Optional; cannot be negative. If a price is entered, **Fiyatın birimi** (Price unit) and **Para birimi** (Currency) are mandatory (and vice versa). | | **Fiyatın birimi** (Price unit) | A unit defined in the card's unit conversions. If the order line is in another unit, the proposal is converted using the card's conversion. | | Para birimi (Currency) | Three letters (TRY, USD, EUR). If the order's currency is different, the price is not proposed. | | Asgari sipariş miktarı (Minimum order quantity) | Greater than zero. | | Termin (gün) (Lead time (days)) | 0 or more. | | Geçerlilik başlangıcı · bitişi (Valid from · to) | The start cannot be after the end. | | Not (Note) | Optional. | | **Ana tedarikçi** (Main supplier) | There is one main supplier per item; when selected, the previous main supplier is cleared automatically. | | **Bloke kaynak** (Blocked source) | This item is not ordered from this supplier; the record and price history remain. A reason is mandatory. A main supplier cannot be blocked. | **Fiyat Geçmişi** (Price History) shows the price evidence of the record with its document: goods receipt (`MK-…`, actual purchase), service receipt (`HK-…`) and quotation decision (`TKL-…`, agreed price). The evidence of a reversed receipt is marked and is not included in the last purchase calculation. ## Where the price comes from and where it goes - **Order form:** When the item and supplier are selected, the agreed price is proposed as the **Birim Fiyat** (Unit Price) in the line's unit. - **Quotation decision:** The discounted net price and lead time of the winning quotation become the agreed price. Example: after the TKL-2026-000001 decision, the HAM-0001 / T-0001 record was updated from 1,150.00 to **1,115.50 TRY**, and the lead time to 5 days. - **Goods receipt:** The **Son Alış** (Last Purchase) information is updated. - **Talep Kaynak Ataması (Requisition Source Assignment):** The price of the draft order line comes from here. ## Source List and Quota **Satın Alma › Kaynak Bulma › Kaynak Listesi ve Kota** (Procurement › Sourcing › Source List and Quota) (`/erp/procurement/sourcing`) ![Source list and quota](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/kaynak-listesi.png) 1. Next source — server proposal 2. Source list required 3. Quota arrangement 4. Save When an **Ürün** (Item) is selected: - The **Kaynaklar** (Sources) table shows the item's supplier price records: Tedarikçi (Supplier), **Durum** (Status; Ana (sabit kaynak) (Main (fixed source)) · Kullanılabilir (Available) · Bloke (Blocked)), Fiyat (Price), Termin (Lead Time), Kota (Quota), Oran (Ratio). At the top is **Sıradaki kaynak** (Next source) — the supplier the system proposes for the next order (quota, main supplier or single source). - **Kaynak listesi zorunlu** (Source list mandatory): If selected, the item is ordered only from a supplier that has a record and is not blocked; an order with a supplier without a record is rejected with the message "'X' için kaynak listesi zorunlu — tedarikçi listede yok …" (A source list is mandatory for 'X' — the supplier is not in the list …). - **Kota düzenlemesi** (Quota arrangement): Valid from and to, a **Kota** (Quota; 0–100) per supplier and a **Başlangıç miktarı** (Starting quantity). The next order goes to the smallest ratio: (allocation + starting quantity) ÷ quota; the allocation is calculated in the base unit from orders submitted for approval or finalized within the quota window. A supplier appears only once in the quota, and at least one quota must be greater than zero. **Kaydet** (Save) saves the rules (`erp-procurement-sourcing.edit`). ## Related - [Define a supplier price](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikci-fiyati-tanimlama) - [Requests for quotation](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) - [Purchase requisitions — Requisition Source Assignment](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-talepleri#talep-kaynak-ataması) --- # Finalize and approve a purchase order > Finalize a draft order; if an approval template matches, submit it for approval and, as the approver, approve or reject it. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri › sipariş detayı (Procurement › Order Management › Purchase Orders › order details) - **Screen route:** `/erp/procurement/orders/{id}` - **Required permission:** `erp-procurement-orders.edit (kesinleştirme, onaya gönderme)`, `erp-procurement-orders.approve (onay, red)` - **Prerequisites:** - The order is in **Taslak** (Draft) status and has at least one item. - The supplier and items are still active; if a delivery warehouse is selected, the warehouse is active. Finalization is the moment the order is placed with the supplier. Approval steps in when the condition of an **active** template for Satın Alma Siparişi (Purchase Order) in **Yönetim › Onay Süreci › Onay Şablonları** (Administration › Approval Process › Approval Templates) is met (e.g. "Satın alma siparişi — 50.000 TRY ve üzeri" (Purchase order — 50,000 TRY and above): stage 1 Satın Alma Müdürü (Purchasing Manager), stage 2 Yönetici (Executive)). If there is no template or it is inactive, the order is finalized directly. ## Steps 1. Open the details of the draft order. If no approval is required, **Siparişi Kesinleştir** (Finalize Order) is shown in the toolbar; if approval is required, **Onaya Gönder** (Submit for Approval) is shown. ![Draft order — edit and confirm](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-taslak.png) 1. Edit — draft only 2. Confirm Order (Submit for Approval if a rule applies) 3. Cancel Order 4. Output — print, PDF, Excel, e-mail 2. Click **Siparişi Kesinleştir** (Finalize Order); in the window, check the order summary and click **Siparişi Kesinleştir** (Finalize Order) again. ![Confirm purchase order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kesinlestir.png) 1. Confirm Order 3. If approval is required, click **Onaya Gönder** (Submit for Approval) and confirm **Onaya Gönder** again in the window. 4. As the approver, open the order (**Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › Awaiting My Approval) or the order list) and review the stage in the **Onaylar** (Approvals) section. ![Order awaiting approval — approver view](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-onay-bekliyor.png) 1. Status: Awaiting approval — locked 2. Approve — approver of the current stage 3. Reject — back to draft 4. Current stage 5. Stage 1 decision and note 5. Click **Onayla** (Approve), optionally fill in the **Not (isteğe bağlı)** (Note (optional)) field and click **Onayla** (Approve) in the window. If a correction is needed, click **Reddet** (Reject) and enter the reason. ![Approve dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-onayla.png) 1. Note — stored with the decision 2. Approve **Result:** The order becomes **Sipariş Verildi** (Ordered): it is locked, opened for goods receipt, counted as in transit in Malzeme İhtiyaçları (Material Requirements), and the **Siparişte** (Ordered) quantity of the linked requisition advances. If there is a delivery warehouse, an inbound delivery is opened. Next step: [send the order to the supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme) and [goods receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma). ## What you need to know - For an order that requires approval, the **Siparişi Kesinleştir** (Finalize Order) button is not shown at all; the server also rejects it ("Bu sipariş onay gerektiriyor — doğrudan kesinleştirilemez, onaya gönderin." (This order requires approval — it cannot be finalized directly; submit it for approval.)). - An order in Onay Bekliyor (Pending Approval) is locked and no goods receipt is possible. A rejected order returns to **Taslak** (Draft); when it is corrected and submitted again, a new approval round is opened and the old round remains as a trail. - The person who submitted the order for approval cannot approve it; the buttons are shown only to the approver (or delegate) of the stage whose turn it is. If the same person holds the role of several stages, they approve each stage separately. - On a finalized order, supplier, item, quantity, unit, price and VAT cannot be changed; for changes, see [Change an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-degistirme). - On finalization, the source list, the item status and the units are checked again; example rejection: "'X' için kaynak listesi zorunlu — tedarikçi listede yok (Kaynak Bulma › Tedarikçi Fiyatları'nda tanımlayın)." (A source list is mandatory for 'X' — the supplier is not in the list (define it in Sourcing › Supplier Prices).) ## Related - [Purchase orders screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri#onay) --- # Outline agreements > A periodic quantity, value or scheduling agreement with a supplier — types, statuses, release orders and rules. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/cerceve-sozlesmeler An outline agreement is a price and a target agreed with a supplier for a specific period. Once the agreement is **put into effect**, order lines are linked to the agreement (**release**); the line's price comes from the agreement and the released quantity/amount counts towards the target. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Çerçeve Sözleşmeler · Çerçeve Sözleşme Oluştur (Procurement › Sourcing › Outline Agreements · Create Outline Agreement) - **Screen route:** `/erp/procurement/contracts` - **Required permission:** `erp-procurement-contracts.view (görme) · .create (oluşturma) · .edit (düzenleme, yürürlüğe alma, kapatma, iptal, çağrı)` ## List Columns: Sözleşme No (Agreement No), **Tür** (Type), Tedarikçi (Supplier), **Geçerlilik** (Validity), Hedef Tutar (Target Amount), **Durum** (Status). Filters: Ara (Search), Durum (Status). ## Agreement form ![Create outline agreement](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/cerceve-sozlesme-olustur.png) 1. Type — quantity, value or schedule 2. Supplier 3. Validity period 4. Add item 5. Save Draft | Field | Rule | |---|---| | **Tür** (Type) | **Miktar Sözleşmesi** (Quantity Contract; target quantity per item) · **Değer Sözleşmesi** (Value Contract; target amount for the whole document) · **Teslimat Planı** (Scheduling Agreement; target quantity per item and dated delivery lines). | | **Tedarikçi** (Supplier) | Mandatory. | | **Para Birimi** (Currency) | Mandatory, three letters. | | **Geçerlilik Başlangıcı** (Valid From) · **Bitiş** (Valid To) | Mandatory; the end cannot be before the start. | | **Hedef Tutar (net)** (Target Amount (net)) | Value contract only; greater than zero. | | Items | At least one item (**Ürün Seç** (Select Item) / Ürün ekle (Add item)): an active, purchasable card, unit, unit price (net, cannot be negative), target quantity (mandatory for quantity contracts and scheduling agreements; for the other, empty = unlimited). An item can appear only once with the same unit. | | Note | Optional. | **Taslağı Kaydet** (Save Draft) saves the agreement as **Taslak** (Draft). ## Statuses and actions | Status | Meaning | Actions | |---|---|---| | **Taslak** (Draft) | Can be edited; no release is possible. | **Düzenle** (Edit) · **Yürürlüğe Al** (Put into Effect) · **İptal Et** (Cancel) | | **Yürürlükte** (In Effect) | Release orders can be opened within the validity period. | **Kapat** (Close; reason mandatory) · **İptal Et** (Cancel; if never released) | | **Kapandı** (Closed) | The remainder can no longer be released. | — | | **İptal Edildi** (Cancelled) | A draft agreement, or one that was never released, was cancelled. | — | If there is an order line linked to the agreement, cancellation is rejected: "Sözleşmeye bağlı sipariş satırı var — iptal yerine kapatın." (There is an order line linked to the agreement — close it instead of cancelling.) ## Release - **From an order line:** On the order form, the agreement is selected in the line details. Rules: the agreement must be in effect, belong to the same supplier, be in the same currency and be valid on the order date; the item and unit must be the same as the agreement item; the price comes from the agreement and no line discount can be entered; the total released cannot exceed the target. - **From the scheduling agreement:** Dated lines are entered in the **Teslimat Planı** (Delivery Schedule) section of the details (the schedule cannot exceed the target, and the day must be within the agreement's validity). **Vadesi Gelenleri Çağır** (Release Due Lines) converts the lines due up to the selected date into **draft release orders**; **Sipariş Tarihi** (Order Date) is the date of the order to be created. ## Rejection messages | Message | Reason | |---|---| | ‹Sözleşme No› yürürlükte değil — çağrı yapılamaz. (‹Agreement No› is not in effect — no release is possible.) | Draft or closed agreement. | | ‹Sözleşme No› bu tedarikçinin sözleşmesi değil. (‹Agreement No› is not an agreement of this supplier.) | | | ‹Sözleşme No› sipariş gününde geçerli değil. (‹Agreement No› is not valid on the order date.) | | | HAM-0001: fiyat sözleşmeden gelir (… TRY, satır iskontosu yok). (HAM-0001: the price comes from the agreement (… TRY, no line discount).) | The line price was changed. | | HAM-0001: ‹Sözleşme No› hedefi … — çağrılan …. (HAM-0001: target of ‹Agreement No› … — released ….) | The target was exceeded. | | Yalnız taslak sözleşme düzenlenir. · Yalnız taslak sözleşme yürürlüğe alınır. (Only a draft agreement can be edited. · Only a draft agreement can be put into effect.) | | | Sözleşme en az bir kalem ister. (The agreement requires at least one item.) | | In the message, ‹Sözleşme No› is replaced with the agreement number. ## Related - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) - [Supplier prices](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) --- # Send a purchase order to the supplier > Download the order PDF, print it, or send it to the supplier by e-mail with the PDF attached. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri › sipariş detayı › Çıktı (Procurement › Order Management › Purchase Orders › order details › Output) - **Screen route:** `/erp/procurement/orders/{id}` - **Required permission:** `erp-procurement-orders.view (yazdırma, PDF, Excel)`, `erp-procurement-orders.edit (E-posta ile Gönder)` - **Prerequisites:** - The user can view the purchase price (the Çıktı (Output) menu is not available to a user who cannot). - For e-mail, SMTP is defined in **Yönetim › Özelleştirme › Genel › E-posta Ayarları** (Administration › Customization › General › E-mail Settings). In CoreX there is no separate status that marks an order as "sent": the **Sipariş Verildi** (Ordered) status means that the order has been placed with the supplier. The document itself is delivered to the supplier from the **Çıktı** (Output) menu. The PDF is generated on the server; if a saved form template exists, it is printed with that template. ## Steps 1. Open the order details and click **Çıktı** (Output) at the top right. 2. For paper or a file, select **Yazdır** (Print) or **PDF İndir** (Download PDF). The PDF file is named `Satin-Alma-Siparisi-SA-….pdf`. 3. To send by e-mail, select **E-posta ile Gönder** (Send by E-mail); fill in **Kime** (To; several addresses separated by commas), the optional **Bilgi (CC)** (CC), **Konu** (Subject) and **İleti** (Message). ![Send the order by e-mail](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-eposta.png) 1. Cannot send without SMTP 2. To — comma-separated 3. Send — PDF attached, queued 4. Click **Gönder** (Send). **Result:** The e-mail with the PDF attached is added to the sending queue; its result appears in the **Çıktılar** (Outputs) section of the order details (updated with **Yenile** (Refresh)). ## What you need to know - If SMTP is not defined, the window shows the warning "SMTP tanımlı değil — e-posta gönderilemez." (SMTP is not defined — e-mail cannot be sent.) and provides the **E-posta Ayarları'nı aç** (Open E-mail Settings) link (SMTP is not defined in the demo environment). - An e-mail can also be sent from a draft order; send only a finalized order to the supplier as a commercial order. - **Excel İndir** (Download Excel) provides the order items as a table. ## Related - [Purchase orders screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) --- # Suppliers > Business partner cards with the supplier role — list, commercial terms and purchasing documents; supplier rules in purchasing documents. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikciler Customers and suppliers are kept on **a single card**: the same company can be both. This screen is the business partner list filtered by the **Tedarikçi** (Supplier) role. The general structure of the card (header, addresses, contacts, e-Document, bulk import) is described on the [Customers](https://erpdocs.corexlogic.com/en/satis/ekranlar/musteriler) page in Sales; this page describes the parts specific to purchasing. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Ana Veriler › Tedarikçiler (Procurement › Master Data › Suppliers) - **Screen route:** `/erp/procurement/suppliers` - **Required permission:** `erp-partners-cards.view (görme) · .create (yeni kart) · .edit (düzenleme)` ## Supplier list ![Suppliers list](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/tedarikciler.png) 1. New Business Partner 2. Role filter: Supplier 3. Same card may also be a customer 4. Active / Inactive Columns: Kod (Code), Ünvan (Name), **Rol** (Role; Müşteri / Tedarikçi (Customer / Supplier)), Merkez / Grup (Head Office / Group), Vergi / TC No (Tax / National ID No), Vergi Dairesi (Tax Office), E-posta (E-mail), Telefon (Phone), **Durum** (Status). Filters: Ara (Search), **Rol** (Role; **Tedarikçi** (Supplier) at opening), Durum (Status). The toolbar has **Adres ve Kişi Aktarımı** (Address and Contact Import) and **Yeni İş Ortağı** (New Business Partner). Clicking a row opens the card in **view** mode; to change it, click **Düzenle** (Edit). A business partner card is not deleted; it is deactivated. ## Supplier card ![Supplier card — purchasing documents](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/tedarikci-karti.png) 1. Commercial terms — payment days, Incoterms 2. Purchasing documents 3. Supplier's orders 4. Edit Tabs relevant to purchasing: | Tab | Content | |---|---| | **Ticari Şartlar** (Commercial Terms) | **Varsayılan Vade (Gün)** (Default Payment Term (Days)), **Varsayılan Teslim Şekli** (Default Incoterms), **Teslim Şekli Notu** (Incoterms Note), **Varsayılan Sevk Yöntemi** (Default Shipping Method). "Sipariş açılırken forma önerilir; belgede değiştirilebilir." (Proposed to the form when an order is opened; can be changed on the document.) | | **Satın Alma Belgeleri** (Purchasing Documents) | The **Satın Alma Siparişleri** (Purchase Orders), **Gelen Faturalar** (Incoming Invoices) and **Alınan Teslimatlar** (Received Deliveries) tabs (with their counts); for an order: Sipariş No (Order No), Tarih (Date), Durum (Status), Tutar (Amount). | | **Bakiye** (Balance) | Supplier balance (Finance). | ## Supplier rules in purchasing documents - In an order, a request for quotation and a supplier price, only an **active** card with the **Tedarikçi** (Supplier) role can be selected; otherwise the message "Seçilen cari kart tedarikçi olarak kullanılamaz (kayıt yok, pasif ya da tedarikçi rolü taşımıyor)." (The selected business partner card cannot be used as a supplier (no record, inactive, or it does not have the supplier role).) is returned. - A supplier with an **open order** (Taslak (Draft), Sipariş Verildi (Ordered), Kısmi Teslim (Partially Received)) cannot be deactivated. Closed or fully received orders are not an obstacle. - Supplier and item information is copied to the order **as it is at the time of ordering**; even if the card changes later, the document does not change. ## Related - [Supplier prices](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) --- # Change a purchase order > Edit a draft order; the cancellation, closing and copying options when a finalized order needs to change. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-degistirme - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri › sipariş detayı › Düzenle (Procurement › Order Management › Purchase Orders › order details › Edit) - **Screen route:** `/erp/procurement/orders/{id}/edit` - **Required permission:** `erp-procurement-orders.edit` - **Prerequisites:** - The order is in **Taslak** (Draft) status (an order in Onay Bekliyor (Pending Approval) must first be rejected and returned to draft). Only a **draft** order can be edited. On a finalized order, supplier, item, quantity, unit, price and VAT are locked; the server rejects changes with the message "Yalnız Taslak durumundaki satın alma siparişleri düzenlenebilir." (Only purchase orders in Draft status can be edited.) ## Steps 1. In the details of the draft order, click **Düzenle** (Edit). 2. Change the header fields (Tedarikçi (Supplier), Sipariş Tarihi (Order Date), and on the tabs Teslim Deposu (Delivery Warehouse), Vade (Payment Term), Teslim Şekli (Incoterms)…) or the items. To add a line, use **Satır Ekle** (Add Line); to delete one, use the line's **sil** (delete) button. 3. Click **Değişiklikleri Kaydet** (Save Changes). 4. Return to the details with **Detaya dön** (Back to details) and [finalize](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) the order. **Result:** The draft is updated; the status remains **Taslak** (Draft). ## If a finalized order needs to change | Situation | What to do | |---|---| | Nothing received yet (Sipariş Verildi (Ordered)) | **Siparişi İptal Et** (Cancel Order; with a reason), then open a new draft with **Kopyala** (Copy), correct it and finalize it. | | Partially received; the remainder will not arrive or will change | **Siparişi Kapat** (Close Order; with a reason); open a new order for the remainder. | | Excess quantity arrived / incorrect goods receipt | [Reverse](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade) the goods receipt and receive again with the correct quantity. | | Onay Bekliyor (Pending Approval) | Ask the approver to **Reddet** (Reject); edit it once it returns to draft. Or use **Siparişi İptal Et** (Cancel Order). | Details: [Close or cancel an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal). ## What you need to know - When you leave the form without saving, the system asks: you can stay on the page, save and leave, or discard the changes. - On a concurrent change, the message "Bu satın alma siparişi bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin." (This purchase order was changed by another user in the meantime. Refresh the page and try again.) is returned. ## Related - [Purchase orders screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) --- # Subcontracting > Subcontract purchasing — material shipment to and return from the subcontractor, stock at the subcontractor, component consumption at the subcontracting goods receipt. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/fason Subcontracting means that a supplier (the subcontractor) processes a product **with your material** and delivers it to you. A subcontracting order is a purchase order whose line is flagged as **Fason** (Subcontracting); the material is sent to the subcontractor with a **transfer without an invoice** and is consumed as components at the subcontracting goods receipt. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Fason › Fasoncudaki Stok · Fason Sevk ve İadeleri · Fasona Malzeme Sevki Oluştur · Fasondan Malzeme İadesi Oluştur (Procurement › Subcontracting › Stock at Subcontractor · Subcontracting Shipments and Returns · Create Material Shipment to Subcontractor · Create Material Return from Subcontractor) - **Screen route:** `/erp/procurement/subcontracting` - **Required permission:** `erp-procurement-subcontracting.view (görme) · .create (sevk ve iade)` ## Flow 1. **Subcontracting order:** In the line details of the purchase order, the line is flagged as subcontracting and its components (the material to be provided to the subcontractor) are shown. In an installation where subcontracting is disabled, the message "Fason satırı açılamaz: …" (A subcontracting line cannot be opened: …) is returned. A subcontracting line cannot be combined with a consignment line. 2. **Material shipment to the subcontractor:** **Fasona Malzeme Sevki Oluştur** (Create Material Shipment to Subcontractor) — from your own warehouse to the subcontractor's stock; "the material remains ours and is deducted as components at the subcontracting goods receipt". Fields: **Fasoncu** (Subcontractor; a supplier), **Çıkış Deposu** (Issuing Warehouse), Tarih (Date), Not (Note) and items. It is a transfer without an invoice; the paper delivery slip is printed from the details. 3. **Subcontracting goods receipt:** The processed product is received from the order with a goods receipt; the components at the subcontractor are consumed at the same time. 4. **Material return from the subcontractor:** Unused material is taken back into the warehouse with **Fasondan Malzeme İadesi Oluştur** (Create Material Return from Subcontractor). ![Create material provision to subcontractor](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/fason-sevk.png) 1. Subcontractor (supplier) 2. Issuing warehouse 3. Save — non-invoiced transfer ## Screens | Screen | Content | |---|---| | **Fasoncudaki Stok** (Stock at Subcontractor) | Our material at the subcontractor's site: Fasoncu (Subcontractor), Çıktığı Depo (Issuing Warehouse), Ürün (Item), Stok Durumu (Stock Status), Miktar (Quantity), Stok Değeri (Stock Value). It is counted in valuation but not in planning. | | **Fason Sevk ve İadeleri** (Subcontracting Shipments and Returns) | Shipment and return documents: Belge No (Document No), **Tür** (Type), Tarih (Date), Fasoncu (Subcontractor), Depo (Warehouse), Kalem (Items). Filter: Ara (Search), Tür (Type). | ## Rules - A subcontracting goods receipt **cannot be reversed**: "… fason kabulü — geri alınamaz. Bileşenler fasoncuda tüketildi; hatalı ürünü tedarikçiye iade etmek için fasona malzeme sevki kullanın." (… subcontracting receipt — cannot be reversed. The components were consumed at the subcontractor; to return a defective product to the supplier, use a material shipment to the subcontractor.) - Shipments to and returns from the subcontractor do not create an invoice. ## Related - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) - [Goods receipts](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri) --- # Close or cancel a purchase order > Give up the remainder of a partially received order (closing) or cancel an order that has not been received. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri › sipariş detayı (Procurement › Order Management › Purchase Orders › order details) - **Screen route:** `/erp/procurement/orders/{id}` - **Required permission:** `erp-procurement-orders.close (Siparişi Kapat)`, `erp-procurement-orders.delete (Siparişi İptal Et)` - **Prerequisites:** - Closing: the order is in **Kısmi Teslim** (Partially Received) status. - Cancellation: the order is in **Taslak** (Draft), **Onay Bekliyor** (Pending Approval) or **Sipariş Verildi** (Ordered) status (nothing received). Closing is **not** cancellation: no record is deleted and the received part remains valid. The delivery status determines which command to use: if nothing arrived, **cancel**; if part arrived, **close**; if everything arrived, there is nothing to close. ## Steps 1. Open the order details and check the status. ![Partially received order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kismi.png) 1. Status: Partially Received 2. Post Goods Receipt — for the rest 3. Close Order — rest not expected 4. Received quantity 5. Remaining quantity 2. If the remainder will not arrive, click **Siparişi Kapat** (Close Order). In the window, check the remainder to be closed, enter the **Kapatma Nedeni** (Closing Reason) and click **Siparişi Kapat** (Close Order). ![Close purchase order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kapat.png) 1. Close reason (required) 2. Close Order 3. If you are abandoning an order that has not been received at all, click **Siparişi İptal Et** (Cancel Order), enter the **İptal Nedeni** (Cancellation Reason) and click **Siparişi İptal Et** (Cancel Order). **Result:** **Kapatıldı** (Closed): the received part remains valid, the remainder is no longer expected and is not counted as in transit; goods and service receipts are not possible. **İptal** (Cancelled): the order is commercially void and cannot be reopened. ## What you need to know - Neither can be undone; a reason is mandatory ("Kapatma nedeni zorunludur." (The closing reason is mandatory.), "İptal nedeni zorunludur." (The cancellation reason is mandatory.)). - Rejection messages: "Hiç teslim alınmamış sipariş kapatılmaz; tedarikçiyle ilişki gerçekleşmediyse siparişi iptal edin." (An order with nothing received cannot be closed; if the transaction with the supplier did not take place, cancel the order.), "Bu satın alma siparişi tamamen teslim alınmış; kapatılacak kalan yok." (This purchase order has been fully received; there is no remainder to close.), "Yalnız Taslak, Onay Bekliyor ve Sipariş Verildi durumundaki satın alma siparişleri iptal edilebilir." (Only purchase orders in Draft, Pending Approval and Ordered status can be cancelled.) - If **Siparişi yeniden aç** (Reopen order) is cleared in a goods receipt reversal, the order also becomes **Kapatıldı** (Closed). - Closed and cancelled orders drop out of the **Açık Siparişler** (Open Orders) report and the in-transit quantity of Malzeme İhtiyaçları (Material Requirements); the supplier can be deactivated. ## Related - [Purchase orders screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri#kapatma-ve-iptal) --- # Procurement reports > Spend, open orders, quotation savings, supplier performance and supplier evaluation reports. URL: https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/analitik The Analytics screens are read-only; each has the **Raporu yenile** (Refresh report) and **Excel'e Aktar** (Export to Excel) buttons and column selection (**Kolonlar** (Columns)); all except Supplier Evaluation also have a responsible-person filter. - **Type:** Screen - **Module:** Procurement - **Menu path:** Satın Alma › Analitik › Harcama Raporu · Açık Siparişler · Teklif Tasarrufu · Tedarikçi Performansı · Tedarikçi Değerlendirme (Procurement › Analytics › Spend Report · Open Orders · Quotation Savings · Supplier Performance · Supplier Evaluation) - **Screen route:** `/erp/procurement/reports/open-orders` - **Required permission:** `Harcama Raporu, Açık Siparişler, Tedarikçi Performansı, Tedarikçi Değerlendirme: erp-procurement-orders.view`, `Teklif Tasarrufu: erp-procurement-rfqs.view`, `Tutar gösteren raporlar (Harcama, Teklif Tasarrufu) ayrıca alış fiyatını görme yetkisi ister.`, `Tedarikçi Değerlendirme › Hizmet Puanı Ver: erp-procurement-supplier-evaluation.create` | Report | What it shows | Columns | Filters | |---|---|---|---| | **Harcama Raporu** (Spend Report) | The amount of committed or received orders (draft, pending approval and cancelled orders are not counted; for a closed order only the received part); broken down by supplier, item or month. | Tedarikçi, Para Birimi, Ara Toplam, İskonto, Net, KDV, Brüt, Sipariş, Satır (Supplier, Currency, Subtotal, Discount, Net, VAT, Gross, Order, Line) | **Kırılım** (Breakdown), Ara (Search), Sorumlu (Responsible), order date range | | **Açık Siparişler** (Open Orders) | Order lines with a remaining quantity, their age and delay. | Sipariş No, Durum, Tedarikçi, Sorumlu, Ürün, Sipariş, Karşılanan, Kalan, Kalan Net, Beklenen Teslim, Yaş (gün), Gecikme (gün) (Order No, Status, Supplier, Responsible, Item, Ordered, Fulfilled, Remaining, Remaining Net, Expected Delivery, Age (days), Delay (days)) | Ara (Search), Sorumlu (Responsible), **Gecikme** (Delay) (Tüm açık satırlar / gecikenler (All open lines / overdue)) | | **Teklif Tasarrufu** (Quotation Savings) | For decided quotation items, the saving of the winning price compared with the lowest, average and highest quotation. | Teklif No, Karar, Ürün, Miktar, Kazanan, Kazanan Net, En Düşük, Ortalama, En Yüksek, Tasarruf (Ort.), Tasarruf (En Yüksek), Gerekçe (RFQ No, Decision, Item, Quantity, Winner, Winner Net, Lowest, Average, Highest, Savings (Avg.), Savings (Highest), Reason) | Ara (Search), Sorumlu (Responsible), decision date range | | **Tedarikçi Performansı** (Supplier Performance) | On-time delivery and fulfillment rate. | Tedarikçi, Sipariş, Açık, Satır, Zamanında, Zamanında (%), Ort. Tedarik (gün), Satır Karşılama (%) (Supplier, Orders, Open, Lines, On Time, On Time (%), Avg. Lead Time (days), Line Fulfillment (%)) | Ara (Search), Sorumlu (Responsible), order date range | | **Tedarikçi Değerlendirme** (Supplier Evaluation) | Score by criterion and class. | Tedarikçi, Zamanında, Miktar, Kalite, Fiyat Uyumu, Hizmet, Toplam, Sınıf (Supplier, On Time, Quantity, Quality, Price Compliance, Service, Total, Class) | Period start and end | ![Open purchase orders report](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/acik-siparisler.png) 1. Remaining quantity 2. Delay (days) 3. Export to Excel ![RFQ savings report](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-tasarrufu.png) 1. Winning net price 2. Saving vs. average 3. Selection reason - In **Tedarikçi Değerlendirme** (Supplier Evaluation), the service criterion is scored manually with **Hizmet Puanı Ver** (Give Service Score); the other criteria are calculated from documents. Criterion weights and class thresholds are defined in **Yönetim › Özelleştirme › Satın Alma › Tedarikçi Değerlendirme Ayarları** (Administration › Customization › Procurement › Supplier Evaluation Settings). - Closed and cancelled orders do not appear in **Açık Siparişler** (Open Orders). ## Related - [Purchase orders](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/satinalma-siparisleri) - [Requests for quotation](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/teklif-istekleri) --- # Create a goods receipt > Post goods received from the supplier against the order and receive them into stock — full or partial receipt, warehouse, storage location, batch/serial number and split allocation. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Mal ve Hizmet Kabulü › Mal Kabulü Oluştur (Procurement › Goods and Service Receipt › Create Goods Receipt) - **Screen route:** `/erp/procurement/receipts/new?orderId={id}` - **Required permission:** `erp-procurement-receipts.create` - **Prerequisites:** - The order is in **Sipariş Verildi** (Ordered) or **Kısmi Teslim** (Partially Received) status. - The goods receipt date falls in an open posting period. - You have the batch number for a batch-managed item and the serial numbers for a serial-managed item. A goods receipt document cannot be changed once saved; you correct an incorrect entry with a [goods receipt reversal](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade). Because a reversal is per line and **in full**, entering the part that may be returned (damaged, doubtful) as a separate allocation makes your work easier later. ## Steps 1. In the order details, click **Mal Kabul Gir** (Enter Goods Receipt). (Or use the **Mal Kabulü Oluştur** (Create Goods Receipt) button on the line in **Satın Alma › Mal ve Hizmet Kabulü › Teslim Alınacaklar** (Procurement › Goods and Service Receipt › Due for Receipt); if opened from an inbound delivery line, the warehouse and quantity are filled in from the delivery.) 2. Check the **Mal Kabul Tarihi** (Goods Receipt Date) and enter the supplier's delivery note number in the **Tedarikçi İrsaliye No** (Supplier Delivery Note No) field. 3. In the **Sipariş Kalemleri** (Order Items) table, click the **Mal Kabul Ekle** (Add Goods Receipt) button of the item that arrived (if everything arrived, **Tümünü Ekle** (Add All)). 4. Enter the quantity received in the allocation's **Miktar** (Quantity) field. For a partial delivery, enter only the quantity that arrived. 5. Select the **Depo** (Warehouse) and, if needed, the **Lokasyon** (Storage Location). For a batch-managed item, enter the batch number; for a serial-managed item, enter the serial numbers. 6. If you need to split the same item (e.g. the damaged part to a separate storage location), reduce the allocation's quantity and add a second allocation with the item's **Mal Kabul Ekle** (Add Goods Receipt) button. 7. Check the **Belge Özeti** (Document Summary) and click **Mal Kabulü Kaydet** (Save Goods Receipt). ![Goods receipt — allocation, warehouse and location](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/mal-kabul-olustur.png) 1. Purchase order 2. Delivery note no. — unique per supplier 3. Remaining order quantity 4. Received quantity — may be partial 5. Warehouse and location 6. Save Goods Receipt — stock is posted **Result:** The goods receipt is saved with the number **MK-yyyy-nnnnnn** and stock is posted at the same time. If a remainder is left on the order it becomes **Kısmi Teslim** (Partially Received); if everything arrived it becomes **Teslim Alındı** (Received). Enter a new goods receipt for the remainder, or if it will not arrive, [close the order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal). ## Stock and planning effect - Each allocation posts a receipt movement of type **Mal Kabul** (Goods Receipt); stock increases in the selected warehouse / storage location / batch, in the **Sıfır** (New) status. For an item that requires quality inspection, stock goes into **quarantine** status and cannot be used until it is released in **Stok Yönetimi › Kalite Kontrol** (Inventory Management › Quality Inspection). - The stock value increases by the order's discounted net price. - The order's **Alınan / Kabul** (Received / Accepted) quantity increases and the in-transit quantity decreases; the delivery advances in the Belge Akışı (Document Flow) of the linked requisition; the **Son Alış** (Last Purchase) in Tedarikçi Fiyatları (Supplier Prices) is updated. ## What you need to know - The quantity cannot exceed the order's remainder ("'HAM-0001' için kalan miktar aşılıyor. Kalan: 80, girilen: 200." (The remaining quantity for 'HAM-0001' is exceeded. Remaining: 80, entered: 200.)). - The same delivery note number from the same supplier cannot be saved twice. - **Sipariş ekle…** (Add order…) adds other open orders of the same supplier in the same currency to the same goods receipt (several orders on a single delivery note). - If the order has a delivery warehouse, an inbound delivery has been opened; make the goods receipt from the delivery line in **Teslim Alınacaklar** (Due for Receipt). A receipt made directly from the order does not reduce the delivery's open quantity — close the unused delivery in **Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar** (Logistics Management › Inbound Delivery › Inbound Deliveries). - If the warehouse has the "Mal kabul yalnız gelen teslimattan" (Goods receipt only from inbound delivery) setting, a receipt directly from the order is rejected. - A service line is not closed with a goods receipt: [service receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/hizmet-kabulu-olusturma). ## Related - [Goods receipts screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/mal-kabulleri) - [From requisition to goods receipt process](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule) --- # Create a service receipt > Record that a non-stock item on the order (freight, maintenance, consulting) has been received. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/hizmet-kabulu-olusturma - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Mal ve Hizmet Kabulü › Hizmet Kabulü Oluştur (Procurement › Goods and Service Receipt › Create Service Receipt) - **Screen route:** `/erp/procurement/service-acceptances/new` - **Required permission:** `erp-procurement-service-acceptances.create` - **Prerequisites:** - The order is in **Sipariş Verildi** (Ordered) or **Kısmi Teslim** (Partially Received) and has at least one **Hizmet** (Service) line. A non-stock card becomes a **Hizmet** (Service) line on the order and is closed only with a service receipt; a stock item cannot be included in a service receipt ("'X' stoklanabilir bir ürün — hizmet kabulü yapılamaz, mal kabul kullanın." ('X' is a stockable item — a service receipt is not possible; use a goods receipt.)). ## Steps 1. Open the **Satın Alma › Mal ve Hizmet Kabulü › Hizmet Kabulü Oluştur** (Procurement › Goods and Service Receipt › Create Service Receipt) screen. 2. Select the order from the **Satın Alma Siparişi** (Purchase Order) list; only open orders that carry a service item are listed. 3. Check the **Kabul Tarihi** (Receipt Date) and enter the supplier's document number in the **Tedarikçi Belge No** (Supplier Document No) field. 4. Enter the quantity in the **Kabul Miktarı** (Receipt Quantity) field of the received line (it cannot exceed the remaining quantity). 5. Enter a **Not** (Note) if needed and click **Hizmet Kabulünü Kaydet** (Save Service Receipt). ![Service entry form](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/hizmet-kabulu-olustur.png) 1. Open orders with service lines only 2. Acceptance date 3. Supplier document no. — unique 4. Save Service Entry — no stock movement **Result:** The service receipt is saved with the number **HK-yyyy-nnnnnn**; the order's received quantity increases, and if everything has been received the order becomes **Teslim Alındı** (Received). No stock movement is created. ## What you need to know - The same document number cannot be posted twice for the same supplier. - An order item appears on a single line in the receipt; partial receipt is allowed. - An incorrect receipt is reversed with **Satın Alma › İade Yönetimi › Hizmet Kabulünü Geri Al** (Procurement › Return Management › Reverse Service Receipt). - The posting period rules are the same as for goods receipts (closed period, back-dated posting permission). ## Related - [Service receipts screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/hizmet-kabulleri) --- # Return goods to the supplier > Return received goods to the supplier — return request, approval and goods receipt reversal (reverse stock posting). URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › İade Yönetimi › Tedarikçi İade Talepleri · Mal Kabulünü Geri Al (Procurement › Return Management › Supplier Return Requests · Reverse Goods Receipt) - **Screen route:** `/erp/procurement/receipt-reversals/new` - **Required permission:** `erp-procurement-return-requests.create (talep açma)`, `erp-procurement-return-requests.approve (talebi onaylama — talebi açan kişi onaylayamaz)`, `erp-procurement-receipt-reversals.create (geri alma / Tedarikçiye İade Et)` - **Prerequisites:** - The goods to be returned exist as a goods receipt **line** and that line has not been reversed before. - The line's stock is available in the goods receipt's warehouse / storage location. A return request is the **decision** made before the goods are sent and does not change stock; stock is reduced with the **goods receipt reversal**. A request is not mandatory: to correct an incorrectly posted goods receipt, you can select the goods receipt on the **Satın Alma › İade Yönetimi › Mal Kabulünü Geri Al** (Procurement › Return Management › Reverse Goods Receipt) screen and reverse it directly. ## Steps 1. Open the goods receipt details and click **Tedarikçi İade Talebi** (Supplier Return Request). 2. Enter the **İade Nedeni** (Return Reason; mandatory), add a **Açıklama** (Description) if needed and select the check box of the line to be returned (e.g. **AMB-0001 satırını talebe ekle** (add line AMB-0001 to the request)). The line is returned as a whole. ![New supplier return request](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-olustur.png) 1. Return reason (required) 2. The whole line is returned 3. Requester cannot approve 4. Open Request — stock unchanged 3. Click **Talebi Aç** (Open Request). ![Supplier return request awaiting approval](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi.png) 1. Status: Awaiting approval 2. Approve — another authorized user 3. Reject — reason required 4. Segregation of duties 5. Reversals written from this request 4. Another user with approval permission opens the request and clicks **Onayla** (Approve) (to reject, **Reddet** (Reject) with a reason). ![Return request — approver view](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-onayci.png) 1. Approve — someone other than the requester 2. Reject — reason required 3. Requested by 5. On the approved request, click **Tedarikçiye İade Et** (Return to Supplier). The form opens filled in with the goods receipt, line and reason. 6. Decide on the **Siparişi yeniden aç** (Reopen order) check box: leave it selected if the supplier will send a replacement; clear it if not (the order is closed). Click **Geri Almayı Kaydet** (Save Reversal). ![Goods receipt reversal — return to supplier](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/geri-alma-olustur.png) 1. Receipt to reverse 2. Reason (required) 3. Checked: re-expected; cleared: order closes 4. Whole line is reversed 5. Save Reversal — reverse stock posting 7. In the request details, check that the status is **Kapandı** (Closed) and that the reversal document is in **Talepten Yazılan İadeler** (Returns Posted from the Request). ![Closed return request with reversal](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-kapandi.png) 1. Status: Closed — all lines returned 2. Decided by 3. Returned quantity 4. Reversal written from the request **Result:** The reversal document **MKG-yyyy-nnnnnn** posts a stock issue (Giriş Geri Alma (Receipt Reversal)); the order's Received quantity is rolled back. If **Siparişi yeniden aç** (Reopen order) is selected, the reversed quantity is expected again (order Kısmi Teslim (Partially Received)); if it is cleared, the order becomes **Kapatıldı** (Closed). When the last line is returned, the request becomes **Kapandı** (Closed). ## What you need to know - A reversal is per line and **in full**: "Kısmi geri alma bu sürümde desteklenmiyor." (Partial reversal is not supported in this version.) To return 5 units of a 120-unit line, those 5 units must have been entered as a separate allocation at the goods receipt; otherwise, reverse the line in full and re-enter the remainder with a new goods receipt. - The person who opened the request cannot approve it ("Kendi açtığınız tedarikçi iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli." (You cannot approve a supplier return request you opened yourself. Another authorized person must make the decision.)). A return cannot be posted from an unapproved request. - To give up the return of the remaining lines on an approved request, use **Kapat** (Close; reason mandatory); to abandon a request that has not been decided, use **İptal Et** (Cancel). - A subcontracting goods receipt cannot be reversed. - The return invoice belongs to Finance (**Satın Alma › İade Yönetimi › İade Faturaları** (Procurement › Return Management › Return Invoices)) and is outside this guide. ## Related - [Return management screen](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/iade-yonetimi) - [From requisition to goods receipt process — return](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule) --- # Define a supplier price > Define the item–supplier link, agreed price, lead time, minimum quantity and main supplier. URL: https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikci-fiyati-tanimlama - **Type:** Task - **Module:** Procurement - **Menu path:** Satın Alma › Kaynak Bulma › Tedarikçi Fiyatları (Procurement › Sourcing › Supplier Prices) - **Screen route:** `/erp/procurement/item-suppliers` - **Required permission:** `erp-procurement-item-suppliers.create`, `erp-procurement-item-suppliers.edit (düzenleme)` - **Prerequisites:** - The item is active and "Satın alınabilir" (Purchasable); the supplier is active and has the supplier role. - There is no record for this item–supplier pair (if there is, edit it). A supplier price is also created or updated by a quotation decision: the discounted price and lead time of the winning quotation are written to the record. For bulk definition, use the **İçe Aktar** (Import) Excel workbook in the list. ## Steps 1. Open the **Satın Alma › Kaynak Bulma › Tedarikçi Fiyatları** (Procurement › Sourcing › Supplier Prices) screen and click **Yeni Kayıt** (New Record). 2. Select the **Ürün** (Item) and **Tedarikçi** (Supplier); if available, enter the **Tedarikçi ürün kodu** (Supplier item code). 3. Enter the **Anlaşmalı birim fiyat** (Agreed unit price), **Fiyatın birimi** (Price unit) and **Para birimi** (Currency). 4. Enter the **Termin (gün)** (Lead time (days)), the **Asgari sipariş miktarı** (Minimum order quantity) if needed, and the validity dates. 5. If this is the item's default supplier, select **Ana tedarikçi** (Main supplier). If no purchases are to be made from this supplier, select **Bloke kaynak** (Blocked source) and enter a reason. 6. Click **Kaydet** (Save). ![New supplier price dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/tedarikci-fiyati-yeni.png) 1. Agreed unit price 2. Price unit 3. Lead time (days) 4. One preferred supplier per item 5. Blocked — not ordered from 6. Save **Result:** The record appears in the list. When this item is ordered from this supplier, the **Birim Fiyat** (Unit Price) is proposed from here; Requisition Source Assignment and source determination use this record. ## What you need to know - If a price is entered, the price unit and currency are mandatory; a record can also be opened without a price (for the code and lead time only). - There is one main supplier per item; when a new one is selected, the old one is cleared automatically. A main supplier cannot be blocked. - The same pair cannot be opened twice: "'X' ürünü için 'T-…' tedarikçisi zaten tanımlı. Mevcut kaydı düzenleyin." (Supplier 'T-…' is already defined for item 'X'. Edit the existing record.) - The mandatory source list and quota are defined on the **Kaynak Listesi ve Kota** (Source List and Quota) screen. ## Related - [Supplier prices and source list](https://erpdocs.corexlogic.com/en/satin-alma/ekranlar/tedarikci-fiyatlari) --- # Sales > The Sales module — quotation, sales order, delivery, billing, returns and sales master data. URL: https://erpdocs.corexlogic.com/en/satis The Sales module manages all sales documents, from the quotation given to the customer through to the invoice. Prices come from price lists and customer data from the business partner master record; delivery and goods issue are processed in the Logistics module, and invoices are issued in **Satış › Faturalama** (Sales › Billing). For the end-to-end flow, see [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya). ## Tasks - [Create a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma) — A new sales quotation for a customer. - [Send a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme) — Marking as sent, e-mail. - [Revise a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-revize-etme) — Changing a quotation that has been sent. - [Convert to sales order](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-siparise-donusturme) — A sales order from an accepted quotation. - [Create a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparis-olusturma) — A sales order without a quotation. - [Approve a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) — Commercial approval. - [Create a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma) — Delivery and goods issue in a single step. - [Create open deliveries](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma) — Collective delivery from lines that are due. - [Post a goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme) — Stock issue for an open delivery. - [Enter an invoice reference](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-referansi-girme) — Tracking an invoice issued outside the system. - [Create an invoice](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma) — Outgoing invoice via e-Document. - [Complete a service](https://erpdocs.corexlogic.com/en/satis/islemler/hizmeti-tamamlama) — Confirmation of a service line. - [Create a sales contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma) — Price and target agreement. - [Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis) — Call-off order. - [Create a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma) — Agreement before the goods come back. - [Decide on a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama) — Approval, rejection, closing. - [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma) — Receiving returned goods into stock. - [Receive a return without a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimatsiz-iade) — A return that has no delivery. - [Create a rebate agreement](https://erpdocs.corexlogic.com/en/satis/islemler/prim-anlasmasi-olusturma) — Sales volume rebate and tiers. - [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma) — Credit memo request. - [Create a campaign](https://erpdocs.corexlogic.com/en/satis/islemler/kampanya-olusturma) — Campaign price for a period. ## Menu map | Section | Screen | Documentation | |---|---|---| | Teklif Yönetimi (Quotation Management) | Satış Teklifleri (Sales Quotations) · Satış Teklifi Oluştur (Create Sales Quotation) | [Sales quotations](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) | | Sipariş Yönetimi (Order Management) | Satış Siparişleri (Sales Orders) · Satış Siparişi Oluştur (Create Sales Order) · Backorder İşleme (Backorder Processing) | [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) | | Sipariş Yönetimi (Order Management) | Hizmet Teyitleri (Service Confirmations) · Satış Sözleşmeleri (Sales Contracts) · Satış Sözleşmesi Oluştur (Create Sales Contract) | [Service confirmations](https://erpdocs.corexlogic.com/en/satis/ekranlar/hizmet-teyitleri) · [Sales contracts](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-sozlesmeleri) | | Faturalama (Billing) | Faturalanmamış Teslimatlar (Unbilled Deliveries) · Giden e-Faturalar (Outgoing e-Invoices) | [Billing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) | | Faturalama (Billing) | Prim Hesaplaşmaları (Rebate Settlements) | [Rebate settlements](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-hesaplasmalari) | | İade Yönetimi (Returns Management) | İade Talepleri (Return Requests) · Satış İadeleri (Sales Returns) | [Return requests](https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri) · [Sales returns](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri) | | Ana Veriler (Master Data) | Müşteriler (Customers) | [Customers](https://erpdocs.corexlogic.com/en/satis/ekranlar/musteriler) | | Ana Veriler (Master Data) | Fiyat Listeleri (Price Lists) · Özel Fiyatlar (Special Prices) · Grup İskontoları (Group Discounts) | [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) | | Ana Veriler (Master Data) | Kampanyalar (Campaigns) · Kondisyon Kayıtları (Condition Records) · Prim Anlaşmaları (Rebate Agreements) | [Campaigns](https://erpdocs.corexlogic.com/en/satis/ekranlar/kampanyalar) · [Condition records](https://erpdocs.corexlogic.com/en/satis/ekranlar/kondisyon-kayitlari) · [Rebate agreements](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-anlasmalari) | | Analitik (Analytics) | Müşteri, Ürün ve Temsilci Bazında Satış (Sales by Customer, Product and Sales Rep) · Teklif Kazanma/Kaybetme (Quotation Win/Loss) · Brüt Kâr (Gross Profit) · Açık Satış Siparişleri (Open Sales Orders) | [Sales reports](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-raporlari) | In the menu, deliveries are located under **Lojistik Yönetimi › Giden Teslimat** (Logistics Management › Outbound Delivery); because they are part of the sales flow, they are documented here: [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat). ## How sales documents are linked Every document is linked to its source document and to the documents created from it. The sales order details show the source quotation, the deliveries created and the production orders; the invoice details show the source deliveries. You can navigate between documents using these links. --- # Sales quotations > Prepare, send, revise and convert sales quotations into sales orders. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri Price quotations given to customers. A quotation is prepared as a draft and locked when sent; if the customer accepts, it is converted into a sales order; if not, it is closed with a loss reason. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Teklif Yönetimi › Satış Teklifleri · Satış Teklifi Oluştur (Sales › Quotation Management › Sales Quotations · Create Sales Quotation) - **Screen route:** `/erp/sales/quotations` - **Required permission:** `erp-sales-quotations.view (görme) · .create (oluşturma) · .edit (gönderme, revize, dönüştürme) · .approve (onay)` ## Quotation list ![Sales Quotations list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-listesi.png) 1. New quotation 2. Default: current revisions only 3. Click the number to open the quotation 4. Status and outcome (resulting order or loss reason) By default, the list shows **current quotations**; earlier, revised revisions are listed only when **Revize Edildi** (Revised) is selected in the **Durum** (Status) filter. | Column | Description | |---|---| | Teklif No (Quotation No.) | Quotation number and revision (e.g. `ST-2026-000004 · Rev 2`). Click to open the quotation. | | Müşteri (Customer) | Name; below it, the customer code and customer reference. | | Temsilci · Kanal (Sales Rep · Channel) | Sales representative and sales channel. Sales organization and division are displayed if the installation has more than one. | | Teklif Tarihi · Geçerlilik (Quotation Date · Validity) | The date of an expired quotation is shown in a warning color. | | Durum · Sonuç (Status · Outcome) | The quotation status; the outcome column shows the sales order it was converted into, or the loss reason. | | Net · KDV · Genel Toplam (Net · VAT · Grand Total) | Hidden for users without permission to view prices. | **Filters:** **Ara** (Search; quotation no., customer, customer reference), **Durum** (Status), **Geçerlilik** (Validity; expired / not expired), **Müşteri** (Customer), **Temsilci** (Sales Rep), **Kanal** (Channel) and quotation date range. The list can be sorted by the Teklif No, Teklif Tarihi, Müşteri, Geçerlilik, Durum and Temsilci columns. ## Creating a quotation ![Create Sales Quotation — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-olustur.png) 1. Customer — type code or name and press Enter; magnifier or F4 opens the list 2. Valid Until — defaults to 30 days later 3. Tabs — delivery, payment, conditions, texts, address 4. Product — type code or name and press Enter 5. Quantity 6. Unit price — proposed from the price list, source shown below 7. Create Quotation — saves as draft ### Header strip | Field | Description | |---|---| | **Müşteri** (Customer; required) | Only active customers can be selected. When selected, the payment term and shipping method are proposed from the customer master record. | | Müşteri Referansı (Customer Reference) | The customer's request for quotation or tender number; shown on the quotation printout. | | **Teklif Tarihi** (Quotation Date; required) | A date in a closed posting period cannot be entered. | | **Geçerlilik Tarihi** (Valid Until; required) | Defaults to 30 days from today; cannot be earlier than the quotation date. | | Teklif Türü (Quotation Type) | Displayed if the installation has more than one quotation type; if left empty, the default type is used. | ### Header tabs - **Teslimat ve Ödeme** (Delivery and Payment): requested delivery date, **currency** (required), payment term, payment condition, shipping method and its note, shipping type. - **Koşullar** (Conditions): overall discount percentage and surcharges (such as freight or packaging; if surcharge types are defined in the installation). - **Metinler** (Texts): the note printed on the quotation printout. - **Adres** (Address): contact person and delivery address; can be filled from the customer's registered ship-to address. - **Organizasyon** (Organization): sales channel, sales organization and division, sales representative. ### Items The item table works like a spreadsheet (see [Get to know the interface](https://erpdocs.corexlogic.com/en/baslarken/arayuz#belge-formları)). Columns: item no., product, quantity, unit, unit price, discount, VAT and estimated amount. - **Item numbers** are assigned as 10, 20, 30… - The **unit price** is proposed from the price list. Below the cell, the source of the proposal (special price, campaign, list code, scale price) and the deviation of a manually entered price from the proposal are shown. The proposal is not binding; you can change the price. How the price is determined: [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri#fiyat-nasıl-belirlenir). - The **discount** is entered on the line as a percentage (%) or an amount; select the type with the button in the cell. An amount discount cannot exceed the line amount and cannot be negative. - For **configurable products** (e.g. a table with size and color options), enter the selections with **Yapılandır** (Configure) on the line; the price is calculated from the selections. - The **Kullanılabilirlik** (Availability) button shows how much of the item can be supplied on the requested date and the earliest date on which the full quantity can be supplied. It does not reserve stock. **Kontrol Et** (Check) validates the form without saving; errors are listed in the **Düzeltilmesi gereken alanlar** (Fields to correct) dialog. **Kaydet** (Save; Ctrl+S) saves the quotation as **Taslak** (Draft) and opens its details. ## Quotation details and lifecycle ![Sent quotation — convert, revise, lose](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-gonderildi.png) 1. Convert to Order 2. Revise — opens a new revision 3. Lost — closes with a loss reason ### Statuses | Status | Meaning | |---|---| | **Taslak** (Draft) | In preparation; can be edited. | | **Onay Bekliyor** (Pending Approval) | Caught by an approval template; awaiting the approvers' decision. | | **Gönderildi** (Sent) | Given to the customer; locked. Changes are made with a new revision. | | **Siparişe Dönüştü** (Converted to Order) | Fully converted to a sales order. | | **Kaybedildi** (Lost) | The customer did not accept; the loss reason is recorded. | | **İptal Edildi** (Cancelled) | The quotation was withdrawn. | | **Revize Edildi** (Revised) | A new revision was opened in its place; this revision is invalid. | Two additional indicators can appear on a sent quotation: **Süresi Doldu** (Expired; the validity date has passed) and **Kısmen Dönüştü** (Partially Converted; part of it has been converted to a sales order). ### Actions | Status | Actions | |---|---| | Taslak (Draft) | **Gönder** (Send; **Onaya Gönder** — Submit for Approval — if an approval template exists) · **Düzenle** (Edit) · **İptal Et** (Cancel) | | Onay Bekliyor (Pending Approval) | **İptal Et** (Cancel); **Onayla / Reddet** (Approve / Reject) for the approver whose turn it is | | Gönderildi (Sent) | **Siparişe Dönüştür** (Convert to Order) · **Revize Et** (Revise) · **Kaybedildi** (Lost) · **İptal Et** (Cancel) | | Partially converted | **Kalanı Dönüştür** (Convert Remaining) · **Kalanı Kapat** (Close Remaining) | | Other statuses | No actions | **Kopyala** (Copy) is available in every status: it opens the new quotation form with a copy of the quotation. In the copy, the date is today; prices and discounts are proposed again from today's list; the customer reference, requested delivery date and surcharges are not carried over. The copy does not become a document until you save it. **Çıktı** (Output) menu: **Yazdır** (Print) in the browser, **PDF** and **E-posta ile Gönder** (Send by E-mail; only for quotations that have been sent or converted to a sales order). E-mail requires the e-mail settings to be configured in the installation. ### Send A quotation that has been sent is **locked**: any change to prices, lines or terms now opens a new revision. **Gönder** (Send) only marks the quotation; to transmit it to the customer, then use **Çıktı › E-posta ile Gönder** (Output › Send by E-mail). ### Revise The old revision becomes **Revize Edildi** (Revised); a new **Taslak** (Draft) is opened with the same number, today's date and the same validity period. The old revision shows the warning "Bu revizyon geçersiz" (This revision is invalid) and a link to the current revision. To convert an expired quotation to a sales order, likewise revise it and extend the validity date. ### Convert to sales order In the dialog, the sales order type is selected; for each line, a checkbox and the quantity to convert are entered (up to the remaining quantity). The sales order is opened as a **draft** with today's order date; prices and configurations are carried over unchanged. If you are authorized to view sales orders, you are taken to the new sales order. ### Lost and Cancel - **Kaybedildi** (Lost): used when the customer did not accept the quotation. A **Kayıp nedeni** (Loss reason) is required: Fiyat (Price) · Teslim süresi (Delivery time) · Rakip tercih edildi (Competitor preferred) · Teknik şartlar uymadı (Technical requirements not met) · İhtiyaç ortadan kalktı (Need no longer exists) · Müşteri dönüş yapmadı (Customer did not respond) · Diğer (Other; a description is required for "Diğer"). Losses appear in the **Satış › Analitik › Teklif Kazanma/Kaybetme** (Sales › Analytics › Quotation Win/Loss) report. - **İptal Et** (Cancel): a reason is required and the action cannot be undone. If the customer rejected the quotation, use **Kaybedildi** (Lost) instead of cancelling. ## Rules - Only a **draft** quotation can be edited. Changes to a sent quotation are made with **Revize Et** (Revise). - A quotation must contain at least one line; the last line cannot be deleted. - The quotation amount is not an invoice. When the quotation is converted to a sales order, prices are carried over unchanged. ## Related screens - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) — the sales order created from the quotation. - [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) — the source of the unit price proposal. - [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) — the end-to-end process. --- # Create a sales quotation > Prepare a new sales quotation for a customer — customer, validity, lines and price; the quotation is saved as a draft. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Teklif Yönetimi › Satış Teklifi Oluştur (Sales › Quotation Management › Create Sales Quotation) - **Screen route:** `/erp/sales/quotations/new` - **Required permission:** `erp-sales-quotations.create` - **Prerequisites:** - The customer is defined as an **Aktif** (Active) business partner on the **Müşteriler** (Customers) screen. - The products to be quoted have an item master record and are released for sales. - A price list is assigned to the customer, or a default price list exists, so that prices can be proposed (optional; the price can also be entered manually). A sales quotation is the record of the prices and terms offered to a customer. A quotation is first prepared as a **draft**; it is locked when sent, and converted into a sales order if accepted. ## Steps 1. Open the **Satış › Teklif Yönetimi › Satış Teklifi Oluştur** (Sales › Quotation Management › Create Sales Quotation) screen. If you are on the list screen, click the **Yeni Teklif** (New Quotation) button. 2. In the **Müşteri** (Customer) field, type the customer's code or name and press `Enter`; select the customer from the list and press `Enter` again. To search from a list, click the magnifier or press `F4`. 3. If the customer has a request or tender number, enter it in the **Müşteri Referansı** (Customer Reference) field. **Teklif Tarihi** (Quotation Date) is today; **Geçerlilik Tarihi** (Valid Until) is proposed as 30 days later — change it if necessary. 4. If required, enter the delivery date, currency, payment and shipping method on the **Teslimat ve Ödeme** (Delivery and Payment) tab; discounts and surcharges on the **Koşullar** (Conditions) tab; and the quotation note on the **Metinler** (Texts) tab. 5. In the **Kalemler** (Items) table, type the product's code or name in the **Ürün** (Product) field of the first line and press `Enter`, then select it and press `Enter` again. The cursor moves to the **Miktar** (Quantity) field. 6. Type the **Miktar** (Quantity) and press `Enter`. The **Birim Fiyat** (Unit Price) is proposed from the price list, with its source shown below it (e.g. `STANDART · kademe ≥ 100`, i.e. scale ≥ 100); change it if necessary, and use the **İskonto %** (Discount %) field for a discount. 7. Continue with the next empty line for other items. When you are done, validate the form with **Kontrol Et** (Check), then click **Teklifi Oluştur** (Create Quotation). ![Create Sales Quotation — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-olustur.png) 1. Customer — type code or name and press Enter; magnifier or F4 opens the list 2. Valid Until — defaults to 30 days later 3. Tabs — delivery, payment, conditions, texts, address 4. Product — type code or name and press Enter 5. Quantity 6. Unit price — proposed from the price list, source shown below 7. Create Quotation — saves as draft **Result:** The quotation is saved with number **ST-yyyy-nnnnnn** in **Taslak** (Draft) status, and the quotation details open. A draft quotation can be edited; to transmit it to the customer, proceed to [Send the quotation](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri). ## What you need to know - **Kaydet** (Save; Ctrl+S) saves without closing the form; **Teklifi Oluştur** (Create Quotation) saves and opens the quotation details. - When you leave the screen with unsaved changes, the system asks you what to do: you can stay on the page, save as a draft and leave, or discard the changes. - The quotation date cannot fall in a closed posting period; the validity date cannot be earlier than the quotation date. - Price determination order: customer-specific price → campaign → the customer's price list (or the default list if none) → group discount. Details: [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri). ## Related - [Sales quotations screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) - [Quotation to invoice process](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) --- # Sales orders > Create and approve sales orders and transfer them to delivery and production; availability and backorders. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri Orders received from customers. A sales order is entered as a draft or converted from a quotation; once approved, it enters planning as demand and is released for delivery. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Siparişleri · Satış Siparişi Oluştur · Backorder İşleme (Sales › Order Management › Sales Orders · Create Sales Order · Backorder Processing) - **Screen route:** `/erp/sales/orders` - **Required permission:** `erp-sales-orders.view (görme) · .create (oluşturma) · .edit (onay, iptal) · .close (kapatma)` ## Sales order list ![List screen — filters, columns and paging](https://erpdocs.corexlogic.com/en/en/img/screens/genel/liste-ekrani.png) 1. New record 2. Search and filters 3. Show / hide columns 4. Click a header to sort; drag its edge to resize 5. Click the document number to open it | Column | Description | |---|---| | Belge No (Document No.) | Sales order number; click to open the sales order. The column stays pinned on the left. | | Müşteri (Customer) | Name and customer code. | | Temsilci · Tür · Kanal (Sales Rep · Type · Channel) | Sales representative, sales order type and channel (if there is more than one option). | | Sipariş Tarihi · İstenen Teslim (Order Date · Requested Delivery) | | | Durum (Status) | Taslak (Draft) · Onaylandı (Approved) · İptal (Cancelled); **Kapalı** (Closed) for a closed sales order. A sales order caught by the credit limit shows the **Kredi blokesi** (Credit block) indicator. | | Net · KDV · Genel Toplam (Net · VAT · Grand Total) | Hidden for users without permission to view prices. | **Filters:** **Ara** (Search; document no., customer code or name), **Durum** (Status), **Kapanış** (Closure; open / closed), **Müşteri** (Customer), **Temsilci** (Sales Rep), **Kanal** (Channel) and order date range. ## Creating a sales order ![Create Sales Order — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/siparis-olustur.png) 1. Document type — standard, rush, sample… 2. Customer 3. Requested delivery — drives delivery planning 4. Product 5. Quantity 6. Create Order — saves as draft The sales order form has the same layout as the quotation form: - **Header strip:** **Müşteri** (Customer; required, active customers only), **Sipariş Tarihi** (Order Date; required), document type (if there is more than one type). - **Teslimat ve Ödeme** (Delivery and Payment): requested delivery date (cannot be earlier than the order date), **currency** (required), payment term, payment condition, shipping method and its note, shipping type. The payment term and shipping method are proposed from the customer master record. - **Koşullar** (Conditions): overall discount percentage (distributed proportionally to the lines; VAT is calculated on the discounted amount) and surcharges. - **Metinler** (Texts): note (up to 1024 characters). - **Adres** (Address): goods recipient, contact person, registered ship-to address, recipient, delivery address and phone number. If all three are left empty, the name, address and phone number from the customer master record are copied to the document. - **Organizasyon** (Organization): sales channel, sales organization, division, sales representative. **Kalemler** (Items): product, quantity, unit, unit price, discount (percentage or amount), VAT and estimated amount. In the line details, a description and the **item category** (Standart — Standard · Bedelsiz — Free of Charge · Hizmet — Service · Üçüncü Taraf — Third Party) are selected. The unit price is proposed from the price list ([how it is determined](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri#fiyat-nasıl-belirlenir)). After saving, the sales order is in **Taslak** (Draft) status. A sales order converted from a quotation is also opened as a draft. ## Availability check The **Kullanılabilirlik** (Availability) button on an item line opens a dialog showing: - the quantity that can be promised on the requested date and the **earliest date** for the full quantity, - the date that can be reached with new supply (open purchasing and production), - a delivery proposal (date / quantity) and a daily stock chart. The dialog does not reserve stock; the line counts as demand once the sales order is approved. The button is displayed for users who have permission to view material requirements (`erp-demand-material-requirements.view`). ## Sales order details ![Approved order — delivery and production](https://erpdocs.corexlogic.com/en/en/img/screens/satis/siparis-onayli.png) 1. Create Delivery — with goods issue 2. Open Production Order — make to order 3. Shipped and remaining quantity 4. Linked documents — quotation, delivery, production order ### Statuses A sales order has three statuses: **Taslak** (Draft), **Onaylandı** (Approved) and **İptal** (Cancelled). In addition: - **Kapalı** (Closed) — shown on the badge if the sales order has been closed (the remaining quantity was abandoned). - **Shipping status** — Sevk edilmedi (Not shipped) · Kısmen sevk edildi (Partially shipped) · Tamamı sevk edildi (Fully shipped), and "x/y kalem" (x/y lines). ### Actions | Condition | Action | |---|---| | Taslak (Draft) | **Düzenle** (Edit) · **Siparişi Onayla** (Approve Order) · **Siparişi İptal Et** (Cancel Order) | | Onaylandı (Approved) | **Teslimat Oluştur** (Create Delivery) · **Üretim Emri Aç** (Open Production Order) · **Siparişi Kapat** (Close Order) · **Siparişi İptal Et** (Cancel Order) | | Approved, with an open service line | **Hizmeti Tamamla** (Complete Service) | | Approved, line with a remaining quantity | **Satırı Kapat** (Close Line) on the line | | Any status | **Kopyala** (Copy) · **Çıktı** (Output: Yazdır — Print · PDF · E-posta — E-mail) | - **Siparişi Onayla** (Approve Order): the lines of an approved sales order can no longer be edited. - **Siparişi İptal Et** (Cancel Order): a reason is required and the action cannot be undone. A sales order with a shipped quantity cannot be cancelled — to abandon the remaining quantity, **close** the sales order. - **Siparişi Kapat** (Close Order): a reason is required. No new delivery can be created for a closed sales order; closing is not a correction. - **Üretim Emri Aç** (Open Production Order): opens a production order linked to the sales order (for make-to-order products). - No lifecycle actions are displayed on a closed sales order. ### Confirmation and backorder On an approved sales order, confirmation information is shown below each line: - **Teyitli N birim** (Confirmed N units) — the quantity covered by stock or planned supply, - **Backorder N birim** (Backorder N units; in red) — the quantity that cannot be confirmed yet, - **Tamamı <tarih>** (All by <date>) — the day on which the full line quantity can be delivered. **Kullanılabilirliği Yeniden Kontrol Et** (Recheck Availability) recalculates the confirmation of an approved sales order based on current stock and supply. ### Credit block If the customer's credit limit is exceeded, the sales order shows the **Kredi blokesi — teslimat açılmaz** (Credit block — no delivery can be created) bar. The credit manager releases the block with **Krediyi Serbest Bırak** (Release Credit); a sales representative cannot release the block on their own sales order. ## Backorder Processing ![Backorder Processing — unconfirmed quantities](https://erpdocs.corexlogic.com/en/en/img/screens/satis/backorder.png) 1. Backorder — unconfirmed remainder 2. Select the product to reconfirm 3. Create Proposal — shows the allocation, does not save 4. Apply — saves the confirmations Used to reconfirm, collectively, open sales order lines that have an unconfirmed remaining quantity (e.g. after stock has been received). The priority order is first the requested delivery date, then the order date. 1. Select the lines to be reconfirmed from the list (up to 50; the selection is kept even when the page changes). 2. **Öneri Oluştur** (Create Proposal) — shows the before / after state of the confirmed quantity and the completion date; nothing is saved yet. 3. **Uygula** (Apply) — saves the proposal. If the selection changes, the proposal is discarded and must be created again. View permission is sufficient to open the screen; edit permission is required to create and apply proposals. ## Rules - Only a **draft** sales order can be edited. - A sales order must contain at least one line. - The amounts in the details are approximate; financial confirmation is on the invoice. The invoice is issued from the delivery, not from the sales order details ([Billing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama)). ## Related screens - [Sales quotations](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) — can be the source of a sales order. - [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) — shipping an approved sales order. - [Billing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) — invoice from a delivery. --- # Send a quotation > Mark a draft sales quotation as sent and e-mail it to the customer; a quotation that has been sent is locked. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Teklif Yönetimi › Satış Teklifleri (Sales › Quotation Management › Sales Quotations) › quotation details - **Screen route:** `/erp/sales/quotations/{id}` - **Required permission:** `erp-sales-quotations.edit` - **Prerequisites:** - The quotation is in **Taslak** (Draft) status and has at least one line. - If an approval template is defined for quotations in the installation, the button is named **Onaya Gönder** (Submit for Approval); on final approval, the quotation automatically moves to **Gönderildi** (Sent) status. **Gönder** (Send) only marks the quotation as *sent*; it does not send the e-mail. The e-mail is sent separately from the **Çıktı** (Output) menu. This keeps the record correct even when you transmit the quotation by phone, by hand or through another channel. ## Steps 1. Open the **Satış › Teklif Yönetimi › Satış Teklifleri** (Sales › Quotation Management › Sales Quotations) list and click the quotation number. 2. In the action bar of the quotation details, click the **Gönder** (Send) button. ![Draft quotation — action bar](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-taslak.png) 1. Send — locks the quotation 2. Edit — draft only 3. Output — PDF and send by e-mail 3. In the **Teklif gönderilsin mi?** (Send quotation?) dialog, check the customer, number of lines, grand total and validity date; click **Gönderildi Olarak İşaretle** (Mark as Sent). ![Send quotation confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-gonder.png) 1. Mark as Sent 4. To e-mail the quotation to the customer, select **E-posta ile Gönder** (Send by E-mail) from the **Çıktı** (Output) menu; to download the PDF, print it from the same menu. **Result:** The quotation moves to **Gönderildi** (Sent) status and is locked: prices, lines and terms can no longer be changed. If the customer accepts, [convert it to a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-siparise-donusturme); if the customer requests changes, [revise it](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-revize-etme). ## What you need to know - The prices, lines and terms of a sent quotation do not change; a change opens a **new revision**. - A quotation whose validity date has passed is shown in the list with the **Süresi Doldu** (Expired) badge. - A draft quotation can be closed with **İptal Et** (Cancel); a sent quotation that was not won is closed with **Kaybedildi** (Lost). ## Related - [Create a sales quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma) - [Sales quotations screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) --- # Delivery and goods issue > Create deliveries from approved sales orders, post goods issues, delivery notes, packing and proof of delivery. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat Approved sales order lines leave the warehouse with a delivery. A delivery is first created as **open** (stock is not reduced; the lines are reserved on the sales order); when the **goods issue** is posted, stock is reduced and the delivery can no longer be changed. - **Type:** Screen - **Module:** Sales - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar · Giden Teslimat Oluştur (Logistics Management › Outbound Delivery › Deliveries · Create Outbound Delivery) - **Screen route:** `/erp/sales/shipments` - **Required permission:** `erp-sales-shipments.view (görme) · .create (oluşturma, mal çıkışı, iptal)` ## Create Outbound Delivery ![Create Outbound Delivery — due items](https://erpdocs.corexlogic.com/en/en/img/screens/satis/giden-teslimat-olustur.png) 1. Due by — items to deliver up to this date 2. Select the item to deliver 3. Warehouse 4. Create Delivery — opens an open delivery The **Giden Teslimat Oluştur** (Create Outbound Delivery) screen is not an empty form: it lists the **approved sales order lines that are due** and can be delivered. Quantity available for delivery = ordered quantity − shipped − in open deliveries. 1. Narrow down the lines with the filters (sales order no., customer, product; the **Vadesi gelen (en geç)** (Due by, latest) date). 2. Select the lines to be delivered. The quantity is prefilled with the quantity available for delivery; you can change it. 3. Select the **Depo** (Warehouse; required) and the **Planlanan sevk tarihi** (Planned shipping date; required, default today); enter a note if necessary. 4. Click **Teslimat Oluştur** (Create Delivery). Lines going to the same recipient, currency, channel, delivery address and shipping method are combined into a single delivery. The deliveries created are listed with their numbers; groups that could not be created are shown in red with the reason. The **Plan. Mal Çıkışı** (Planned Goods Issue) column shows the day on which the goods must leave the warehouse (requested delivery date − route duration − warehouse preparation time). For a delayed line, the date is shown in red with "· gecikti" (delayed). A delivery for a single sales order can also be created with the **Teslimat Oluştur** (Create Delivery) button in the sales order details. ## Delivery list ![Delivery detail — goods issue posted](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-detay.png) 1. Status — stock reduced, document locked 2. Output — delivery note 3. Issued lots and serial numbers 4. Proof of delivery — signed delivery note Columns: **Belge No** (Document No.), **Durum** (Status), **Teslimat Tarihi** (Delivery Date), **Sipariş No** (Order No.), **Müşteri** (Customer), **Kanal** (Channel), **Depo** (Warehouse), **Kalem** (Lines). Filters: **Ara** (Search), **Müşteri** (Customer), **Durum** (Status), **Kredi** (Credit; those under a credit block) and delivery date range. ## Delivery details ### Statuses | Status | Meaning | |---|---| | **Açık** (Open) | The lines are reserved on the sales order; stock is reduced at goods issue. | | **Mal Çıkışı Kaydedildi** (Goods Issue Posted) | Physical stock issue document; cannot be changed. | | **İptal Edildi** (Cancelled) | No stock movement. | An open delivery also shows the **picking** status (Toplanmadı — Not picked · Kısmen toplandı — Partially picked · Toplandı — Picked) and the **packing** status (Paketlenmedi — Not packed · Kısmen paketlendi — Partially packed · Paketlendi — Packed). ### Posting the goods issue On an open delivery, **Mal Çıkışını Kaydet** (Post Goods Issue) opens a separate page: - The **Mal çıkışı tarihi** (Goods issue date) is entered; the warehouse is the delivery's warehouse and cannot be changed. - The quantity of each line is split into **allocations**: storage location (or "Lokasyonsuz" — No storage location), stock status and, if required, the lot or serial number. The allocation total of each line must equal the delivery quantity (partial goods issue is not possible). - **FEFO ile Dağıt** (Allocate by FEFO; for a lot-managed line): splits the quantity starting from the lots with the nearest expiry dates. - **Ayrılmış Stoğu Dağıt** (Allocate Reserved Stock): fills the allocations with stock reserved for the line (picked or produced for the line). - For a serial-managed line, the serial numbers are selected. - If the delivery has been picked, the allocations are filled automatically with the picked goods. ### Cancellation An open delivery is cancelled with **Teslimatı İptal Et** (Cancel Delivery); a cancellation reason is required. No stock movement takes place; the quantity reserved on the sales order is released, and the lines become available for delivery again. Cancellation cannot be undone. ### After the goods issue - **Çıktı** (Output): print, PDF and e-mail the delivery note. - **e-İrsaliye** (e-Delivery Note): if e-Delivery Note is enabled in the installation, **e-İrsaliye Oluştur** (Create e-Delivery Note) is displayed; once it has been created, the delivery note's number and status are shown. - **Teslimat Düzeltmesi Oluştur** (Create Delivery Correction): an incorrect goods issue is not deleted; it is reversed with a correction document. - **İade Talebi Aç** (Open Return Request) · **İade Al** (Receive Return): for customer returns. ## Packing On an open delivery, **Taşıma Birimi Oluştur** (Create Handling Unit) places the lines into containers (carton, pallet…): container type (required), packaging product, tare, content and nested units. A label can be printed for each handling unit. Packing is not a prerequisite for the goods issue. ## Proof of delivery For deliveries whose customer requires proof of delivery, after the goods issue, use **Alındı Teyidi Kaydet** (Record Proof of Delivery) to enter the delivery date, the recipient and the accepted quantity per line. For a short acceptance, a reason is selected (damaged in transit, arrived short, customer did not accept delivery, other). **A delivery awaiting proof of delivery is not invoiced.** ## Related screens - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) — the source of the delivery. - [Billing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) — invoice from a delivery whose goods issue has been posted. --- # Convert a quotation to a sales order > Convert a sales quotation accepted by the customer into a sales order, fully or partially. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-siparise-donusturme - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Teklif Yönetimi › Satış Teklifleri (Sales › Quotation Management › Sales Quotations) › quotation details - **Screen route:** `/erp/sales/quotations/{id}` - **Required permission:** `erp-sales-quotations.edit`, `erp-sales-orders.create` - **Prerequisites:** - The quotation is in **Gönderildi** (Sent) status (a draft quotation must first be [sent](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme)). - The quotation has not been revised, and has not been closed as cancelled or lost. - The validity date has not passed. If it has, first extend the validity by [revising the quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-revize-etme). ## Steps 1. Open the quotation details and click **Siparişe Dönüştür** (Convert to Order) in the action bar. ![Sent quotation — convert, revise, lose](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-gonderildi.png) 1. Convert to Order 2. Revise — opens a new revision 3. Lost — closes with a loss reason 2. In the **Teklif siparişe dönüştürülsün mü?** (Convert quotation to sales order?) dialog, select a **Sipariş Türü** (Order Type) if necessary; if left empty, the default type is used. 3. In the line table, check the **Dönüşecek** (To Convert) quantities. For a partial conversion, reduce the quantity or clear the line's checkbox. 4. Click **Siparişe Dönüştür** (Convert to Order). ![Convert quotation to order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-donustur.png) 1. Order type — default type if left empty 2. Quantity to convert — reduce for a partial conversion 3. Convert to Order — creates a draft order **Result:** A **Taslak** (Draft) sales order is created from the selected lines; the order date is today. If the entire remaining quantity has been converted, the quotation is closed as **Siparişe Dönüştü** (Converted to Order); if a remainder exists, the quotation stays open and is shown in the list with the **Kısmen Dönüştü** (Partially Converted) badge. Next step: [approve the sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama). ## What you need to know - The sales order and the quotation are written **in the same transaction**; if one cannot be written, neither changes. - Prices and commercial terms are carried over according to the copy rule of the sales order type: they are either copied from the quotation or redetermined on the order date. - The stock commitment arises when the sales order is approved; conversion does not reserve stock. - The **Bağlantılı Belgeler** (Related Documents) section in the sales order details shows the source quotation. ## Related - [Sales orders screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) - [Quotation to invoice process](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) --- # Billing > Create invoices from unbilled deliveries, finalize them and send them to the Turkish Revenue Administration (GİB). URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama A sales invoice originates from a delivery: deliveries whose goods issue has been posted accumulate on the **Faturalanmamış Teslimatlar** (Unbilled Deliveries) screen, a draft invoice is created from there, and the draft is finalized and sent to the Turkish Revenue Administration (GİB) through the integrator. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Faturalama › Faturalanmamış Teslimatlar · Giden e-Faturalar (Sales › Billing › Unbilled Deliveries · Outgoing e-Invoices) - **Screen route:** `/erp/sales/unbilled-shipments · /erp/invoicing/invoices` - **Required permission:** `erp-invoicing-references.view · erp-invoicing-invoices.view (görme) · .create (oluşturma) · .finalize (kesinleştirme ve gönderim)` ## Unbilled Deliveries ![Unbilled Deliveries](https://erpdocs.corexlogic.com/en/en/img/screens/satis/faturalanmamis.png) 1. Select the deliveries to invoice 2. Invoice deadline — 7 days after delivery 3. Enter Invoice Reference — trace of an externally issued invoice Documents that have been shipped or returned but not yet invoiced. | Column | Description | |---|---| | Belge No (Document No.) | Delivery number; links to the delivery. | | Belge Tarihi (Document Date) | | | Fatura Son Günü (Invoice Due Date) | The last day on which the invoice must be issued (7 days from the document date). If it has passed, it is shown in red: "7 günü geçti · N gün" (more than 7 days · N days). | | Müşteri · Yaklaşık Tutar (Customer · Approximate Amount) | Amounts are approximate; financial confirmation is the invoice. | **Filters:** **Ara** (Search), document date range, **Yalnız 7 günü geçenler** (Only those older than 7 days). - **Fatura Oluştur** (Create Invoice): creates a **draft** invoice dated today from the selected deliveries and opens the draft. Only deliveries of the same customer and the same currency can be included in the same invoice. - **Fatura Referansı Gir** (Enter Invoice Reference): used to record the invoice number of deliveries whose invoice was issued outside CoreX (in the previous system). It cannot be used for deliveries after the e-Document start date; those are invoiced in CoreX. The selection covers only the visible page. ## Outgoing e-Invoices ![Outgoing e-Invoices](https://erpdocs.corexlogic.com/en/en/img/screens/satis/giden-e-faturalar.png) 1. Invoices issued in CoreX 2. Archive of externally issued invoices 3. Status — draft, finalized, sending and GİB result The list has no new invoice button: an invoice originates from a delivery. The list has two tabs: **CoreX'te kesilenler** (Issued in CoreX) and **Dışarıda kesilenler (arşiv)** (Issued externally — archive). Columns: **Fatura** (Invoice; internal number, with the GİB number below it), **Tarih** (Date), **Müşteri** (Customer), **Satış Kanalı** (Sales Channel), **Durum** (Status; with the e-Invoice / e-Archive indicator), **Tip** (Type), **Ödenecek** (Payable). ### Invoice process ``` Taslak ──► Kesinleşti ──► Entegratöre iletildi ──► Alıcıya ulaştı ──► (Alıcı yanıtı) (Draft) (Finalized) (Sent to integrator) (Delivered to (Recipient recipient) response) ``` For a commercial invoice, the last step is the recipient's **acceptance / rejection** response; for an export invoice, this step is the response of the Ministry of Trade customs system (GTB). | Status | Meaning | |---|---| | **Taslak** (Draft) | Can be edited; the date, note, exchange rate and the exemption / withholding code of the lines can change. Price and VAT come from the sales order. | | **Kesinleşti** (Finalized) | Cannot be edited or deleted; ready for transmission. | | Gönderim kuyruğunda · Entegratörde (In transmission queue · At integrator) | Being sent. | | Alıcıya ulaştı · Yanıt bekleniyor (Delivered to recipient · Awaiting response) | Delivered to the recipient. | | Kabul edildi · Reddedildi (Accepted · Rejected) | The recipient's response to a commercial invoice. | | Gönderilemedi · Doğrulanamadı (Transmission failed · Could not be verified) | A problem occurred during transmission; resolution actions are displayed in the details. | | İptal edildi · Geçersiz sayıldı (Cancelled · Voided) | | ### On a draft - **Kaydet** (Save) — saves changes to the date, note and exchange rate. The **Öner** (Suggest) button next to the exchange rate retrieves the Central Bank of the Republic of Türkiye (TCMB) buying rate. - **Kesinleştir** (Finalize) — finalizes the invoice. A finalized invoice cannot be edited or deleted. Finalizing is not sending. - **Taslağı Sil** (Delete Draft) — the draft is deleted and the deliveries can be invoiced again. **Kesinleştir** (Finalize) cannot be clicked while there are unsaved changes. ### On a finalized invoice | Action | When | |---|---| | **GİB'e Gönder** (Send to GİB) | Kesinleşti (Finalized) or Gönderilemedi (Transmission failed). A sent invoice cannot be withdrawn: an e-Invoice is corrected with a return invoice, and an e-Archive invoice by cancellation. | | **Durumu Yenile** (Refresh Status) | At the integrator, while awaiting a response, or when the invoice could not be verified. | | **e-Arşiv İptal** (Cancel e-Archive) | Only for an e-Archive invoice; a reason is required. | | **Taslağa Geri Al** (Revert to Draft) · **Yeniden Gönder** (Resend) | If transmission failed and no GİB number has been assigned. | | **Geçersiz Say** (Void) · **Aynı Numarayla Yeniden Gönder** (Resend with Same Number) | If transmission failed but a GİB number has been assigned. | | **Alınmadı Olarak İşaretle** (Mark as Not Received) | In Doğrulanamadı (Could not be verified) status; a reason is required. | The **e-Belge süreci** (e-Document process) section of the details contains the integrator status, the time of the last query and the document files (PDF, signed UBL). The files are retrieved after the invoice has reached the recipient. ## Related screens - [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) — the source of the invoice. - [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) — the end-to-end process. --- # Revise a quotation > Open a new draft revision with the same number to change a sales quotation that has been sent. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-revize-etme - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Teklif Yönetimi › Satış Teklifleri (Sales › Quotation Management › Sales Quotations) › quotation details - **Screen route:** `/erp/sales/quotations/{id}` - **Required permission:** `erp-sales-quotations.edit` - **Prerequisites:** - The quotation is in **Gönderildi** (Sent) status. A draft quotation is not revised; it is changed directly with **Düzenle** (Edit). ## Steps 1. Open the quotation details and click **Revize Et** (Revise) in the action bar. 2. In the **Yeni revizyon açılsın mı?** (Open a new revision?) dialog, click **Revizyon Aç** (Open Revision). ![Open new revision dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teklif-revize.png) 1. Open Revision 3. In the new revision, change prices, lines and terms with **Düzenle** (Edit) and save. 4. To transmit the revision to the customer, [send the quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme). **Result:** The previous revision is closed as **Revize Edildi** (Revised) and can no longer be converted to a sales order. The new revision carries the same quotation number, a revision number incremented by one (e.g. `ST-2026-000004 · Rev 2`), today's date and the same validity period. ## What you need to know - By default, the quotation list shows only the **current** revisions. To see earlier revisions, select **Revize Edildi** (Revised) in the **Durum** (Status) filter. ## Related - [Sales quotations screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) --- # Price lists > Price lists, period and quantity prices, characteristic surcharges, special prices, group discounts and the price determination order. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri The source of the unit price proposal on sales documents. Each customer is assigned to a price list; a customer without an assignment is priced from the default list. Customer-specific agreements are kept on the **Özel Fiyatlar** (Special Prices) screen, and category-based discounts on the **Grup İskontoları** (Group Discounts) screen. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Fiyat Listeleri · Özel Fiyatlar · Grup İskontoları (Sales › Master Data › Price Lists · Special Prices · Group Discounts) - **Screen route:** `/erp/sales/price-lists` - **Required permission:** `erp-sales-price-lists.view (görme) · .create / .edit (değiştirme) · .import (dosyayla aktarım)` ## How the price is determined {#fiyat-nasıl-belirlenir} When a product is selected on a quotation or sales order line, the price is searched in the following order; the first one found is proposed: 1. **Customer-specific price** — an agreement for customer + product + currency. 2. **Campaign** — a valid campaign price. 3. **The customer's price list** (the **default list** if there is no assignment) — the list's **period and quantity price** takes precedence if one exists; otherwise, the list price. 4. **Group discount** — the discount defined for the product's category is proposed on the line (not proposed if a special price or a period / quantity price was found). If a sales channel is selected, the channel's list is included in the chain, as is a list defined specifically for the customer's sales area. The source of the proposal is shown on the line (e.g. "Özel fiyat" — Special price, "Kampanya KOD" — Campaign CODE, "STANDART · kademe ≥ 100" — STANDARD · scale ≥ 100). **The proposal is not binding:** if you change the price manually, the proposal remains visible below it and the deviation percentage is flagged. ## Price lists ![Price Lists](https://erpdocs.corexlogic.com/en/en/img/screens/satis/fiyat-listeleri.png) 1. New Price List 2. Import / export with Excel 3. Base list — derived from another list by a factor 4. Default list — used when the customer has none Columns: **Kod** (Code), **Ad** (Name), **Para birimi** (Currency), **Temel liste** (Base list; "CODE × factor" for a derived list), **Ürün sayısı** (Number of products), **Müşteri sayısı** (Number of customers), **Varsayılan** (Default), **Durum** (Status). The row's **İşlemler** (Actions) menu offers **Varsayılan Yap** (Set as Default; for an active list that is not the default). A price list is not deleted; it is set to inactive. ### List definition | Field | Description | |---|---| | **Ad** (Name), **Kod** (Code) | The code is proposed from the name. | | Temel liste · **Katsayı** (Base list · Factor) | Derived list: prices are the base list price × the factor (1.10 = 10% above; 0.85 = 15% below). A derived list takes the currency of the base list. | | **Para birimi** (Currency) | Cannot be changed while the list contains prices. | | Aktif (Active) | | The first active list automatically becomes the default. ### List details ![Price list detail — prices](https://erpdocs.corexlogic.com/en/en/img/screens/satis/fiyat-listesi-detay.png) 1. Price basis — unit and VAT excluded / included 2. Period and quantity scales 3. Option surcharges for configurable products 4. Mass Update — by percent or amount 5. Add Price - **Fiyatlar** (Prices): product, unit, price and source ("Listenin fiyatı" — List price, or "Türetilmiş" — Derived). The price is in the base unit of the item master record and excludes VAT. - **Dönem ve Miktar Fiyatları** (Period and Quantity Prices): a price valid in a specific period or above a specific quantity (product, price, minimum quantity, period, note). A rule with a period takes precedence over a permanent rule; for quantity scales, the highest threshold that matches the line quantity applies. A rule with an empty period is permanent. - **Karakteristik Farkları** (Characteristic Surcharges): price differences by option for configurable products. For a characteristic with options, a fixed amount per option is entered; for a numeric characteristic, an amount per unit. Line price = list price + the surcharges of the selected options. **Toplu Güncelle** (Mass Update): changes the list's prices in bulk by a percentage or an amount (can be narrowed down by category and search; rounding can be selected). Click **Önizle** (Preview) first; **Uygula** (Apply) becomes available only after a preview taken with the same parameters and without invalid rows. Derived prices do not change, because they follow the factor. **İçe / Dışa Aktar** (Import / Export): all price data is in a single Excel workbook (lists, prices, period and quantity prices, characteristic surcharges, customer assignments, special prices, group discounts). Export and edit it; when importing, first use **Kontrol Et** (Check) to see what will change. ### Assigning a list to a customer The assignment is made on the **Satış** (Sales) tab of the customer master record ([Customers](https://erpdocs.corexlogic.com/en/satis/ekranlar/musteriler#satış-sekmesi)). ## Special prices ![Special Prices — customer + product agreements](https://erpdocs.corexlogic.com/en/en/img/screens/satis/ozel-fiyatlar.png) 1. New Special Price 2. Validity — applied when the order date is in range A single agreement for one customer, one product and one currency. It is the first link in the price chain and overrides the customer's list. | Field | Description | |---|---| | **Müşteri** (Customer), **Ürün** (Product) | Cannot be changed when editing. | | **Fiyat** (Price), **Para birimi** (Currency) | No currency conversion is performed; the price is used only on documents in the same currency. | | Geçerlilik (Validity) | Empty = unlimited. Evaluated against the sales order date. | | Not (Note) | | When a special price is deleted, new sales orders are priced from the customer's list; past sales orders are not affected. ## Group discounts ![Group Discounts — customer × category](https://erpdocs.corexlogic.com/en/en/img/screens/satis/grup-iskontolari.png) 1. New Group Discount 2. Product category — subcategory rule wins 3. Proposed line discount Proposes a line discount for a product category (including subcategories), for one customer or for all customers. | Field | Description | |---|---| | **Kapsam** (Scope) | A specific customer or all customers. | | **Müşteri** (Customer) | Required if the scope is a customer. | | **Kategori** (Category) | Also covers subcategories. | | **İskonto %** (Discount %) | Greater than 0, at most 100. | | Geçerlilik · Not (Validity · Note) | | A customer-specific rule takes precedence over a general rule, and a subcategory over its parent category. ## Related screens - [Customers](https://erpdocs.corexlogic.com/en/satis/ekranlar/musteriler) — price list assignment. - [Sales quotations](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) · [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) — where the price proposal is used. --- # Create a sales order > Enter a new sales order without a quotation — document type, customer, requested delivery date and lines. URL: https://erpdocs.corexlogic.com/en/satis/islemler/siparis-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Siparişi Oluştur (Sales › Order Management › Create Sales Order) - **Screen route:** `/erp/sales/orders/new` - **Required permission:** `erp-sales-orders.create` - **Prerequisites:** - The customer is an **Aktif** (Active) business partner; the products have an item master record and are released for sales. - This screen is not used for a sales order that originates from a quotation — [convert the quotation to a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-siparise-donusturme) instead. ## Steps 1. Open the **Satış › Sipariş Yönetimi › Satış Siparişi Oluştur** (Sales › Order Management › Create Sales Order) screen, or click **Yeni Sipariş** (New Order) in the **Satış Siparişleri** (Sales Orders) list. 2. Change the **Belge Türü** (Document Type) if necessary; the default is **Standart Sipariş** (Standard Order). 3. In the **Müşteri** (Customer) field, type a code or name and press `Enter`, select the customer and press `Enter` again. **Sipariş Tarihi** (Order Date) is today. 4. On the **Teslimat ve Ödeme** (Delivery and Payment) tab, enter the **İstenen Teslim** (Requested Delivery) date; delivery planning is based on this date. 5. In the **Kalemler** (Items) table, select the **Ürün** (Product) and type the **Miktar** (Quantity). The **Birim Fiyat** (Unit Price) is proposed from the price list. 6. Validate the form with **Kontrol Et** (Check) and click **Siparişi Oluştur** (Create Order). ![Create Sales Order — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/siparis-olustur.png) 1. Document type — standard, rush, sample… 2. Customer 3. Requested delivery — drives delivery planning 4. Product 5. Quantity 6. Create Order — saves as draft **Result:** The sales order is saved with number **SS-yyyy-nnnnnn** in **Taslak** (Draft) status, and the sales order details open. A draft sales order can be edited; to create a delivery, first [approve the sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama). ## What you need to know - The calendar icon on a line shows the item's **availability**: whether it can be supplied from stock on the requested date and, if not, the earliest possible date. - The line details (›) open a line-specific delivery date, a note and, for a configurable product, its options. - If the customer's credit limit is exceeded, the sales order receives a **credit block**; no delivery can be created until the block is released. ## Related - [Sales orders screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) --- # Customers > The customer master record — general data, addresses, contact persons, commercial terms, price list, credit and balance. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/musteriler Customers and suppliers are kept in a **single master record**: the same company can be both. This screen is the business partner list filtered by the customer role; the main screen is **Ana Veriler › İş Ortakları › İş Ortağı Ana Verileri** (Master Data › Business Partners › Business Partner Master Data). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Müşteriler (Sales › Master Data › Customers) - **Screen route:** `/erp/sales/customers` - **Required permission:** `erp-partners-cards.view (görme) · .create (yeni kart) · .edit (düzenleme)` ## Customer list ![Customers list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/musteriler.png) 1. New Business Partner — one card for customer and supplier 2. Import addresses and contacts from Excel 3. Tax / national ID number Columns: **Kod** (Code), **Ünvan** (Name), **Rol** (Role; Müşteri — Customer / Tedarikçi — Supplier), **Merkez / Grup** (Head Office / Group), **Vergi / TC No** (Tax / Turkish ID No.), **Vergi Dairesi** (Tax Office), **E-posta** (E-mail), **Telefon** (Phone), **Durum** (Status). **Filters:** **Ara** (Search; code, name, tax no., e-mail or phone), **Rol** (Role), **Şirket Grubu** (Company Group; if defined), **Durum** (Status; active / inactive). Clicking a row opens the master record in **display** mode; to change it, click **Düzenle** (Edit) on the record. A business partner master record is not deleted; to take it out of use, it is set to inactive. An inactive record cannot be selected on new documents. ## Customer master record ![Business Partner Master — customer card](https://erpdocs.corexlogic.com/en/en/img/screens/satis/musteri-karti.png) 1. Identity — tax / national ID and tax office 2. Commercial terms — payment term, incoterm, credit 3. Sales — price list, rep, channel 4. e-Document — registered user and mailbox 5. Edit ### Header | Field | Description | |---|---| | **Kod** (Code) | Converted to upper case; must be unique. | | **Ünvan** (Name) | | | Kimlik Türü · Vergi / TC No · Vergi Dairesi (ID Type · Tax / Turkish ID No. · Tax Office) | The tax identification number must have 10 digits and a valid check digit. On a record for an individual (Turkish ID number, TCKN), **Ad** (First Name) and **Soyad** (Last Name) are required. | | **Roller** (Roles) | Müşteri (Customer) and / or Tedarikçi (Supplier); at least one is required. | | Aktif (Active) | | ### Tabs | Tab | Content | |---|---| | Genel (General) | E-mail, phone; creation and last update time. | | Şubeler (Branches) | Branch records linked to this record. | | İlgili Kişiler (Contact Persons) | Full name, title, phone, e-mail. | | Adres (Address) | The record's address: address, country, province, district, postal code. | | Sevk Adresleri (Ship-to Addresses) | Addresses to which goods are delivered. | | Ticari Şartlar (Commercial Terms) | Default payment term (days), shipping method and its note, shipping type. Proposed on sales orders; can be changed on the document. | | Merkez ve Grup (Head Office and Group) | The head office and company group to which the record belongs. | | Satış (Sales) | Only for the customer role: price list, delivery setting, customer item codes, sales areas. | | e-Belge (e-Document) | e-Invoice / e-Archive information; a registered tax identification number is required. | | Satış Belgeleri (Sales Documents) | The customer's recent sales orders, invoices and deliveries. | | Bakiye (Balance) | Balance per currency, overdue amount, open items and credit limit. | | Ekler (Attachments) | Files attached to the record. | When you hover over a tab that cannot be used, the reason it is disabled is shown (e.g. "Kart müşteri rolünde değil" — The record does not have the customer role). ### Adding contact persons and ship-to addresses Rows added with **Kişi Ekle** (Add Contact; full name required) and **Adres Ekle** (Add Address; address name and street required) are **saved immediately** — they do not wait for the record's **Kaydet** (Save) button. The first record added becomes the default; the row's **İşlemler** (Actions) menu offers **Varsayılan Yap** (Set as Default), **Düzenle** (Edit) and **Sil** (Delete). The default contact person and the default ship-to address are proposed automatically on new quotations and sales orders. ### Sales tab {#satış-sekmesi} - **Fiyat listesi** (Price list): the customer's price list is selected and saved with **Uygula** (Apply), independently of the record's **Kaydet** (Save) button. If there is no assignment, the default list applies; a customer-specific price, if any, takes precedence. Details: [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri#fiyat-nasıl-belirlenir). - **Müşteri kalem kodları** (Customer item codes): the customer's own product codes; used on documents and printouts. - **Satış alanları** (Sales areas): price list, payment term, shipping method and shipping type per sales organization, channel and division. ### Credit limit and balance The **Kredi Limiti** (Credit Limit) section on the **Bakiye** (Balance) tab shows the limit, exposure, remaining amount and status: Limit içinde (Within limit) · Limit aşıldı (Limit exceeded) · Gecikme toleransı aşıldı (Overdue tolerance exceeded) · Pasif (Inactive). The limit is not changed here; it is defined on the credit manager's screen. For a customer without a credit profile, no credit check is performed on sales orders. This section is displayed for users with permission to view credit data. ## Mass import On the **Ana Veriler › İş Ortakları › İş Ortağı Aktarımı** (Master Data › Business Partners › Business Partner Import) screen, customer master records are created or updated in bulk with an Excel (.xlsx) workbook: download the template, fill it in, then click **Kontrol Et** (Check) first and **Aktar** (Import) afterwards. Ship-to addresses and contact persons are imported with a separate workbook (the **Adres ve Kişi Aktarımı** (Address and Contact Import) button in the list). ## Related screens - [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) — the customer's prices. - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) — the record's commercial terms and addresses are proposed on the sales order. --- # Approve a sales order > Commercially approve a draft sales order; deliveries and production orders are created from the approved sales order. URL: https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Siparişleri (Sales › Order Management › Sales Orders) › sales order details - **Screen route:** `/erp/sales/orders/{id}` - **Required permission:** `erp-sales-orders.edit` - **Prerequisites:** - The sales order is in **Taslak** (Draft) status and its lines are complete (product, quantity, price). ## Steps 1. In the **Satış Siparişleri** (Sales Orders) list, click the sales order number. 2. In the action bar, click **Siparişi Onayla** (Approve Order). 3. In the **Sipariş onaylansın mı?** (Approve sales order?) dialog, check the customer and amount, then click **Siparişi Onayla** (Approve Order). ![Approve sales order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/siparis-onayla.png) 1. Approve Order **Result:** The sales order moves to **Onaylandı** (Approved) status and its lines can no longer be edited. The action bar shows **Teslimat Oluştur** (Create Delivery) and, for make-to-order lines, **Üretim Emri Aç** (Open Production Order). Next step: [create a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma). ## What you need to know - Approval **does not reserve stock** and does not guarantee stock. The physical stock issue takes place only when the goods issue is posted. - An approved sales order can be cancelled (**Siparişi İptal Et** — Cancel Order) or its remaining quantity can be closed (**Siparişi Kapat** — Close Order, **Satırı Kapat** — Close Line) — the closed quantity is not delivered. ## Related - [Sales orders screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) --- # Service confirmations > Fulfilment of the service and third-party lines of a sales order — confirmation list, details, cancellation and draft invoice. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/hizmet-teyitleri **Service** lines such as installation, commissioning or training are not issued from a warehouse; they are fulfilled by a **service confirmation** rather than a delivery. The confirmation records "this much has been completed" on the service line of the sales order and is the source of the invoice. **No stock movement is posted.** A **third-party** line shipped directly by the supplier is confirmed the same way, for the quantity the supplier has confirmed. A confirmation originates from the sales order: there is no "Create" entry in the menu. The **Hizmeti Tamamla** (Complete Service) button on the details of an approved sales order opens the confirmation — for the steps, see [Complete a service](https://erpdocs.corexlogic.com/en/satis/islemler/hizmeti-tamamlama). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Hizmet Teyitleri (Sales › Order Management › Service Confirmations) - **Screen route:** `/erp/sales/service-confirmations` - **Required permission:** `erp-sales-service-confirmations.view (görme) · .create (Hizmeti Tamamla, iptal)`, `erp-invoicing-invoices.create (teyitten fatura taslağı)` ## Confirmation list ![Service Confirmations list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/hizmet-teyitleri.png) 1. Confirmation number — opens the detail 2. Source sales order 3. Status filter — Posted / Cancelled Columns: **Teyit No** (Confirmation No.), **Tarih** (Date), **Sipariş** (Sales Order), **Müşteri** (Customer), **Satır** (Lines; the number of lines in the confirmation), **Durum** (Status). The row's action menu contains **Hizmet Teyidini Aç** (Open Service Confirmation). Filters: **Ara** (Search; confirmation no., sales order no. or customer), **Durum** (Status; Tümü — All · Kaydedildi — Posted · İptal — Cancelled), **Tarih (başlangıç)** (Date from) and **Tarih (bitiş)** (Date to). ## Statuses | Status | Meaning | |---|---| | **Kaydedildi** (Posted) | The confirmation has been recorded on the sales order; the line's **Tamamlanan** (Completed) quantity increased and **Kalan** (Remaining) decreased. | | **İptal** (Cancelled) | The confirmation has been reversed; the quantity recorded on the sales order has been returned. | A confirmation that has been invoiced shows **Faturalandı** (Invoiced) next to its status. ## Confirmation details ![Service confirmation detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/hizmet-teyidi-detay.png) 1. Status 2. Create Invoice — outgoing invoice draft 3. Cancel — only while not invoiced 4. Confirmed quantity The header shows **Durum** (Status), **Tamamlanma** (Completion; the completion date), **Sipariş** (Sales Order; a link to the sales order), **Müşteri** (Customer), **Not** (Note), **Kaydeden** (Posted By) and, if cancelled, **İptal** (Cancellation; reason and time). The **Hizmet Satırları** (Service Lines) table shows the sales order line, the service and the **Tamamlanan** (Completed) quantity. | Button | When it appears | What it does | |---|---|---| | **Fatura Oluştur** (Create Invoice) | Status is **Kaydedildi** (Posted), not invoiced, `erp-invoicing-invoices.create` permission | Prompts for the **Fatura tarihi** (Invoice date); **Taslak Oluştur** (Create Draft) opens an outgoing draft invoice from the confirmed services at the sales order line price. Finalization and sending are done on the invoice. | | **İptal Et** (Cancel) | Status is **Kaydedildi** (Posted), not invoiced, `.create` permission | **Hizmet Teyidini İptal Et** (Cancel Service Confirmation) dialog: **Gerekçe** (Reason) is required. The quantity recorded on the sales order is reversed and the sales order is reopened. | Confirmations are also listed in the **Hizmet Teyitleri** (Service Confirmations) section of the sales order details; each row has **İptal Et** (Cancel). > **An invoiced confirmation cannot be cancelled. Server message: "Faturalanmış hizmet teyidi iptal edilemez." (An invoiced** service confirmation cannot be cancelled.) ## Service line on the sales order details On an approved sales order with a service line, the **Sevk Edilen** (Shipped) column of the line table is renamed **Tamamlanan** (Completed). If the sales order contains only service lines, **Teslimat Oluştur** (Create Delivery) is not shown and **Hizmeti Tamamla** (Complete Service) is the primary button; on a sales order that mixes stock and service lines, both are shown. ## Related - [Complete a service](https://erpdocs.corexlogic.com/en/satis/islemler/hizmeti-tamamlama) - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) - [Invoicing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) --- # Create a delivery from a sales order > Post the delivery and the goods issue for an approved sales order in a single step — warehouse, storage location, lot and serial number allocation. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Satış Siparişleri › sipariş detayı › Teslimat Oluştur (Sales › Sales Orders › sales order details › Create Delivery) - **Screen route:** `/erp/sales/orders/{id}/shipments/new` - **Required permission:** `erp-sales-shipments.create` - **Prerequisites:** - The sales order is in **Onaylandı** (Approved) status and has no credit block. - The products to be shipped are in available stock in the warehouse to be selected. This is the **single-step** path: the delivery and the goods issue are posted together. If picking and packing are performed separately in the warehouse, use the two-step path: [create open deliveries](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma), then [post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme). The **Mal çıkışı sonra: açık teslimat** (Goods issue later: open delivery) link on the form also leads to that path. ## Steps 1. In the details of the approved sales order, click **Teslimat Oluştur** (Create Delivery). ![Approved order — delivery and production](https://erpdocs.corexlogic.com/en/en/img/screens/satis/siparis-onayli.png) 1. Create Delivery — with goods issue 2. Open Production Order — make to order 3. Shipped and remaining quantity 4. Linked documents — quotation, delivery, production order 2. From the **Depo** (Warehouse) list, select the warehouse from which the goods will be issued. All lines of a delivery are issued from the same warehouse. 3. For each line, click **Dağılım Ekle** (Add Allocation); enter the **Lokasyon** (Storage Location), the stock **Durum** (Status) and the **Miktar** (Quantity). For a lot-managed product, **FEFO ile Dağıt** (Allocate by FEFO) splits the remaining quantity across the lots with the nearest expiry dates; for a serial-managed product, select the serial numbers. 4. Check the allocation total at the bottom of the form and click **Teslimatı Kaydet** (Save Delivery). ![Delivery from order — warehouse and allocation](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-olustur.png) 1. Warehouse — all lines leave from one warehouse 2. Add Allocation — location, stock status, lot/serial 3. Allocated quantity; available stock shown next to it 4. Two-step path: open delivery first, goods issue later 5. Save Delivery — delivery and goods issue together 5. In the delivery details that open, check that the status is **Mal Çıkışı Kaydedildi** (Goods Issue Posted); print the delivery note from the **Çıktı** (Output) menu. ![Delivery detail — goods issue posted](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-detay.png) 1. Status — stock reduced, document locked 2. Output — delivery note 3. Issued lots and serial numbers 4. Proof of delivery — signed delivery note **Result:** The delivery is saved with number **SV-yyyy-nnnnnn**, and the goods issue is processed at the same time: stock is reduced, and the **Sevk Edilen** (Shipped) quantity of the sales order increases. The delivery appears in **Faturalanmamış Teslimatlar** (Unbilled Deliveries); the next step is the [invoice](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma) or the [invoice reference](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-referansi-girme). ## What you need to know - Partial delivery is allowed: the remaining quantity stays open on the sales order and is shipped with a later delivery. - **Sipariş Ekle** (Add Order) adds other open sales orders of the same customer in the same currency to the same delivery note. - The availability information on the form is for information only; it is checked again at the time of posting. If stock is insufficient, posting is rejected. - A posted delivery cannot be changed; an error is corrected with **Teslimat Düzeltmesi Oluştur** (Create Delivery Correction), and a return with **İade Al** (Receive Return). ## Related - [Delivery and goods issue screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) --- # Sales contracts > Item prices and a target agreed with a customer for a period — quantity or value contract, call-off orders and remaining quantity. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-sozlesmeleri A sales contract holds the **item prices** and the **target** (quantity or amount) agreed with a customer for a specific **validity** period. A contract does not ship goods by itself: the customer places **call-off orders** as needed — the contract is selected on the sales order line, the price comes from the contract and the target cannot be exceeded. The contract's **Çağrılan** (Called Off) and **Kalan** (Remaining) quantities are calculated from approved sales orders. End-to-end example: [Contract-based sales](https://erpdocs.corexlogic.com/en/surecler/sozlesmeli-satis). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Sözleşmeleri · Satış Sözleşmesi Oluştur (Sales › Order Management › Sales Contracts · Create Sales Contract) - **Screen route:** `/erp/sales/contracts` - **Required permission:** `erp-sales-contracts.view (görme) · .create (oluşturma) · .edit (düzenleme, yürürlüğe alma, kapatma, iptal)` ## Contract list ![Sales Contracts list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesmeler.png) 1. Create Sales Contract 2. Validity — call-offs within this range 3. Draft · Released · Closed · Cancelled Columns: **Sözleşme No** (Contract No.), **Tür** (Type), **Müşteri** (Customer), **Kanal** (Channel), **Geçerlilik** (Validity), **Hedef Tutar** (Target Amount; for a value contract), **Durum** (Status). The row's action menu contains **Sözleşmeyi Aç** (Open Contract). Filters: **Ara** (Search; contract no., customer or product) and **Durum** (Status). **Satış Sözleşmesi Oluştur** (Create Sales Contract) in the header opens the form. ## Types | Type | Target | Call-off limit | |---|---|---| | **Miktar Sözleşmesi** (Quantity Contract) | **Hedef Miktar** (Target Quantity) is required on each item | An item's called-off quantity cannot exceed its target quantity. | | **Değer Sözleşmesi** (Value Contract) | **Hedef Tutar (net)** (Target Amount, net) is required in the header; the target quantity on an item is optional (empty = unlimited) | The called-off net amount of all items cannot exceed the target amount; on an item with a target quantity, the quantity is also a limit. | ## Statuses | Status | Meaning | Allowed actions | |---|---|---| | **Taslak** (Draft) | Saved; call-offs cannot be made. | **Düzenle** (Edit), **Yürürlüğe Al** (Put into Effect), **İptal Et** (Cancel) | | **Yürürlükte** (In Effect) | Sales orders within the validity period can call off the contract. | **Kapat** (Close), **İptal Et** (Cancel; only if never called off) | | **Kapandı** (Closed) | The remainder can no longer be called off; past call-offs do not change. | — | | **İptal Edildi** (Cancelled) | The contract is invalid. | — | The close and cancel dialogs (**Sözleşmeyi Kapat** — Close Contract, **Sözleşmeyi İptal Et** — Cancel Contract) require a **Gerekçe** (Reason). A contract with call-offs cannot be cancelled; server message: "Sözleşmeye bağlı sipariş satırı var — iptal yerine kapatın." (There are sales order lines linked to the contract — close it instead of cancelling.) ## Create a sales contract ![Create Sales Contract — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-olustur.png) 1. Type — quantity or value contract 2. Validity range 3. Add product 4. Target quantity — call-offs cannot exceed it 5. Contract price — copied to the order 6. Save Draft | Field | Description | |---|---| | **Tür** (Type; required) | Miktar Sözleşmesi (Quantity Contract) or Değer Sözleşmesi (Value Contract). | | **Müşteri** (Customer; required) | Searched by code or name. | | **Satış Kanalı** (Sales Channel) | The contract can be called off only from a sales order in the same channel. The default channel is proposed. | | **Para Birimi** (Currency; required) | Only a sales order in the same currency can call off the contract; there is no currency conversion. | | **Geçerlilik Başlangıcı** · **Bitiş** (Valid From · To; required) | The sales order date must fall within this range. | | **Hedef Tutar (net)** (Target Amount, net) | Only for a value contract. | | **Kalemler** (Items) | Products are selected with **Ürün ekle** (Add product); each line has **Birim** (Unit), **Hedef Miktar** (Target Quantity; for a value contract "Hedef Miktar (ops.)" — Target Quantity, optional) and **Birim Fiyat (net)** (Unit Price, net). | | **Not** (Note) | Optional. | **Taslağı Kaydet** (Save Draft) saves the contract as **Taslak** (Draft) and opens its details; to allow call-offs, it is put into effect from the details. For the steps, see [Create a sales contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma). ## Contract details ![Sales contract detail — released, call-offs](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-detay.png) 1. Status: Released — call-offs allowed 2. Called off — from approved orders 3. Remaining target 4. Call-off orders 5. Close — remainder no longer callable - Header: **Durum** (Status), **Tür** (Type), **Müşteri** (Customer), **Satış Kanalı** (Sales Channel), **Geçerlilik** (Validity), for a value contract the **Hedef / Çağrılan / Kalan** (Target / Called Off / Remaining) amount, **Hazırlayan** (Prepared By), **Not** (Note) and, if closed, **Kapanış** (Closure). - **Kalemler** (Items): **Ürün** (Product), **Birim Fiyat** (Unit Price), **Hedef** (Target), **Çağrılan** (Called Off), **Kalan** (Remaining). - **Çağrı Siparişleri** (Call-Off Orders): the approved sales orders that call off the contract — **Sipariş** (Sales Order), **Tarih** (Date), **Durum** (Status), **Ürün** (Product), **Miktar** (Quantity), **Tutar (net)** (Amount, net). If there are no call-offs, it shows "Henüz çağrı yok — satış siparişinin satırında sözleşmeyi seçin." (No call-offs yet — select the contract on the sales order line.) > **How the called-off quantity is counted** Only contract-linked lines of sales orders in **Onaylandı** (Approved) status are counted; draft and cancelled sales orders are not counted. For a closed sales order or line, only the shipped quantity is counted. ## Call-off order In the line details of a sales order, the **Sözleşme** (Contract) field appears only if a valid contract exists for the line's product and unit. Details: [Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis). ## Related - [Create a sales contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma) - [Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis) - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) --- # Create open deliveries > Collectively create open outbound deliveries from sales order lines that are due for delivery; the goods issue is posted later. URL: https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Giden Teslimat Oluştur (Logistics Management › Outbound Delivery › Create Outbound Delivery) - **Screen route:** `/erp/sales/shipments/new` - **Required permission:** `erp-sales-shipments.create` - **Prerequisites:** - The sales orders of the lines to be delivered are in **Onaylandı** (Approved) status. ## Steps 1. Open the **Lojistik Yönetimi › Giden Teslimat › Giden Teslimat Oluştur** (Logistics Management › Outbound Delivery › Create Outbound Delivery) screen. 2. Enter the **Vadesi gelen (en geç)** (Due by, latest) date; the sales order lines to be delivered up to this date are listed. If necessary, filter by sales order or customer with **Ara** (Search). 3. Check the lines to be included in the delivery; change the **Teslimat Miktarı** (Delivery Quantity) if necessary. 4. Select the **Depo** (Warehouse); if necessary, enter the **Planlanan sevk tarihi** (Planned shipping date) and a **Not** (Note). 5. Click **Teslimat Oluştur** (Create Delivery). ![Create Outbound Delivery — due items](https://erpdocs.corexlogic.com/en/en/img/screens/satis/giden-teslimat-olustur.png) 1. Due by — items to deliver up to this date 2. Select the item to deliver 3. Warehouse 4. Create Delivery — opens an open delivery **Result:** The selected lines are grouped by recipient, address and shipping method; each group becomes an **Açık** (Open) delivery. The lines are reserved on the sales order; stock is not yet reduced. Next step: [post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme). ## What you need to know - The list shows only the quantity that **can be delivered**: ordered − shipped − in open deliveries. - Before the goods issue, an open delivery can be cancelled with **Teslimatı İptal Et** (Cancel Delivery); the lines return to the sales order. - Picking and packing (handling units) can be performed on an open delivery; packing is not a prerequisite for the goods issue. ## Related - [Delivery and goods issue screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) - [Create a delivery from a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma) (single-step path) --- # Return requests > Agree on quantity and reason with the customer before the goods come back — request, approval or rejection, return from the request and closure. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri A return request is opened when a customer wants to send goods back, to agree on the quantity and the reason **before the goods come back**. The request is a **decision document: it does not touch stock.** Once approved, the return is received from this request and cannot exceed the requested quantity. A request is not mandatory — when the goods arrive, a return can also be received directly from the delivery: [Sales returns](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri). A request originates from a delivery: there is no "Create" entry in the menu. A new request is opened with **İade Talebi Aç** (Open Return Request) on the details of a delivery whose goods issue has been posted — for the steps, see [Open a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma). End-to-end example: [Sales return](https://erpdocs.corexlogic.com/en/surecler/satis-iadesi). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › İade Yönetimi › İade Talepleri (Sales › Returns Management › Return Requests) - **Screen route:** `/erp/sales/return-requests` - **Required permission:** `erp-sales-return-requests.view (görme) · .create (talep açma, iptal, kapatma) · .approve (onay, red)`, `erp-sales-returns.create (onaylı talepten İade Al)` ## Request list ![Return Requests list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talepleri.png) 1. Request number 2. Approver's queue: Awaiting Approval 3. Source delivery 4. Requester — cannot approve Columns: **Talep No** (Request No.), **Durum** (Status), **Talep Tarihi** (Request Date), **Müşteri** (Customer), **Kanal** (Channel), **Teslimat No** (Delivery No.), **Neden** (Reason), **Açan** (Opened By), **Kalem** (Items). The row's action menu contains **İade Talebini Aç** (Open Return Request) (and **Geçmiş** — History — for authorized users). Approval and rejection are not given in the list but on the request details. Filters: **Ara** (Search; request, delivery or sales order no., or customer) and **Durum** (Status; Tüm durumlar — All statuses — or a single status). The default view shows all requests; for the approver's queue, select **Durum: Onay Bekliyor** (Status: Pending Approval). ## Statuses | Status | Meaning | Next step | |---|---|---| | **Onay Bekliyor** (Pending Approval) | Opened, awaiting a decision. | **Onayla** (Approve) · **Reddet** (Reject) (approver) · **İptal Et** (Cancel) (requester permission) | | **Onaylandı** (Approved) | The return can be received from this request. | **İade Al** (Receive Return) · **Kapat** (Close) | | **Reddedildi** (Rejected) | Rejected with a reason. Final status. | — | | **Kapandı** (Closed) | The entire request has come back, or the remainder is no longer expected. Final status. | — | | **İptal Edildi** (Cancelled) | Withdrawn before a decision was made. Final status. | — | When all items of the request have been received as returns, the request automatically becomes **Kapandı** (Closed). If a return received from the request is reversed, the quantity goes back to the request; a request that closed automatically becomes **Onaylandı** (Approved) again, while a request that was closed manually with a reason stays closed. ## Request details ![Return request detail — awaiting approval](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-detay.png) 1. Status 2. Approve — someone other than the requester 3. Reject — with a reason 4. Segregation of duties 5. Quantity returned against the request - **Talep Bilgileri** (Request Information): **Talep Tarihi** (Request Date), **Neden** (Reason), **Satış Kanalı** (Sales Channel), **Teslimat** (Delivery; link), **Sipariş** (Sales Order), **Açan** (Opened By), **Karar** (Decision; the decision maker and time), **Açıklama** (Description), **Gerekçe** (Reason). - **Kalemler** (Items): **Ürün** (Product), **Lot** (Batch), **Talep** (Requested), **Dönen** (Returned; received as a return from this request), **Kalan** (Remaining). - **Talepten Doğan İadeler** (Returns from This Request): the return documents received from the request; a reversed return shows "geri alındı" (reversed). ### Buttons | Button | Visible when | Dialog and result | |---|---|---| | **İade Al** (Receive Return) | Onaylandı (Approved) + `erp-sales-returns.create` | Opens the return form linked to the request: only the request's items, up to the request's remaining quantity. | | **Onayla** (Approve) | Onay Bekliyor (Pending Approval) + `.approve` | The request becomes **Onaylandı** (Approved). For the person who opened the request, the button is disabled and shows "Kendi açtığınız talebi onaylayamazsınız; kararı başka bir yetkili verir." (You cannot approve a request you opened yourself; another authorized user makes the decision.) | | **Reddet** (Reject) | Onay Bekliyor (Pending Approval) + `.approve` | **Talebi Reddet** (Reject Request) dialog, **Red gerekçesi** (Rejection reason) required → **Reddedildi** (Rejected). | | **İptal Et** (Cancel) | Onay Bekliyor (Pending Approval) + `.create` | **Talebi İptal Et** (Cancel Request) dialog, **İptal gerekçesi** (Cancellation reason) required → **İptal Edildi** (Cancelled). | | **Kapat** (Close) | Onaylandı (Approved) + `.create` | **Talebi Kapat** (Close Request) dialog, **Kapatma gerekçesi (kalan artık beklenmiyor)** (Closing reason — the remainder is no longer expected) required → **Kapandı** (Closed). | **Onayla** (Approve) is saved without opening a dialog. On an approved request (demo: IT-2026-000001, decided by **Demo Onaylayıcı**), the **Karar** (Decision) field shows the decision maker and time; the buttons become **İade Al** (Receive Return) and **Kapat** (Close). ![Approved return request — Receive Return and Close](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-onaylandi.png) 1. Status 2. Receive Return — form linked to the request 3. Close — remainder not expected, with a reason 4. Who decided and when **İade Al** (Receive Return) opens the delivery's **Yeni Satış İadesi** (New Sales Return) form linked to the request (`/erp/sales/shipments/{id}/returns/new?requestId={id}`). The top of the form reads "IT-2026-000001 onaylı iade talebinden — yalnız talebin kalemleri, talebin kalanı kadar." (From approved return request IT-2026-000001 — only the request's items, up to the request's remaining quantity.); the line's **İade edilebilir** (Returnable) quantity is the request's remaining quantity (12 in the example). A delivery line that is not in the request shows **İade edilebilir: 0** (Returnable: 0) with "Tamamı iade edilmiş ya da geri alınmış — bu satırdan yeni iade alınamaz." (Fully returned or reversed — no new return can be received from this line.) below it. ![New Sales Return — from an approved request](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al-talepten.png) 1. Request link — only its items, up to the remainder 2. Line with nothing left to return 3. Return this line 4. Return quantity — up to the request remainder 5. Stock status — e.g. Quarantine 6. Save — stock increases at once > **Segregation of duties** The person who opened a request cannot approve it; there is no exception, not even for an administrator. Server message: "Kendi açtığınız iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli." (You cannot approve a return request you opened yourself. Another authorized user must make the decision.) Rejecting and cancelling your own request is allowed. ## Related - [Open a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma) - [Approve or reject a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama) - [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma) - [Sales returns](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri) --- # Post a goods issue > Post the goods issue for an open outbound delivery — storage location, stock status, lot and serial number allocation; stock is reduced in this step. URL: https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme - **Type:** Task - **Module:** Sales - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar (Logistics Management › Outbound Delivery › Deliveries) › delivery details - **Screen route:** `/erp/sales/shipments/{id}/goods-issue` - **Required permission:** `erp-sales-shipments.create` - **Prerequisites:** - The delivery is in **Açık** (Open) status ([create open deliveries](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma)). - The products are in available stock in the delivery's warehouse. ## Steps 1. In the **Lojistik Yönetimi › Giden Teslimat › Teslimatlar** (Logistics Management › Outbound Delivery › Deliveries) list, click the number of the open delivery. 2. In the delivery details, click **Mal Çıkışını Kaydet** (Post Goods Issue). ![Open delivery — awaiting goods issue](https://erpdocs.corexlogic.com/en/en/img/screens/satis/acik-teslimat.png) 1. Status: Open — items reserved on the order 2. Post Goods Issue 3. Cancel Delivery — before goods issue 4. Packing — optional 3. Change the **Mal çıkışı tarihi** (Goods issue date) if necessary; the default is the planned shipping date. 4. For each line, enter the storage location, stock status and quantity with **Dağılım Ekle** (Add Allocation); for a lot- or serial-managed product, select the lot or the serial numbers. The total of each line must equal the delivery quantity. 5. Click **Mal Çıkışını Kaydet** (Post Goods Issue). ![Post Goods Issue — physical allocation](https://erpdocs.corexlogic.com/en/en/img/screens/satis/mal-cikisi.png) 1. Goods issue date — stock is reduced on this date 2. Allocation — location, status, lot or serial 3. Post Goods Issue **Result:** Stock is reduced on the goods issue date, and the delivery moves to **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status and can no longer be changed. The **Sevk Edilen** (Shipped) quantity of the sales order increases; the delivery appears in **Faturalanmamış Teslimatlar** (Unbilled Deliveries). ## What you need to know - A **credit check** is performed for the customer at goods issue. If there is a credit block, an authorized user can release it with **Krediyi Serbest Bırak** (Release Credit). - When the signed delivery note is returned, record it in the delivery details with **Alındı Teyidi Kaydet** (Record Proof of Delivery). ## Related - [Delivery and goods issue screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) --- # Sales returns > Receiving goods returned by the customer into stock — return from a delivery, return without a delivery, warehouse, stock status, batch/serial number and reversal. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri A sales return states "the goods were shipped, the customer received them and sent them back". The document is a **single step**: it is posted when the goods arrive at the warehouse and **enters stock at the same time** — there is no draft, and a posted return cannot be changed. The goods enter the selected warehouse, storage location and **stock status** (e.g. Karantina — Quarantine); the sales order remains **shipped**. There are two ways: | Way | From where | When | |---|---|---| | **Teslimattan iade** (Return from delivery) | **İade Al** (Receive Return) on the delivery details or **İade Al** on an approved return request | Shipped goods have come back. The goods enter stock at the cost at which they left with the delivery. | | **Teslimatsız iade** (Return without delivery) | **Teslimatsız İade** (Return Without Delivery) in this list | A return whose delivery is not in the system (e.g. goods brought back by hand without a delivery note). The customer and products are selected manually. | > **Difference between a return and a delivery correction** A **Teslimat Düzeltmesi** (Delivery Correction) states "the posting was wrong": it puts the goods back where they came from, in the status they left in, and reverses the shipped quantity of the sales order. A **return**, on the other hand, accepts that the delivery took place; the sales order remains shipped. Both reduce the "returnable" quantity of the same delivery line. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › İade Yönetimi › Satış İadeleri (Sales › Returns Management › Sales Returns) - **Screen route:** `/erp/sales/returns` - **Required permission:** `erp-sales-returns.view (görme) · .create (teslimattan iade, geri alma)`, `erp-sales-free-returns.create (teslimatsız iade)` ## Return list ![Sales Returns list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/satis-iadeleri.png) 1. Return without Delivery 2. Type — from delivery / without delivery 3. Source delivery 4. Return reason Columns: **İade No** (Return No.; a reversed return carries the "Geri alındı" — Reversed — label), **İade Tarihi** (Return Date), **Müşteri** (Customer), **Kanal** (Channel), **Teslimat No** (Delivery No.; "Teslimatsız" — Without delivery — for a return without a delivery), **Sipariş No** (Sales Order No.), **Neden** (Reason), **Kalem** (Items). The row's action menu contains **İadeyi Aç** (Open Return). Filters: **Ara** (Search; return, delivery or sales order no., or customer), **Neden** (Reason; inactive reasons are listed with the "· pasif" — inactive — marker), **Tür** (Type; Tümü — All · Teslimattan — From delivery · Teslimatsız — Without delivery), **İade tarihi** (Return date) range. ## Return from delivery form ![New Sales Return — return from delivery](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al.png) 1. Return reason 2. Return this line 3. Return quantity — up to the returnable 4. Receiving warehouse and location 5. Stock status — e.g. Quarantine 6. Save — stock increases at once The header shows the delivery no., delivery date, sales order no. and customer. If opened from an approved request, the line "IT-2026-000001 onaylı iade talebinden — yalnız talebin kalemleri, talebin kalanı kadar." (From approved return request IT-2026-000001 — only the request's items, up to the request's remaining quantity.) is shown (the number is an example). - **İade Bilgisi** (Return Information): **İade Tarihi** (Return Date; required, cannot be earlier than the delivery date), **İade Nedeni** (Return Reason; required; for a reason that requires a description, such as "Diğer" — Other — **Açıklama** (Description) is required), **Açıklama** (Description). - Each delivery line is a separate section: shipped quantity, returnable quantity, batch and "Çıktığı durum" (Status it left in). Select the line with **Bu satırı iade al** (Return this line); then: - **İade Miktarı** (Return Quantity) — at most the returnable quantity ("Kalanı doldur" — Fill remaining — enters the entire remainder), - **Giriş Deposu** (Receiving Warehouse; required), **Lokasyon** (Storage Location; required in a warehouse with storage location tracking; otherwise "Lokasyonsuz" — No storage location — can be selected), **Stok Durumu** (Stock Status; required), - on a serial-number-tracked line, select the **Geri Gelen Seriler** (Returned Serial Numbers); the quantity must equal the number of serial numbers. - Bottom bar: the number of selected lines ("1 satır iade alınacak" — 1 line will be returned) and **İadeyi Kaydet ve Stoğa Al** (Save Return and Receive into Stock). A line that has been fully returned or reversed with a correction shows "Tamamı iade edilmiş ya da geri alınmış — bu satırdan yeni iade alınamaz." (Fully returned or reversed — no new return can be received from this line.) ## Return without delivery form ![New Return without Delivery form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimatsiz-iade.png) 1. Customer — active customer cards 2. Currency — price proposal in this currency 3. Add Item — serial-tracked items not listed - **İade Bilgisi** (Return Information): **Müşteri** (Customer; active customer master records; **Müşteri Seç** — Select Customer), **Para Birimi** (Currency; the price proposal is searched in this currency, no currency conversion), **Satış Kanalı** (Sales Channel; the price proposal comes from the channel's list), **İade Tarihi** (Return Date), **İade Nedeni** (Return Reason), **Açıklama** (Description). - **Kalem Ekle** (Add Item): each selected master record becomes a separate line. Serial-number-tracked products are not in the list — they are returned from the delivery. - On the line: **Birim** (Unit), **Miktar** (Quantity), **Birim Fiyat** (Unit Price; a proposal is provided; **Öneriyi uygula** — Apply proposal), **İskonto %** (Discount %), **KDV** (VAT), for a batch-tracked product **Lot No** (Batch No.; "Tanımlı değilse bu iadeyle açılır." — If not defined, it is created with this return.), **Giriş Deposu** (Receiving Warehouse), **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status), **Birim Maliyet** (Unit Cost) and **Maliyet Para Birimi** (Cost Currency). - If **Birim Maliyet** (Unit Cost) is left empty, the cost is assumed from the stock average and marked with ~ in reports. The unit cost can be entered only with the permission to view stock costs. For the steps, see [Receive a return without a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimatsiz-iade). ## Return details ![Sales return detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-detay.png) 1. Receiving warehouse / location 2. Stock status received into 3. Returned lot or serial 4. Reverse Return — for a wrong entry - Header: return no., customer, **İade Tutarı** (Return Amount); **Çıktı** (Output) and **İadeyi Geri Al** (Reverse Return). - **İade Bilgileri** (Return Information): **İade Tarihi** (Return Date), **Neden** (Reason), **Satış Kanalı** (Sales Channel), **İade Talebi** (Return Request; if received from a request), **Teslimat** (Delivery; for a return without a delivery, "Teslimatsız iade · Müşteri ve ürünler elle seçildi" — Return without delivery · Customer and products selected manually), **Sipariş** (Sales Order), **Kaydeden** (Posted By), **Açıklama** (Description). - **Kalemler** (Items): **Ürün** (Product), **Miktar** (Quantity), **Birim Fiyat** (Unit Price), **Giriş Deposu** (Receiving Warehouse), **Stok Durumu** (Stock Status), **Lot / Seri** (Batch / Serial Number), **Net Tutar** (Net Amount), **Toplam** (Total). A line without a delivery whose cost was not entered carries the **Maliyet varsayıldı** (Cost assumed) label. - Totals: **Net**, **KDV** (VAT), **İade Tutarı** (Return Amount) — an approximate amount calculated from the sales order price for a return from a delivery, and from the return price for a return without a delivery. The invoicing side of the return is in Finance. ### Reversing a return A return posted by mistake is not deleted; the **İadeyi Geri Al** (Reverse Return) dialog (**İade geri alınsın mı?** — Reverse the return?) opens: > Stok girişi bugünün tarihiyle tersine çevrilir; iade belgesi silinmez, geri alınmış olarak kalır ve > mal yeniden iade alınabilir. Faturalanmış iade geri alınamaz; geri gelen mal satıldıysa ya da > kullanıldıysa geri alma reddedilir. Geri alma geri alınamaz. > > (The stock receipt is reversed with today's date; the return document is not deleted, it remains as reversed and the > goods can be returned again. An invoiced return cannot be reversed; if the returned goods have been sold or used, the > reversal is rejected. A reversal cannot be undone.) **Geri Alma Gerekçesi** (Reversal Reason) is required. A reversed return shows "Bu iade geri alındı — stok girişi tersine çevrildi." (This return has been reversed — the stock receipt was reversed.) Server messages: | Message | Meaning | |---|---| | "Bu iade zaten geri alınmış." | This return has already been reversed. | | "İade faturalanmış (fatura, fatura referansı ya da gelen iade faturası bağlı) — geri almadan önce o bağı kaldırın." | The return has been invoiced (an invoice, invoice reference or incoming return invoice is linked) — remove that link before reversing. | ## Return section on the delivery details ![Delivery detail — return actions and return history](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-iade-dugmeleri.png) 1. Returns only after goods issue 2. Open Return Request — agree first 3. Receive Return — goods arrived 4. Returns taken from this delivery On a delivery whose goods issue has been posted, the **İade Talebi Aç** (Open Return Request) and **İade Al** (Receive Return) buttons are shown (they are not available on an open or cancelled delivery). The **İade Geçmişi** (Return History) section lists the returns received from this delivery. ## Related - [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma) - [Receive a return without a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimatsiz-iade) - [Return requests](https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri) - [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat) --- # Enter an invoice reference > Record the invoice number on deliveries whose invoice was issued outside CoreX (in an accounting program or the e-Invoice portal). URL: https://erpdocs.corexlogic.com/en/satis/islemler/fatura-referansi-girme - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Faturalama › Faturalanmamış Teslimatlar (Sales › Billing › Unbilled Deliveries) - **Screen route:** `/erp/sales/unbilled-shipments` - **Required permission:** `erp-invoicing-references.create` - **Prerequisites:** - The goods issue for the delivery has been posted. - The invoice has been issued outside the system, and you have its number and date. Installations that issue invoices in an accounting program or the e-Invoice portal use this path. If CoreX issues the invoice (e-Document enabled), [create an invoice from the delivery](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma) instead. ## Steps 1. Open the **Satış › Faturalama › Faturalanmamış Teslimatlar** (Sales › Billing › Unbilled Deliveries) screen. 2. Check the deliveries that have been invoiced. For a collective invoice, select all deliveries of the same invoice together. 3. Click **Fatura Referansı Gir** (Enter Invoice Reference). ![Unbilled Deliveries](https://erpdocs.corexlogic.com/en/en/img/screens/satis/faturalanmamis.png) 1. Select the deliveries to invoice 2. Invoice deadline — 7 days after delivery 3. Enter Invoice Reference — trace of an externally issued invoice 4. Enter the **Fatura No** (Invoice No.) and the **Fatura Tarihi** (Invoice Date). **Fatura Tutarı** (Invoice Amount) and **KDV Tutarı** (VAT Amount) are optional; if they are entered, **Para Birimi** (Currency) is required. 5. Click **Kaydet** (Save). ![Enter Invoice Reference dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/fatura-referansi.png) 1. Invoice number — the same number may cover several deliveries 2. Invoice date 3. Amount and VAT — optional, a mismatch does not block 4. Save — the delivery is marked as invoiced **Result:** The selected deliveries are marked as invoiced and removed from the **Faturalanmamış Teslimatlar** (Unbilled Deliveries) list. A reference is not an invoice: no tax is calculated and nothing is posted to the customer account — the financial record is kept in the program that issued the invoice. ## What you need to know - An invoice is expected within **7 days** after the delivery. Deliveries whose **Fatura Son Günü** (Invoice Due Date) has passed are shown in the list with a warning; they can be isolated with the **Yalnız 7 günü geçenler** (Only those older than 7 days) filter. - Saving is **not blocked** even if the amount does not match the document's calculation; the source of truth is the platform that issued the invoice. - For an export transaction, the **Gümrük Beyannamesi** (Customs Declaration) number and date are entered together. ## Related - [Billing screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) --- # Rebate agreements > End-of-period sales volume or quantity rebate with a customer — scales, scope, accrual to date and settlement. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-anlasmalari A rebate agreement (sales volume rebate) defines the rebate payable to a customer during or at the end of a period, based on the amount or quantity of goods purchased in that period. The rebate does not change the sales order price; it **accrues** over the period and becomes a credit memo request through **settlement**. - **Rebate basis** = **delivery net** in the period − **returns** (at the sales order price, after discounts). - **Scales are retroactive**: when the basis reaches a threshold, that threshold's rate is applied to **the entire basis**. If no threshold is reached, there is no rebate. An agreement is master data; it is not deleted and is closed by the final settlement. Settlements: [Rebate settlements](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-hesaplasmalari). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Prim Anlaşmaları (Sales › Master Data › Rebate Agreements) - **Screen route:** `/erp/sales/rebate-agreements` - **Required permission:** `erp-sales-rebates.view (görme) · .create (anlaşma, hesaplaşma) · .edit (düzenleme, hesaplaşma iptali)` ## Agreement list — accrual report ![Rebate Agreements — accrual report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-anlasmalari.png) 1. New Rebate Agreement 2. Accrued — as of today 3. Settled — requested credits 4. Open = accrued − settled The list is also the accrual report. Columns: **Anlaşma No** (Agreement No.), **Ad** (Name), **Müşteri** (Customer), **Dönem** (Period), **Esas** (Basis; the rebate basis), **Oran** (Rate; the scale reached), **Tahakkuk** (Accrual), **Hesaplaşılan** (Settled), **Açık** (Open; accrual − settled), **Durum** (Status). If the open amount becomes negative, it is shown in red (returns have reduced the accrual below the settled amount). Filters: **Ara** (Search; number, name or customer) and **Durum** (Status; Tümü — All · Açık — Open · Kapandı — Closed). ## Statuses | Status | Meaning | |---|---| | **Açık** (Open) | Accrual is ongoing; the agreement can be edited and settled. | | **Kapandı** (Closed) | The final settlement has been made. It cannot be changed ("Kapanmış prim anlaşması değiştirilemez." — A closed rebate agreement cannot be changed.). It is reopened if the final settlement is cancelled. | ## New rebate agreement ![New Rebate Agreement — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-anlasmasi-olustur.png) 1. Basis — value (amount) or quantity 2. Tier threshold 3. Rebate rate 4. Add Tier 5. Scope — empty means all products 6. Create | Field | Description | |---|---| | **Ad** (Name; required) | E.g. "2026 yıllık ciro primi" (2026 annual sales volume rebate). At most 128 characters. | | **Para Birimi** (Currency; required) | The basis is calculated from deliveries in this currency. | | **Müşteri** (Customer; required) | The rebate recipient. | | **Esas** (Basis) | **Değer (tutar)** (Value — amount): the threshold is an amount, the rate is a percentage. **Miktar** (Quantity): the threshold is a quantity in the base unit, the rebate is an amount per unit. | | **Başlangıç** · **Bitiş** (Start · End; required) | The sales volume period. | | **Oran Kademeleri** (Rate Scales) | Add lines with **Kademe Ekle** (Add Scale); each line has **Esas eşiği** (Basis threshold) / **Miktar eşiği** (Quantity threshold) and **Prim oranı** (Rebate rate) / **Birim başına prim** (Rebate per unit). At least one and at most 20 scales; each threshold only once. | | **Kapsam** (Scope) | Products added with **Ürün Ekle** (Add Product); if empty, "Bütün ürünler — müşterinin bütün teslimatları esasa girer." (All products — all of the customer's deliveries are included in the basis.) For a quantity basis, the scope is required and the products must have the same base unit. | | **Not** (Note) | Optional. | On an agreement that has settlements, the customer, currency and basis cannot be changed. ## Agreement details ![Rebate agreement detail — accrual](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-anlasmasi-detay.png) 1. Settle — credit memo request 2. Rebate basis = delivered net − returns 3. Accrued rebate 4. Rate tiers - Header: **Ad** (Name), **Durum** (Status), **Müşteri** (Customer), **Dönem** (Period), **Para Birimi** (Currency), **Kapsam** (Scope), **Esas** (Basis), **Kayıt** (Record), **Not** (Note). - **Tahakkuk · 02.11.2026 itibarıyla** (Accrual · as of 02.11.2026; today's date) — to date: **Teslimat neti** (Delivery net), **İadeler** (Returns), **Prim esası** (Rebate basis), **Oran** (Rate), **Tahakkuk eden** (Accrued), **Hesaplaşılan** (Settled), **Açık** (Open). If the period has not started, it shows "dönem henüz başlamadı" (the period has not started yet). - **Oran Kademeleri** (Rate Scales; "Ulaşılan en yüksek eşiğin oranı esasın tamamına uygulanır." — The rate of the highest threshold reached is applied to the entire basis.), **Kapsam** (Scope) and the **Hesaplaşmalar** (Settlements) table (**Talep No** — Request No., **Tarih** — Date, **Esas sonu** — Basis end, **Tutar** — Amount, **Durum** — Status). Buttons: **Hesaplaş** (Settle; open agreement, `.create`) and **Düzenle** (Edit; open agreement, `.edit`). For the steps, see [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma). > **Example** **PRA-2026-000001** — M-0004 Trakya Et, 01.10.2026–31.12.2026, scales 0 TRY → 1%, 50.000 TRY → 2%, 150.000 TRY → 3%. Delivery net 93.100,00 TRY, returns −2.940,00 TRY, rebate basis 90.160,00 TRY; scale reached 2%, accrual 1.803,20 TRY. ## Related - [Create a rebate agreement](https://erpdocs.corexlogic.com/en/satis/islemler/prim-anlasmasi-olusturma) - [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma) - [Rebate settlements](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-hesaplasmalari) --- # Create an invoice from a delivery > In an installation with e-Document enabled, create an outgoing e-Invoice / e-Archive invoice from deliveries whose goods issue has been posted, finalize it and send it to the Turkish Revenue Administration (GİB). URL: https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Faturalama › Faturalanmamış Teslimatlar (Sales › Billing › Unbilled Deliveries) - **Screen route:** `/erp/sales/unbilled-shipments` - **Required permission:** `erp-invoicing-invoices.create`, `erp-invoicing-invoices.finalize` - **Prerequisites:** - **e-Document is enabled** in the installation (Yönetim › e-Belge Ayarları — Administration › e-Document Settings). If it is disabled, the **Fatura Oluştur** (Create Invoice) button is not displayed; an [invoice reference](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-referansi-girme) is entered instead. - The goods issue for the delivery has been posted. > **Screenshots** The screenshots for this page will be added from a demo installation with e-Document enabled. ## Steps 1. Open the **Satış › Faturalama › Faturalanmamış Teslimatlar** (Sales › Billing › Unbilled Deliveries) screen; **Belge türü** (Document type) must be **Teslimat** (Delivery). 2. Check the deliveries to be invoiced and click **Fatura Oluştur** (Create Invoice). 3. In the draft invoice, check the date, note, exchange rate and the exemption / withholding code of the lines; if you made changes, click **Kaydet** (Save). Price, discount and VAT come from the sales order and cannot be changed here. 4. Click **Kesinleştir** (Finalize). A finalized invoice is frozen: the parties, the channel (e-Invoice or e-Archive) and the totals no longer change. 5. Click **GİB'e Gönder** (Send to GİB). The transmission is queued; the integrator's result appears on the screen automatically. **Result:** The invoice is transmitted to the Turkish Revenue Administration (GİB) through the integrator; its status is tracked in the **Satış › Faturalama › Giden e-Faturalar** (Sales › Billing › Outgoing e-Invoices) list. The delivery is removed from **Faturalanmamış Teslimatlar** (Unbilled Deliveries), and the invoice is posted to the customer account. ## What you need to know - **Finalizing is not sending.** **Kesinleştir** (Finalize) freezes the invoice; transmission to GİB is a separate step. - **Kesinleştir** (Finalize) cannot be clicked while there are unsaved changes — click **Kaydet** (Save) first. - A draft invoice can be deleted with **Taslağı Sil** (Delete Draft); the delivery becomes unbilled again. - If transmission fails, the button changes to **Yeniden Gönder** (Resend) — or **Aynı Numarayla Yeniden Gönder** (Resend with Same Number) if a number has already been assigned. ## Related - [Billing screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama) - [Enter an invoice reference](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-referansi-girme) --- # Rebate settlements > The settlements of a rebate agreement — each one a credit memo request to the customer; partial and final settlement, PDF and cancellation. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-hesaplasmalari Each rebate settlement deducts the previous settlements from the rebate accrued to date and opens a **credit memo request** for the remaining amount. The settlement document is a snapshot of the rebate calculation; the credit memo itself and its accounting are in Finance. A settlement originates from **Hesaplaş** (Settle) on the rebate agreement details: there is no "Create" entry in the menu. For the steps, see [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Faturalama › Prim Hesaplaşmaları (Sales › Billing › Rebate Settlements) - **Screen route:** `/erp/sales/rebate-settlements` - **Required permission:** `erp-sales-rebates.view (görme) · .create (hesaplaşma) · .edit (iptal)` ## Settlement list ![Rebate Settlements list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-hesaplasmalari.png) 1. Credit memo request number 2. Requested amount 3. Interim / final settlement Columns: **Talep No** (Request No.), **Tarih** (Date), **Prim Anlaşması** (Rebate Agreement; link), **Müşteri** (Customer), **Esas sonu** (Basis end; the last day for which the basis was calculated), **Talep Tutarı** (Request Amount), **Tür** (Type; Ara hesaplaşma — Partial settlement · Son hesaplaşma — Final settlement), **Durum** (Status). Filters: **Ara** (Search; request no., agreement no. or customer) and **Durum** (Status; Tümü — All · Talep Edildi — Requested · İptal — Cancelled). ## Types | Type | When | Effect | |---|---|---| | **Ara hesaplaşma (dönem içinde)** (Partial settlement — within the period) | Within the agreement period, as many times as needed | The agreement stays open. | | **Son hesaplaşma (dönem bittikten sonra — anlaşmayı kapatır)** (Final settlement — after the period ends; closes the agreement) | Only after the period has ended | The agreement becomes **Kapandı** (Closed). | ## Statuses | Status | Meaning | |---|---| | **Talep Edildi** (Requested) | The credit memo request has been opened. | | **İptal** (Cancelled) | The settlement and its request have been cancelled; the amount is requested again in the next settlement. | ## Settlement details (credit memo request) ![Credit memo request — rebate settlement detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-hesaplasmasi-detay.png) 1. Status 2. Download PDF — request document 3. Basis by product 4. Cancel — latest settlement only - Header: **Durum** (Status), **Tür** (Type), **Talep tarihi** (Request date), **Esas dönemi** (Basis period), **Prim anlaşması** (Rebate agreement), **Müşteri** (Customer), **Para Birimi** (Currency), **Kaydeden** (Posted By), **Alacak dekontu** (Credit memo; the number of the request opened), **Not** (Note) and, if cancelled, **İptal** (Cancellation). - **Esas Dökümü** (Basis Breakdown): per product, **Teslimat Neti** (Delivery Net), **İade** (Return), **Prim Esası** (Rebate Basis) (for a quantity basis, also **Teslim Miktarı** — Delivered Quantity — and **İade Miktarı** — Returned Quantity). - **Prim Hesabı** (Rebate Calculation): **Teslimat neti** (Delivery net), **İadeler** (Returns), **Prim esası** (Rebate basis), **Prim oranı** (Rebate rate) (for a quantity basis, **Birim başına prim** — Rebate per unit), **Tahakkuk eden prim** (Accrued rebate), **Önceki hesaplaşmalar** (Previous settlements), **Talep edilen alacak** (Credit requested). | Button | What it does | |---|---| | **PDF İndir** (Download PDF) | Downloads the credit memo request document. The document reads "Bu belge prim hesaplaşmasından üretilmiş alacak dekontu TALEBİDİR; mali belge değildir." (This document is a credit memo REQUEST generated from a rebate settlement; it is not a financial document.) | | **İptal Et** (Cancel) | Only on the agreement's **most recent** active settlement and with the `.edit` permission. **Hesaplaşmayı İptal Et** (Cancel Settlement) dialog, **Gerekçe** (Reason) required. | The description in the cancellation dialog: - For a partial settlement: "Alacak dekontu talebi (onaylanmışsa dekont) iptal edilir; tutar sonraki hesaplaşmada yeniden talep edilir." (The credit memo request — or the credit memo, if approved — is cancelled; the amount is requested again in the next settlement.) - For a final settlement: "Son hesaplaşmanın iptali anlaşmayı yeniden açar; alacak dekontu talebi (onaylanmışsa dekont) da iptal edilir." (Cancelling the final settlement reopens the agreement; the credit memo request — or the credit memo, if approved — is also cancelled.) If you try to cancel an older settlement: "Yalnız anlaşmanın en son hesaplaşması iptal edilebilir; önce sonrakini iptal edin." (Only the agreement's most recent settlement can be cancelled; cancel the later one first.) > **Example** **PHS-2026-000001** — partial settlement of agreement PRA-2026-000001, basis period 01.10.2026–02.11.2026, credit requested 1.803,20 TRY, credit memo request opened ADK-2026-000001. ## Related - [Rebate agreements](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-anlasmalari) - [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma) --- # Complete a service (service confirmation) > Enter the completed quantity for a service line of an approved sales order — the service confirmation is the source of the invoice; stock does not change. URL: https://erpdocs.corexlogic.com/en/satis/islemler/hizmeti-tamamlama - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Satış Siparişleri (Sales › Sales Orders) › sales order details › Hizmeti Tamamla (Complete Service) - **Screen route:** `/erp/sales/orders/{id}` - **Required permission:** `erp-sales-service-confirmations.create` - **Prerequisites:** - The sales order is in **Onaylandı** (Approved) status and has not been closed. - The sales order has a **hizmet** (service) line, or a third-party line, with an open quantity. A service line is fulfilled by a confirmation, not by a delivery. In the example, 10 of the 16 hours of assembly on sales order **SS-2026-000016**, created for **M-0010 Bursa Otomotiv Yan Sanayi Parça A.Ş.**, were completed; after the confirmation the line shows **Tamamlanan 10 SAAT** (Completed 10 HOURS) and **Kalan 6 SAAT** (Open 6 HOURS). ## Steps 1. Open the details of the approved sales order and click **Hizmeti Tamamla** (Complete Service) in the header. 2. In the **Tamamlanan** (Completed) cell of each line, enter the quantity covered by this confirmation. The cell is prefilled with the line's open quantity; reduce it for a partial confirmation. A line left empty or at 0 is not included in the confirmation. ![Complete Service dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/hizmeti-tamamla.png) 1. Remaining quantity of the line 2. Completed quantity — prefilled with the remainder 3. Completion date 4. Confirm — posts the confirmation 3. Enter the **Tamamlanma tarihi** (Completion date) — it cannot be earlier than the order date — and optionally a **Not** (Note). 4. Click **Teyit Et** (Confirm). 5. Open the confirmation from the **Hizmet Teyitleri** (Service Confirmations) section at the bottom of the sales order details, or from the **Satış › Sipariş Yönetimi › Hizmet Teyitleri** (Sales › Order Management › Service Confirmations) list. ![Service confirmation detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/hizmet-teyidi-detay.png) 1. Status 2. Create Invoice — outgoing invoice draft 3. Cancel — only while not invoiced 4. Confirmed quantity **Result:** The confirmation is created with number **HT-yyyy-nnnnnn** in **Kaydedildi** (Posted) status; no stock movement is posted. If an open quantity remains, **Hizmeti Tamamla** (Complete Service) can be used again. The invoice is created as a draft with **Fatura Oluştur** (Create Invoice) in the confirmation details — see [Service confirmations](https://erpdocs.corexlogic.com/en/satis/ekranlar/hizmet-teyitleri). ## What you need to know - **Hizmeti Tamamla** (Complete Service) is shown only when all of the following apply: the sales order is **Onaylandı** (Approved), it is not closed, it has a service or third-party line with an open quantity, and you have the `erp-sales-service-confirmations.create` permission. - The dialog shows the **Kalan** (Open) and **Teyit edilebilir** (Confirmable) columns side by side. On a service line the two are the same; on a third-party line the confirmable quantity equals the direct shipment confirmed by the supplier. - Validations in the dialog: "Tamamlanma tarihi zorunludur." (Completion date is required.), "En az bir hizmet satırına miktar girin." (Enter a quantity on at least one service line.), "10. satır: miktar kalanı aşıyor (kalan 6 SAAT)." (Line 10: quantity exceeds the open quantity (open 6 HOURS).) — the line number and open quantity are examples — and, on a third-party line, "… satır: miktar tedarikçinin teyit ettiği miktarı aşıyor (teyit edilebilir …)." (Line …: quantity exceeds the quantity confirmed by the supplier (confirmable …).) - Server messages: "Hizmet teyidi sipariş tarihinden önce olamaz." (The service confirmation cannot be earlier than the order date.), "Sipariş bu arada değişti; formu yenileyip tekrar deneyin." (The order changed in the meantime; refresh the form and try again.) If no open quantity remains, the dialog shows "Bu siparişte tamamlanacak hizmet satırı kalmadı." (No service lines left to complete on this order.) - If a confirmation is wrong, reverse it with **İptal Et** (Cancel) in the confirmation details (a reason is required). An invoiced confirmation cannot be cancelled. ## Related - [Service confirmations screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/hizmet-teyitleri) - [Approve a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) --- # Campaigns > A campaign price or a discount on the list price for a period — customer and channel scope, minimum quantity threshold, price proposal on the sales order. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/kampanyalar A campaign defines, for a period, a **fixed campaign price** or a **discount percentage on the list price** for an item. On the sales order, the price proposal is searched in this order: **customer-specific price → campaign → price list**; the first one found is applied, and the steps are not stacked. A campaign is proposed only for a sales order in its own currency, within the period and for a customer in scope. Other screens of price master data: [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri). - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Kampanyalar (Sales › Master Data › Campaigns) - **Screen route:** `/erp/sales/campaigns` - **Required permission:** `erp-sales-campaigns.view (görme) · .create (oluşturma) · .edit (düzenleme)` ## Campaign list ![Campaigns list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kampanyalar.png) 1. New Campaign 2. Only those valid today 3. Scope — customer and channel 4. Valid · Out of period · Inactive Columns: **Kod** (Code), **Ad** (Name), **Dönem** (Period), **Para** (Currency), **Kapsam** (Scope; customer · channel; if both are empty, "Tüm müşteriler" — All customers), **Kalem** (Items), **Durum** (Status). Filters: **Ara** (Search; code or name), **Durum** (Status; Tümü — All · Aktif — Active · Pasif — Inactive) and **Dönem › Yalnız geçerli** (Period › Valid only; those valid today). | Status | Meaning | |---|---| | **Geçerli** (Valid) | Active and today is within the period — proposed on sales orders. | | **Dönem dışı** (Out of period) | Active, but the period has not started yet or has ended. | | **Pasif** (Inactive) | Stopped; not proposed. | ## New campaign ![New Campaign — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kampanya-olustur.png) 1. Code — proposed from the name 2. Period 3. Customer — empty = all customers 4. Form — price or discount % 5. Minimum quantity — threshold 6. Create | Field | Description | |---|---| | **Ad** (Name; required) | E.g. "Ekim yedek parça kampanyası" (October spare parts campaign). | | **Kod** (Code; required) | "Addan önerilir; üzerine yazabilirsiniz." (Proposed from the name; you can overwrite it.) Converted to upper case; shown as the price source on the sales order. | | **Başlangıç** · **Bitiş** (Start · End; required) | The campaign period — the sales order date must fall within this range. | | **Para Birimi** (Currency) | Applied only to sales orders in this currency. | | **Müşteri** (Customer) | "Boş = bütün müşteriler. Müşteriye özel kampanya genel kampanyadan önce gelir." (Empty = all customers. A customer-specific campaign takes precedence over a general campaign.) | | **Satış Kanalı** (Sales Channel) | If empty, **Tüm kanallar** (All channels). | | **Durum** (Status) | Toggle: **Aktif** (Active) when on, **Pasif** (Inactive) when off. | | **Kalemler** (Items) | Multiple selection from the **Kalem Ekle** (Add Item) dialog (only sellable master records that are usable today). On each line: **Biçim** (Type; **Fiyat** — Price — or **İskonto %** — Discount %), **Değer** (Value) and **En Az Miktar** (Minimum Quantity; if empty, "Eşik yok" — No threshold). | | **Not** (Note) | Optional. | The form's rule: "Fiyat ve en az miktar kartın temel biriminde. Yüzde, müşterinin fiyat listesindeki fiyatın üzerinden uygulanır — listede fiyatı yoksa kampanya o satıra uygulanmaz. Aynı ürün farklı eşikle birden çok satırda olabilir." (The price and minimum quantity are in the item's base unit. The percentage is applied to the price in the customer's price list — if the list has no price, the campaign is not applied to that line. The same product can appear on several lines with different thresholds.) A campaign cannot be deleted — to stop it, set it to **Pasif** (Inactive). For the steps, see [Create a campaign](https://erpdocs.corexlogic.com/en/satis/islemler/kampanya-olusturma). ## Campaign details ![Campaign detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kampanya-detay.png) 1. Status — valid today 2. Campaign price or % off list 3. Threshold — in base unit Header: **Ad** (Name), **Durum** (Status), **Dönem** (Period), **Para Birimi** (Currency), **Müşteri** (Customer), **Satış Kanalı** (Sales Channel), **Kapsam** (Scope), **Kayıt** (Record), **Not** (Note). Item table: **Ürün** (Product), **Kampanya** (Campaign; the price or "%10 (liste üzerinden)" — 10% on the list price), **En Az Miktar (temel birim)** (Minimum Quantity, base unit). **Düzenle** (Edit) is visible with the `.edit` permission. ## Campaigns on the sales order On a line where a campaign is applied, the source is shown below the unit price, e.g. "Kampanya KASIM26: 255" (Campaign KASIM26: 255). In the example, the **KASIM26** campaign is specific to **M-0005 Ege Zeytinyağı ve Gıda San. A.Ş.**: 255 TRY for 50 units and above on MAM-0008, and 10% on the list price on MAM-0009. ## Related - [Create a campaign](https://erpdocs.corexlogic.com/en/satis/islemler/kampanya-olusturma) - [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) - [Condition records](https://erpdocs.corexlogic.com/en/satis/ekranlar/kondisyon-kayitlari) --- # Create a sales contract > Save the item prices and targets agreed with the customer as a draft contract and put it into effect. URL: https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Sözleşmesi Oluştur (Sales › Order Management › Create Sales Contract) - **Screen route:** `/erp/sales/contracts/new` - **Required permission:** `erp-sales-contracts.create`, `erp-sales-contracts.edit` - **Prerequisites:** - The customer is an **Aktif** (Active) business partner. - The contract items are active, sellable items that do not require configuration. Example: a one-year cleaning products agreement with **M-0019 Lara Kıyı Otelcilik ve Turizm A.Ş.** — a target of 2,000 units at 235.00 TRY for liquid detergent, and a target of 3,000 units at 90.00 TRY for surface cleaner. ## Steps 1. Open **Satış › Sipariş Yönetimi › Satış Sözleşmesi Oluştur** (Sales › Order Management › Create Sales Contract). 2. Select the **Tür** (Type): **Miktar Sözleşmesi** (Quantity Contract) for a target quantity per item, or **Değer Sözleşmesi** (Value Contract) for a total amount target. 3. In the **Müşteri** (Customer) field, type the customer's code or name and select it from the list. Check the **Satış Kanalı** (Sales Channel) and **Para Birimi** (Currency). 4. Enter the **Geçerlilik Başlangıcı** (Valid From) and **Bitiş** (End) dates. For a value contract, **Hedef Tutar (net)** (Target Amount (net)) is also required. 5. In the **Ürün ekle** (Add item) field, type and select the item. On the line, enter the **Birim** (Unit), **Hedef Miktar** (Target Quantity) and **Birim Fiyat (net)** (Unit Price (net)). Repeat for each item. ![Create Sales Contract — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-olustur.png) 1. Type — quantity or value contract 2. Validity range 3. Add product 4. Target quantity — call-offs cannot exceed it 5. Contract price — copied to the order 6. Save Draft 6. Click **Taslağı Kaydet** (Save Draft). 7. In the details, click **Yürürlüğe Al** (Put into Effect). ![Sales contract detail — released, call-offs](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-detay.png) 1. Status: Released — call-offs allowed 2. Called off — from approved orders 3. Remaining target 4. Call-off orders 5. Close — remainder no longer callable **Result:** The contract becomes **Yürürlükte** (In Effect) with number **SSZ-yyyy-nnnnnn**. The customer's sales orders within the validity period, in the same currency and sales channel, can call off the contract: [Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis). ## What you need to know - A draft contract is changed with **Düzenle** (Edit); a contract in effect cannot be changed ("Yalnız taslak sözleşme düzenlenir." — Only a draft contract can be edited.). - Validations in the form: "Müşteriyi seçin." (Select the customer.), "Geçerlilik başlangıç ve bitişini seçin." (Select the validity start and end.), "Geçerlilik bitişi başlangıçtan önce olamaz." (The validity end cannot be before the start.), "Sözleşme en az bir kalem ister." (The contract requires at least one item.), "Değer sözleşmesinde hedef tutar sıfırdan büyük olmalı." (In a value contract, the target amount must be greater than zero.) In a quantity contract, an empty target quantity gives "…: miktar sözleşmesinde hedef miktar sıfırdan büyük olmalı." (…: in a quantity contract, the target quantity must be greater than zero.) The same item can appear only once with the same unit. - If the server rejects an item: "Sözleşme kalemi aktif, satılabilir ve somut (yapılandırma istemeyen) bir kart olmalı." (A contract item must be an active, sellable and concrete item (one that does not require configuration).) - A contract can have at most 200 items. ## Related - [Sales contracts screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-sozlesmeleri) - [Contract-based sales process](https://erpdocs.corexlogic.com/en/surecler/sozlesmeli-satis) --- # Condition records > Condition type × key → rate or amount — automatic determination of item discounts, freight and surcharges. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/kondisyon-kayitlari A condition record is a **rate or amount** for a **condition type**, bound to a specific **key** (customer, product, category, sales channel…). When a document is created, the type's **access sequence** searches the records from specific to general; the first matching record is applied: - A record of the **item discount** type flows into the line's price proposal (a percentage or an amount per unit). - A record of the **freight** and **surcharge** types flows into the document as a charge. A record is a price; it is managed with the price list permissions. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Kondisyon Kayıtları (Sales › Master Data › Condition Records) - **Screen route:** `/erp/sales/condition-records` - **Required permission:** `erp-sales-price-lists.view (görme) · .create (yeni kayıt) · .edit (düzenleme)` ## Record list ![Condition Records list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kondisyon-kayitlari.png) 1. New Condition Record — needs a type with an access sequence 2. Condition type filter 3. Key — customer, product, category… 4. Rate or amount Columns: **Tür** (Type), **Anahtar** (Key), **Kapsam** (Scope; the key's value: customer, product, category or "Her belge" — Every document), **Oran / Tutar** (Rate / Amount), **Eşik** (Threshold; `< tutar` — while the item net is below this amount), **Geçerlilik** (Validity; if empty, "Süresiz" — Unlimited), **Durum** (Status; Aktif — Active · Pasif — Inactive). The row's action menu contains **Düzenle** (Edit). Filters: **Kondisyon türü** (Condition type; Tüm türler — All types) and **Durum** (Status; Tümü — All · Aktif — Active · Pasif — Inactive). > **Precondition: access sequence** Records can be entered only for condition types that are not system types and **have an access sequence defined**. The access sequence is defined in **Yönetim › Özelleştirme › Satış › Kondisyon Türleri** (Administration › Customizing › Sales › Condition Types). If no type has an access sequence, **Yeni Kondisyon Kaydı** (New Condition Record) is disabled (tooltip: "Erişim sırası tanımlı kondisyon türü yok" — No condition type with an access sequence), and the empty list shows "Henüz kondisyon kaydı yok — önce kondisyon türüne erişim sırası tanımlayın." (No condition records yet — first define an access sequence for a condition type.) This is the case in the demo installation of the documentation environment. ## New Condition Record dialog The dialog's description: "Türün erişim sırası kaydı sırayla arar; ilk eşleşen uygulanır. Kalem iskontosu fiyat önerisine, navlun ve ek ücret belgeye iner." (The type's access sequence searches the records in order; the first match is applied. The item discount flows into the price proposal; freight and surcharges flow into the document.) | Field | Description | |---|---| | **Kondisyon türü** (Condition type; required) | Only types with an access sequence. Cannot be changed when editing ("Kaydın türü değişmez — başka bir kayıttır." — A record's type does not change; that would be a different record.). | | **Anahtar** (Key; required) | The keys in the type's access sequence, with their sequence numbers ("Numara erişim sırasındaki yeri — küçük numara önce aranır." — The number is its position in the access sequence; lower numbers are searched first.). | | **Müşteri** · **Ürün** · **Kategori** · **Satış kanalı** · **Sevk yöntemi** · **Satış organizasyonu** (Customer · Product · Category · Sales channel · Shipping method · Sales organization) | Only the fields required by the selected key are shown. A category also covers the products in its subcategories. | | **Yüzde** / **Birim başına tutar** / **Belge başına tutar** (Percentage / Amount per unit / Amount per document; required) | Depending on the type's calculation type: a percentage between 0 and 100; an amount greater than zero, with the amount per unit in the item's base unit. At most four decimal places. | | **Para birimi** (Currency) | Required for an amount-based type. "Yalnız bu para birimindeki belgeye uygulanır — kur çevrimi yok." (Applied only to documents in this currency — no currency conversion.) | | **Kalem neti eşiği** (Item net threshold) | Only for freight and surcharges. "Doluysa kalem neti bu tutarın ALTINDAYKEN uygulanır ("bu tutarın altına navlun")." (If filled, it is applied while the item net is BELOW this amount — "freight below this amount".) If empty, it applies at any amount. | | **Geçerlilik** · **Geçerlilik bitişi** (Valid from · Valid to) | "Boş = sınır yok. Belgenin tarihine göre değerlendirilir." (Empty = no limit. Evaluated against the document date.) | | **Durum** (Status) | Toggle: **Aktif** (Active) when on, **Pasif** (Inactive) when off. "Silme yok — pasif kayıt aranmaz." (No deletion — inactive records are not searched.) | ### Keys | Key | Item discount | Freight / surcharge | |---|---|---| | Customer × Product | ✓ | — | | Product | ✓ | — | | Customer × Category | ✓ | — | | Category | ✓ | — | | Customer | ✓ | ✓ | | Sales channel | ✓ | ✓ | | Shipping method | — | ✓ | | Sales organization | — | ✓ | | No key (every document) | ✓ | ✓ | The dialog's validations: | Message | Meaning | |---|---| | "Kondisyon türü seçin." | Select a condition type. | | "Anahtar kombinasyonu seçin." | Select a key combination. | | "Müşteri seçin." | Select a customer. | | "Oran/tutar sıfırdan büyük olmalı." | The rate/amount must be greater than zero. | | "Yüzde 0 ile 100 arasında olmalı." | The percentage must be between 0 and 100. | | "Tutarlı kayıt üç harfli para birimi ister." | An amount-based record requires a three-letter currency code. | | "Eşik sıfırdan büyük olmalı." | The threshold must be greater than zero. | | "Geçerlilik bitişi başlangıçtan önce olamaz." | The valid-to date cannot be earlier than the valid-from date. | ## Conditions on the sales order On a line where an item discount record is applied, the discount tooltip reads "Önerilen iskonto" (Proposed discount) ("Grup iskontosu" — Group discount — if there is no record); the breakdown of an amount discount is shown in the price tooltip. ## Related - [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) - [Campaigns](https://erpdocs.corexlogic.com/en/satis/ekranlar/kampanyalar) --- # Order from a contract (call-off order) > Link a sales order line to a sales contract in effect — the price comes from the contract and the target cannot be exceeded. URL: https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Sipariş Yönetimi › Satış Siparişi Oluştur (Sales › Order Management › Create Sales Order) › line details › Sözleşme (Contract) - **Screen route:** `/erp/sales/orders/new` - **Required permission:** `erp-sales-orders.create`, `erp-sales-orders.edit` - **Prerequisites:** - The customer has a sales contract in **Yürürlükte** (In Effect) status. - The sales order date is within the contract's validity period; the currency and sales channel are the same as the contract's. A call-off order is not a separate document type: a line of an ordinary sales order is linked to a contract item. The link is on the line — the same sales order can contain lines with and without a contract. ## Steps 1. In **Satış Siparişi Oluştur** (Create Sales Order), select the contract's customer. 2. On a line, type and select the contract item and enter the **Miktar** (Quantity). The unit must be the same as the unit in the contract. 3. Click the details button on the right of the line (**10. satır ayrıntısını göster** — Show line 10 details). 4. Select the contract in the **Sözleşme** (Contract) list. Each option shows the contract number, unit price and open quantity. ![Call-off order — contract selected on the line](https://erpdocs.corexlogic.com/en/en/img/screens/satis/cagri-siparisi.png) 1. Line details — expanded 2. Contract — number, price and remaining 3. Price from contract, no discount 5. Click **Siparişi Oluştur** (Create Order), then approve the sales order. **Result:** The approved sales order is added to the contract's **Çağrı Siparişleri** (Call-Off Orders) list; the item's **Çağrılan** (Called Off) quantity increases and **Kalan** (Open) decreases. Approval step: [Approve a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama). ## What you need to know - The **Sözleşme** (Contract) field appears only if, for the line's item and unit, the customer has a contract that is in effect, valid on the order date and in the sales order's channel. The **Sözleşmesiz** (No contract) option removes the link, and the price proposal comes from the price list again. - If you change the price or give a line discount on a contract line, saving is rejected. If the line's item or unit changes, the contract link is dropped. - The called-off quantity is counted only from **approved** sales orders; a draft sales order does not consume the contract. The target check is performed at save time, including this sales order. - A free-of-charge item cannot be called off from a contract. ## Server rejection messages | Message | English | Cause | |---|---|---| | "MAM-0008: SSZ-2026-000001 hedefi 2000 ADET — çağrılan 2200." | MAM-0008: SSZ-2026-000001 target 2000 PCS — called off 2200. | Approved call-offs together with this sales order exceed the quantity target. | | "SSZ-… hedef tutarı … TRY — çağrılan …." | SSZ-… target amount … TRY — called off …. | The target amount of a value contract is exceeded. | | "SSZ-… yürürlükte değil — çağrı yapılamaz." | SSZ-… is not in effect — it cannot be called off. | The contract is a draft, closed or cancelled. | | "SSZ-… sipariş gününde geçerli değil." | SSZ-… is not valid on the order date. | The sales order date is outside the validity period. | | "SSZ-… TRY para biriminde — sipariş EUR." | SSZ-… is in TRY — the sales order is in EUR. | The currency is different. | | "SSZ-… başka bir satış kanalının sözleşmesi." | SSZ-… is a contract of another sales channel. | The sales order's channel is different. | | "MAM-0008: fiyat sözleşmeden gelir (235 TRY, satır iskontosu yok)." | MAM-0008: the price comes from the contract (235 TRY, no line discount). | The price or discount on the line was changed manually. | When saving is rejected, the bottom of the form reads "Kayıt yapılamadı — sunucunun yanıtı eylem şeridinin üstünde." (Could not save — the server's response is above the action bar.); the message is shown directly above the action bar. ## Related - [Sales contracts screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-sozlesmeleri) - [Create a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparis-olusturma) - [Contract-based sales process](https://erpdocs.corexlogic.com/en/surecler/sozlesmeli-satis) --- # Sales reports (Analytics) > Sales by customer, product and sales rep, quotation win/loss, gross profit and open sales orders — what they show, filters, how to read them. URL: https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-raporlari The six reports under **Satış › Analitik** (Sales › Analytics) are calculated live from sales documents. Common rules: - **Dönem** (Period): if the date range is empty, the last **90 days** are used; above the result rows, the date used for filtering is shown in the form "Dönem: 04.08.2026 – 02.11.2026 (varsayılan 90 gün) · …" (Period: 04.08.2026 – 02.11.2026 — default 90 days · …). - The **Ara** (Search) box searches in codes and names; there is no customer, product or warehouse selector. - The **Kanal** (Channel) filter is available in every report. The **Satış Org.** (Sales Org.) and **Bölüm** (Division) filters appear only if the installation has more than one option. - Currencies are shown on separate rows; there is no currency conversion. Amounts are **sales order amounts, not invoice amounts**. - **Excel'e Aktar** (Export to Excel) downloads the filtered result. Filters are carried in the address; anyone you share the link with sees the same report. - **Type:** Screen - **Module:** Sales - **Menu path:** Satış › Analitik › Müşteri Bazında Satış · Ürün Bazında Satış · Temsilci Bazında Satış · Teklif Kazanma/Kaybetme · Brüt Kâr · Açık Satış Siparişleri (Sales › Analytics › Sales by Customer · Sales by Product · Sales by Sales Rep · Quotation Win/Loss · Gross Profit · Open Sales Orders) - **Screen route:** `/erp/sales/reports/customer-sales` - **Required permission:** `Müşteri / Ürün / Temsilci Bazında Satış: erp-sales-orders.view + satış fiyatını görme izni (ör. erp-sales-price-lists.view)`, `Teklif Kazanma/Kaybetme: erp-sales-quotations.view`, `Brüt Kâr: erp-sales-shipments.view + erp-inventory-costs.view + satış fiyatını görme izni`, `Açık Satış Siparişleri: erp-sales-orders.view (Kalan Net yalnız satış fiyatını görebilene)` ## Sales by customer ![Sales by Customer report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-musteri.png) 1. Period — last 90 days by default 2. Date range 3. Export to Excel — filtered result 4. Net — after discount "Who did we sell how much to?" — the after-discount amount of **approved** sales orders, per customer and currency. Draft and cancelled sales orders are not counted; manually closed sales orders are counted. The date is the **order date**. Columns: **Müşteri** (Customer), **Para Birimi** (Currency), **Ara Toplam** (Subtotal), **İskonto** (Discount), **Net**, **KDV** (VAT), **Brüt** (Gross), **Sipariş** (Orders; the number of sales orders), **Son Sipariş** (Last Order). The subtotal at the bottom shows net, gross, number of sales orders and number of rows. ## Sales by product ![Sales by Product report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-urun.png) 1. Period — last 90 days by default 2. Date range 3. Export to Excel — filtered result 4. Average net unit price The **quantity** sold on approved sales orders and the after-discount amount — per product, unit and currency. Columns: **Ürün** (Product), **Miktar** (Quantity), **Para Birimi** (Currency), **İskonto** (Discount), **Net**, **Brüt** (Gross), **Ort. Net Birim Fiyat** (Avg. Net Unit Price; net ÷ quantity), **Sipariş** (Orders). Search: product or customer. ## Sales by sales rep ![Sales by Sales Rep report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-temsilci.png) 1. Period — last 90 days by default 2. Date range 3. Export to Excel — filtered result 4. Number of the rep's customers The amount of approved sales orders per **sales representative** of the sales order and currency; sales orders without a sales representative are totalled on the **Atanmamış** (Unassigned) row. Columns: **Satış Temsilcisi** (Sales Rep), **Para Birimi** (Currency), **Ara Toplam** (Subtotal), **İskonto** (Discount), **Net**, **KDV** (VAT), **Brüt** (Gross), **Sipariş** (Orders), **Müşteri** (Customers; the number of distinct customers), **Son Sipariş** (Last Order). ## Quotation win/loss ![Quotation Win/Loss report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-teklif.png) 1. Grouping — rep, customer, loss reason 2. Period — last 90 days by default 3. Date range 4. Export to Excel — filtered result 5. Win % — closed quotations only "How many quotations did we submit, how many did we win, and why did we lose?" The date is the **quotation date**; the last revision of the quotation chain is counted, while drafts and older revisions are excluded. - **Gruplama** (Grouping): **Satış Temsilcisi** (Sales Rep), **Müşteri** (Customer) or **Kayıp Nedeni** (Loss Reason). - Columns: **Para Birimi** (Currency), **Teklif** (Quotations), **Kazanılan** (Won), **Kaybedilen** (Lost), **Açık** (Open), **Süresi Dolan** (Expired), **Kazanma %** (Win %), **Teklif Net** (Quotation Net), **Kazanılan Net** (Won Net), **Kaybedilen Net** (Lost Net). - **Kazanma %** (Win %) is calculated only from **closed** quotations (open quotations do not lower the rate). If there are no closed quotations, it shows "—". ## Gross profit ![Gross Profit report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-brut-kar.png) 1. Grouping — customer, product, month 2. Period — last 90 days by default 3. Date range 4. Export to Excel — filtered result 5. Cost — booked issue cost 6. Shipment and return line count "What did we earn on the goods we shipped?" Revenue is the **net sales** of the goods shipped (sales order price, after discounts); cost is the **issue cost** in the ledger. A delivery correction is deducted from the delivery, and a **return is entered as a negative on its own date**. The date is the **delivery date**. - **Gruplama** (Grouping): **Müşteri** (Customer), **Ürün** (Product) or **Ay** (Month). - Columns: **Net Satış** (Net Sales), **Maliyet** (Cost; in its own currency), **Brüt Kâr** (Gross Profit), **Marj %** (Margin %), **Sevk / İade** (Shipments / Returns; the number of shipment and return lines). - If the profit cannot be calculated, the reason is shown on the row: "… satırın maliyeti bilinmiyor" (the cost of … lines is unknown) or "Maliyet farklı para biriminde — kur çevrimi yok" (Cost is in a different currency — no currency conversion). - The subtotal at the bottom shows net sales, profit and margin. The report requires two permissions (reading deliveries and stock costs); a user without them cannot open the report at all. ## Open sales orders ![Open Sales Orders report](https://erpdocs.corexlogic.com/en/en/img/screens/satis/rapor-acik-siparis.png) 1. As of today — no date range 2. Delay — all open lines / overdue only 3. Quantity not shipped 4. Days since requested delivery "Which sales order lines have not been shipped, and how many days late are they?" At line level, **as of today**: the lines of approved, non-closed sales orders that have an open delivery quantity. There is no date range; the header shows the **Rapor tarihi** (Report date). The sort order is by requested delivery date, with undated lines last. A line reopened by a delivery correction is also shown here. - Filters: **Ara** (Search; sales order no., customer or product), **Gecikme** (Delay; **Tüm açık satırlar** — All open lines · **Yalnız gecikenler** — Late only), **Kanal** (Channel). - Columns: **Sipariş No** (Sales Order No.), **Müşteri** (Customer), **Ürün** (Product), **Sipariş** (Ordered; the order quantity), **Sevk Edilen** (Shipped), **Kalan** (Remaining), **Kalan Net** (Remaining Net; the amount of the remaining quantity after line and overall discounts), **İstenen Teslim** (Requested Delivery), **Yaş (gün)** (Age, days; from the order date to today), **Gecikme (gün)** (Delay, days; from the requested delivery date to today; "—" if not late). - The **Kalan Net** (Remaining Net) column, the totals bar and the Excel export are visible only to users who can view sales prices. The remaining quantity of a service line (hours awaiting confirmation) is also shown here. ## Related - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) - [Sales quotations](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri) - [Sales returns](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri) --- # Create a return request > Create a return request from a delivery with a posted goods issue, for the quantity and reason agreed with the customer before the goods come back. URL: https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma - **Type:** Task - **Module:** Sales - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar (Logistics Management › Outbound Delivery › Deliveries) › delivery details › İade Talebi Aç (Create Return Request) - **Screen route:** `/erp/sales/shipments/{id}/return-requests/new` - **Required permission:** `erp-sales-return-requests.create` - **Prerequisites:** - The delivery is in **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status. - A delivery line has a quantity that can be returned (shipped − corrections − returns). A return request is used to agree on "how many units will come back, and why" before the goods arrive at the warehouse. A request is not mandatory; if the goods have already arrived, you can [receive the return directly against the delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma). ## Steps 1. Open the delivery details and click **İade Talebi Aç** (Create Return Request). ![Delivery detail — return actions and return history](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-iade-dugmeleri.png) 1. Returns only after goods issue 2. Open Return Request — agree first 3. Receive Return — goods arrived 4. Returns taken from this delivery 2. Check the **Talep Tarihi** (Request Date) — it cannot be earlier than the delivery date — and select the **İade Nedeni** (Return Reason). 3. In **Açıklama** (Description), describe the problem reported by the customer. It is required for reasons that ask for a description, such as "Diğer" (Other). 4. In the **Kalemler** (Items) table, enter the quantity in the **Talep** (Requested) cell of the line to be returned. The **Dönebilir** (Returnable) column shows the maximum quantity that can be entered. ![New Return Request form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-olustur.png) 1. Return reason 2. Returnable — shipped − reversed − returned 3. Requested quantity 4. Open Request — stock unchanged 5. Click **Talebi Aç** (Create Request). ![Return request detail — awaiting approval](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-detay.png) 1. Status 2. Approve — someone other than the requester 3. Reject — with a reason 4. Segregation of duties 5. Quantity returned against the request **Result:** The request is created with number **IT-yyyy-nnnnnn** in **Onay Bekliyor** (Awaiting Approval) status; stock does not change. The decision is made by an authorized user other than the requester: [Approve or reject a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama). ## What you need to know - The bottom of the form reads "Talebi açan kişi onu onaylayamaz — kararı başka bir yetkili verir." (The person who creates the request cannot approve it — another authorized user makes the decision.) - Validations in the form: "Talep tarihi zorunlu." (Request date is required.), "Talep tarihi teslimat tarihinden önce olamaz." (The request date cannot be earlier than the delivery date.), "İade nedenini seçin." (Select the return reason.), "En az bir satıra talep miktarı girin." (Enter a requested quantity on at least one line.), and on a line that exceeds the returnable quantity, a message such as "20. satır: talep (13) geri dönebilecek miktarı (12 ADET) aşıyor." (Line 20: the requested quantity (13) exceeds the returnable quantity (12 PCS).) — the numbers are examples. - If the entire delivery has been returned or reversed by a correction, the form shows "Talep edilebilecek satır yok — teslimatın tamamı iade edilmiş ya da düzeltmeyle geri alınmış." (No lines can be requested — the entire delivery has been returned or reversed by a correction.) - Return reasons are defined in **Yönetim › Özelleştirme › Satış › İade Nedenleri** (Administration › Customization › Sales › Return Reasons). - To withdraw a request before a decision is made, use **İptal Et** (Cancel) in the request details (a reason is required). ## Related - [Return requests screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri) - [Sales return process](https://erpdocs.corexlogic.com/en/surecler/satis-iadesi) --- # Approve or reject a return request > Decide on a return request awaiting approval — approve or reject with a reason; close an approved request. URL: https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama - **Type:** Task - **Module:** Sales - **Menu path:** Satış › İade Yönetimi › İade Talepleri (Sales › Returns Management › Return Requests) › request details - **Screen route:** `/erp/sales/return-requests/{id}` - **Required permission:** `erp-sales-return-requests.approve` - **Prerequisites:** - The request is in **Onay Bekliyor** (Awaiting Approval) status. - You did not create the request (the requester cannot approve it). ## Steps 1. Open **Satış › İade Yönetimi › İade Talepleri** (Sales › Returns Management › Return Requests); in the **Durum** (Status) filter, select **Onay Bekliyor** (Awaiting Approval). ![Return Requests list](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talepleri.png) 1. Request number 2. Approver's queue: Awaiting Approval 3. Source delivery 4. Requester — cannot approve 2. Click the request number to open the details; review the **Kalemler** (Items), the **Neden** (Reason) and the **Açıklama** (Description). ![Return request — approver’s view](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-onayci.png) 1. Status 2. Approve — someone other than the requester 3. Reject — with a reason 4. Requested · Returned · Remaining 3. If you accept the request, click **Onayla** (Approve). The approval is saved immediately, without a dialog. ![Approved return request — Receive Return and Close](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-onaylandi.png) 1. Status 2. Receive Return — form linked to the request 3. Close — remainder not expected, with a reason 4. Who decided and when 4. If you do not accept the request, click **Reddet** (Reject), enter the **Red gerekçesi** (Rejection reason) and click **Reddet** (Reject) in the dialog. **Result:** When the goods for an approved request arrive, the return is received with **İade Al** (Receive Return): [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma). A rejected request is in a final status and cannot be changed. ## What you need to know - Segregation of duties: for the person who created the request, the **Onayla** (Approve) button is disabled and the screen reads "Kendi açtığınız talebi onaylayamazsınız; kararı başka bir yetkili verir." (You cannot approve a request you created; another authorized user makes the decision.) The server also rejects it: "Kendi açtığınız iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli." (You cannot approve a return request you created. Another authorized user must make the decision.) There is no exception to this rule, not even for administrators. - A decision can only be made on a request in **Onay Bekliyor** (Awaiting Approval) status; otherwise the message "Talep karar beklemiyor." (The request is not awaiting a decision.) appears. - If the remaining quantity of an approved request is no longer expected, close it with **Kapat** (Close) — **Kapatma gerekçesi (kalan artık beklenmiyor)** (Closing reason (remaining quantity no longer expected)) is required. An approved request cannot be cancelled: "Yalnız karar bekleyen talep iptal edilebilir; onaylanmış talep kapatılır." (Only a request awaiting a decision can be cancelled; an approved request is closed.) - If someone else changed the request at the same time: "İade talebi siz bakarken değişti; sayfayı yenileyip yeniden deneyin." (The return request changed while you were viewing it; refresh the page and try again.) > **Demo example** IT-2026-000001 was created by Demo Kullanıcı; on that user's screen **Onayla** (Approve) is disabled. The request was approved by **Demo Onaylayıcı** (Sales Manager): the request became **Onaylandı** (Approved), the **Karar** (Decision) field recorded the approver and the time (02.11.2026 01:13), and the buttons changed to **İade Al** (Receive Return) and **Kapat** (Close). **İade Al** opens the **Yeni Satış İadesi** (New Sales Return) form with the line "IT-2026-000001 onaylı iade talebinden — yalnız talebin kalemleri, talebin kalanı kadar." (From approved return request IT-2026-000001 — only the request's items, up to the request's remaining quantity.): [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma). ![New Sales Return — from an approved request](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al-talepten.png) 1. Request link — only its items, up to the remainder 2. Line with nothing left to return 3. Return this line 4. Return quantity — up to the request remainder 5. Stock status — e.g. Quarantine 6. Save — stock increases at once ## Related - [Return requests screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri) - [Create a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma) --- # Receive a return against a delivery > Record goods returned by the customer after shipment — warehouse, storage location, stock status, batch and serial number; stock increases at the same time. URL: https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma - **Type:** Task - **Module:** Sales - **Menu path:** Lojistik Yönetimi › Giden Teslimat › Teslimatlar (Logistics Management › Outbound Delivery › Deliveries) › delivery details › İade Al (Receive Return) - **Screen route:** `/erp/sales/shipments/{id}/returns/new` - **Required permission:** `erp-sales-returns.create` - **Prerequisites:** - The delivery is in **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status and a line has a returnable quantity. - On the return request path, the return request is in **Onaylandı** (Approved) status. In the example, 12 units of **MAM-0008 Sıvı Deterjan 5 LT** from line 20 of delivery **SV-2026-000001** (batch **DET-2609-002**) were returned and received into **Mamul Deposu / RAF-M2** in **Karantina** (Quarantine) status. After the return, the stock of this batch shows 12 units; stock in quarantine status is not counted as **kullanılabilir** (available). ## Steps 1. When the goods arrive at the warehouse, click **İade Al** (Receive Return) in the delivery details. If there is an approved return request, use **İade Al** in the request details instead; the form then opens limited to the request's items and open quantity. 2. Check the **İade Tarihi** (Return Date) and select the **İade Nedeni** (Return Reason); enter an **Açıklama** (Description) if needed. 3. On the returned line, select the **Bu satırı iade al** (Return this line) check box and enter the **İade Miktarı** (Return Quantity). 4. Select the **Giriş Deposu** (Receiving Warehouse), **Lokasyon** (Storage Location) and **Stok Durumu** (Stock Status). For goods awaiting quality inspection, select a quarantine status. On a serial-tracked line, select the **Geri Gelen Seriler** (Returned Serial Numbers). ![New Sales Return — return from delivery](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al.png) 1. Return reason 2. Return this line 3. Return quantity — up to the returnable 4. Receiving warehouse and location 5. Stock status — e.g. Quarantine 6. Save — stock increases at once 5. Click **İadeyi Kaydet ve Stoğa Al** (Save Return and Receive into Stock). ![Sales return detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-detay.png) 1. Receiving warehouse / location 2. Stock status received into 3. Returned lot or serial 4. Reverse Return — for a wrong entry **Result:** The return is saved with number **SI-yyyy-nnnnnn** and the goods are received into the selected warehouse, storage location and stock status at the same time. The sales order remains shipped; the return is added to the delivery's **İade Geçmişi** (Return History) and to the return request's **Talepten Doğan İadeler** (Returns from This Request) list. The invoicing side of the return is handled in Finance. ## What you need to know - The goods are received into stock **at the cost at which they left** with the delivery. A saved return cannot be changed; if it is wrong, reverse it with **İadeyi Geri Al** (Reverse Return) in the return details. - Validations: "İade tarihi teslimat tarihinden önce olamaz." (The return date cannot be earlier than the delivery date.), "İade nedenini seçin." (Select the return reason.), "En az bir satırı iade için seçin." (Select at least one line for return.), "… satır: iade deposunu seçin." (Line …: select the return warehouse.), "… satır: stok durumunu seçin." (Line …: select the stock status.), and in a warehouse with storage location tracking, "'MAMUL' deposunda lokasyon zorunlu." (A storage location is required in warehouse 'MAMUL'.) — the warehouse code is an example. - On a serial-tracked line, the quantity must equal the number of selected serial numbers: "Seri takipli satırda miktar seri adedine eşit olmalıdır (seri: 1, miktar: 2)." (On a serial-tracked line, the quantity must equal the number of serial numbers (serial: 1, quantity: 2).) — the numbers are examples. - A return cannot be received from an unapproved request: "İade talebi henüz onaylanmadı; onaysız talepten iade alınamaz." (The return request has not been approved yet; a return cannot be received from an unapproved request.) For a closed request: "İade talebi kapalı; bu talepten iade alınamaz." (The return request is closed; no return can be received from this request.) - If the stock or the delivery changed at the same time: "Stok bu sırada başka bir işlemle değişti. Sayfayı yenileyip tekrar deneyin." (Stock was changed by another transaction in the meantime. Refresh the page and try again.) In this case, **İade bilgilerini yenile** (Refresh return data) refills the form with the current data. ## Related - [Sales returns screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri) - [Return requests](https://erpdocs.corexlogic.com/en/satis/ekranlar/iade-talepleri) - [Sales return process](https://erpdocs.corexlogic.com/en/surecler/satis-iadesi) --- # Receive a return without a delivery > Record a return that has no delivery in the system — the customer and items are selected manually, a price is proposed, and if no cost is entered it is assumed from the average. URL: https://erpdocs.corexlogic.com/en/satis/islemler/teslimatsiz-iade - **Type:** Task - **Module:** Sales - **Menu path:** Satış › İade Yönetimi › Satış İadeleri › Teslimatsız İade (Sales › Returns Management › Sales Returns › Return Without Delivery) - **Screen route:** `/erp/sales/returns/new` - **Required permission:** `erp-sales-free-returns.create` - **Prerequisites:** - The customer has an active customer master record. - The item is a stock item and is not serial-tracked (a serial-tracked item can only be returned against a delivery). A return without a delivery is for goods coming back that have no shipment record in the system (for example, the customer brought the goods to the warehouse by hand, without a delivery note). A return of shipped goods is always received against the delivery: [Receive a return against a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma). ## Steps 1. In the **Satış › İade Yönetimi › Satış İadeleri** (Sales › Returns Management › Sales Returns) list, click **Teslimatsız İade** (Return Without Delivery). ![New Return without Delivery form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimatsiz-iade.png) 1. Customer — active customer cards 2. Currency — price proposal in this currency 3. Add Item — serial-tracked items not listed 2. Select the customer with **Müşteri Seç** (Select Customer); check the **Para Birimi** (Currency) and **Satış Kanalı** (Sales Channel). 3. Enter the **İade Tarihi** (Return Date) and **İade Nedeni** (Return Reason); in **Açıklama** (Description), explain why the goods came back without a delivery note. 4. Select the items with **Kalem Ekle** (Add Item). On each line, enter the **Birim** (Unit), **Miktar** (Quantity), **Birim Fiyat** (Unit Price) — you can take the proposal with **Öneriyi uygula** (Apply proposal) — **İskonto %** (Discount %) and **KDV** (VAT). 5. Select the **Giriş Deposu** (Receiving Warehouse), **Lokasyon** (Storage Location) and **Stok Durumu** (Stock Status) into which the line is received; for a batch-tracked item, **Lot No** (Batch No.) is required. If you know the cost, enter the **Birim Maliyet** (Unit Cost). 6. Click **İadeyi Kaydet ve Stoğa Al** (Save Return and Receive into Stock). **Result:** A sales return with an empty delivery link is saved in the same **SI-yyyy-nnnnnn** number series, and the goods are received into stock. You can find it in the list with the **Tür: Teslimatsız** (Type: Without Delivery) filter. ## What you need to know - This transaction requires a separate permission (`erp-sales-free-returns.create`) because it increases stock without a source document. - The price proposal is looked up in the selected currency and in the channel's price list; no exchange rate conversion is applied. - If **Birim Maliyet** (Unit Cost) is empty, the cost is assumed from the stock average and marked with ~ in reports; in the details, the line shows the **Maliyet varsayıldı** (Cost assumed) label. The unit cost can only be entered with the permission to view stock costs. - For a batch-tracked item, if the entered batch is not defined, it is created with this return. - A return without a delivery has no header discount; discounts are given on the line. - Server messages: "'TIC-0005' seri takipli — seri numarası sevk edildiği teslimattan iade alınır (teslimat detayında İade Al). Teslimatsız iadede seri takipli ürün kabul edilmez." ('TIC-0005' is serial-tracked — the serial number is returned against the delivery it was shipped with (İade Al in the delivery details). A return without a delivery does not accept serial-tracked items.), "'HIZ-0001' stok ürünü değil — iadesi stoğa alınamaz." ('HIZ-0001' is not a stock item — its return cannot be received into stock.) — the item codes are examples. ## Related - [Sales returns screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-iadeleri) --- # Create a rebate agreement > Define a period-end sales volume rebate for a customer — basis, period, rate tiers and item scope. URL: https://erpdocs.corexlogic.com/en/satis/islemler/prim-anlasmasi-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Prim Anlaşmaları › Yeni Prim Anlaşması (Sales › Master Data › Rebate Agreements › New Rebate Agreement) - **Screen route:** `/erp/sales/rebate-agreements/new` - **Required permission:** `erp-sales-rebates.create` - **Prerequisites:** - The customer has an active customer master record. ## Steps 1. In **Satış › Ana Veriler › Prim Anlaşmaları** (Sales › Master Data › Rebate Agreements), click **Yeni Prim Anlaşması** (New Rebate Agreement). 2. Enter the **Ad** (Name), check the **Para Birimi** (Currency) and select the **Müşteri** (Customer). 3. Select the **Esas** (Basis): **Değer (tutar)** (Value (amount)) for a percentage rebate on the amount, or **Miktar** (Quantity) for a per-unit rebate on the quantity. 4. Enter the sales volume period with **Başlangıç** (Start) and **Bitiş** (End). 5. Enter the threshold and rate of the first tier; add further tiers with **Kademe Ekle** (Add Tier). ![New Rebate Agreement — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-anlasmasi-olustur.png) 1. Basis — value (amount) or quantity 2. Tier threshold 3. Rebate rate 4. Add Tier 5. Scope — empty means all products 6. Create 6. To limit the rebate to specific items, select the scope with **Ürün Ekle** (Add Item); if you leave it empty, all items are included in the basis. The scope is required for the quantity basis. 7. Click **Oluştur** (Create). ![Rebate agreement detail — accrual](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-anlasmasi-detay.png) 1. Settle — credit memo request 2. Rebate basis = delivered net − returns 3. Accrued rebate 4. Rate tiers **Result:** The agreement is saved with number **PRA-yyyy-nnnnnn** as **Açık** (Open), and the accrual is recalculated as of today each time it is opened. For payment, see [Settle a rebate](https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma). ## What you need to know - Tiers are retroactive: if the basis is 90,160 TRY, the highest threshold reached is 50,000 TRY, and 2% is applied to the entire basis (1,803.20 TRY). - Validations in the form: "Anlaşma adı zorunludur." (Agreement name is required.), "Primin muhatabı müşteriyi seçin." (Select the customer who receives the rebate.), "Anlaşmanın başlangıç ve bitiş gününü seçin." (Select the agreement's start and end day.), "Anlaşmanın bitişi başlangıcından önce olamaz." (The agreement end cannot be before its start.), "Anlaşma en az bir oran kademesi içermelidir." (The agreement must contain at least one rate tier.), and on a tier "1. kademe: prim oranı 0 ile 100 arasında olmalı." (Tier 1: the rebate rate must be between 0 and 100.) and "… aynı eşik bir kez tanımlanır." (… the same threshold can be defined only once.) - For the quantity basis: "Miktar esaslı primde kapsam zorunludur — miktar üründen ürüne toplanır (ürünler aynı temel birimde)." (The scope is required for a quantity-based rebate — the quantity is summed across items (the items have the same base unit of measure).) The scope dialog lists only sellable items. - The period can be entered retroactively; the basis is calculated from the delivery and return dates. - An agreement cannot be deleted. On an agreement that has settlements, the customer, currency and basis cannot be changed. ## Related - [Rebate agreements screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-anlasmalari) --- # Settle a rebate > Turn an accrued rebate into a credit memo request with a partial or final settlement. URL: https://erpdocs.corexlogic.com/en/satis/islemler/prim-hesaplasma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Prim Anlaşmaları (Sales › Master Data › Rebate Agreements) › agreement details › Hesaplaş (Settle) - **Screen route:** `/erp/sales/rebate-agreements/{id}` - **Required permission:** `erp-sales-rebates.create` - **Prerequisites:** - The rebate agreement is in **Açık** (Open) status and its period has started. - The accrued rebate is greater than the previous settlements. ## Steps 1. In the rebate agreement details, click **Hesaplaş** (Settle). 2. In the **Hesaplaşma** (Settlement) list, select the type: **Ara hesaplaşma (dönem içinde)** (Partial settlement (within the period)) if the period is still running, or **Son hesaplaşma (dönem bittikten sonra — anlaşmayı kapatır)** (Final settlement (after the period ends — closes the agreement)) if the period has ended. ![Settle dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satis/hesaplas.png) 1. Interim or final settlement 2. Requested credit = accrued − previous 3. Request Credit Memo 3. In the preview, check the **Prim esası** (Rebate basis), **Prim oranı** (Rebate rate), **Tahakkuk eden prim** (Accrued rebate), **Önceki hesaplaşmalar** (Previous settlements) and **Talep edilen alacak** (Requested credit); optionally enter a **Not** (Note). 4. Click **Alacak Dekontu Talep Et** (Request Credit Memo). ![Credit memo request — rebate settlement detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/prim-hesaplasmasi-detay.png) 1. Status 2. Download PDF — request document 3. Basis by product 4. Cancel — latest settlement only **Result:** The settlement is saved with number **PHS-yyyy-nnnnnn** in **Talep Edildi** (Requested) status, and a credit memo request is created for the amount; the agreement's **Hesaplaşılan** (Settled) amount increases. A final settlement sets the agreement to **Kapandı** (Closed). Approval and posting of the request are handled in Finance. ## What you need to know - The amount is not taken from the form; it is the **Talep edilen alacak** (Requested credit) in the server preview (accrued rebate − previous settlements). - If a settlement cannot be made, the button is disabled and the reason is shown in a yellow box in the dialog. The image above shows the dialog opened after PHS-2026-000001: because the entire accrual has been requested, it reads "Hesaplaşılacak prim tutarı yok." (There is no rebate amount to settle.) and **Alacak Dekontu Talep Et** (Request Credit Memo) is disabled. | Message | English | Cause | |---|---|---| | "Hesaplaşılacak prim tutarı yok." | There is no rebate amount to settle. | Previous settlements have taken the entire accrual. | | "Son hesaplaşma anlaşma dönemi bittikten sonra yapılır; dönem içinde ara hesaplaşma yapın." | A final settlement is made after the agreement period ends; make a partial settlement within the period. | A final settlement was selected while the period is still running. | | "Anlaşma dönemi henüz başlamadı." | The agreement period has not started yet. | The start date has not been reached. | | "Anlaşma son hesaplaşmayla kapandı." | The agreement was closed by the final settlement. | The agreement is closed. | | "Tahakkuk önceki hesaplaşmaların altında (… TRY) — iadeler primi azalttı. Borç dekontu kapsam dışı; son hesaplaşmayı iptal edip yeniden hesaplaşın." | The accrual is below the previous settlements (… TRY) — returns reduced the rebate. Debit memos are out of scope; cancel the last settlement and settle again. | Returns received after the settlement reduced the basis. | - If a settlement is wrong, reverse it with **İptal Et** (Cancel) in the settlement details; only the most recent settlement can be cancelled. ## Related - [Rebate settlements screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-hesaplasmalari) - [Rebate agreements screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/prim-anlasmalari) --- # Create a campaign > Define a campaign price or a discount off the price list for a period — code, period, scope and items. URL: https://erpdocs.corexlogic.com/en/satis/islemler/kampanya-olusturma - **Type:** Task - **Module:** Sales - **Menu path:** Satış › Ana Veriler › Kampanyalar › Yeni Kampanya (Sales › Master Data › Campaigns › New Campaign) - **Screen route:** `/erp/sales/campaigns/new` - **Required permission:** `erp-sales-campaigns.create` - **Prerequisites:** - For the percentage type, the item has a price in the customer's price list. ## Steps 1. In **Satış › Ana Veriler › Kampanyalar** (Sales › Master Data › Campaigns), click **Yeni Kampanya** (New Campaign). 2. Enter the **Ad** (Name); the **Kod** (Code) is suggested from the name — change it if you want. 3. Enter the **Başlangıç** (Start) and **Bitiş** (End) dates and the **Para Birimi** (Currency). 4. If the campaign is for a specific customer, select the **Müşteri** (Customer); if it is for a specific channel, select the **Satış Kanalı** (Sales Channel). If you leave them empty, the campaign applies to all customers and channels. 5. Click **Kalem Ekle** (Add Item), click the add buttons next to the items in the dialog and confirm with **… kalem ekle** (Add … items). 6. On each line, enter the **Biçim** (Type) — **Fiyat** (Price) or **İskonto %** (Discount %) — the **Değer** (Value) and, if needed, the **En Az Miktar** (Minimum Quantity). ![New Campaign — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kampanya-olustur.png) 1. Code — proposed from the name 2. Period 3. Customer — empty = all customers 4. Form — price or discount % 5. Minimum quantity — threshold 6. Create 7. Click **Oluştur** (Create). ![Campaign detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/kampanya-detay.png) 1. Status — valid today 2. Campaign price or % off list 3. Threshold — in base unit **Result:** The campaign is saved and, within its period, is proposed as the price on sales orders of the customers in scope in the same currency (if there is no special price). The line shows the source, such as "Kampanya KASIM26: 255" (Campaign KASIM26: 255). ## What you need to know - Validations in the form: "Kampanya kodu zorunludur." (Campaign code is required.), "Kampanya adı zorunludur." (Campaign name is required.), "Kampanyanın başlangıç ve bitiş gününü seçin." (Select the campaign's start and end day.), "Kampanyanın bitişi başlangıcından önce olamaz." (The campaign end cannot be before its start.), "Kampanya en az bir kalem içermelidir." (The campaign must contain at least one item.), and on a line "…: iskonto yüzdesi 0 ile 100 arasında olmalı." (…: the discount percentage must be between 0 and 100.), "…: en az miktar sıfırdan büyük olmalı." (…: the minimum quantity must be greater than zero.) and "…: aynı ürün aynı eşikle kampanyada bir kez yer alır." (…: the same item can appear only once in the campaign with the same threshold.) - The price and the minimum quantity are in the item's base unit of measure. A percentage is applied to the price in the customer's price list; if the list has no price, the campaign is not applied to that line. - A customer-specific campaign takes precedence over a general campaign. A customer special price always takes precedence over a campaign. - A campaign cannot be deleted; to stop it, edit it and turn off the **Durum** (Status) switch (**Pasif** — Inactive). ## Related - [Campaigns screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/kampanyalar) --- # Inventory Management > The Inventory Management module — product master data, warehouses and storage locations, goods movements, stock balance, batches and serial numbers, physical inventory, quality and inventory reports. URL: https://erpdocs.corexlogic.com/en/stok Inventory Management records how much of an item is in the warehouse, where it is, and in what condition. Stock is a **ledger**: every change is added as a **stock movement**, and a posted record is never changed afterwards; corrections are made with a new movement in the opposite direction or with a correction document. Balance screens are read-only. End-to-end processes: [Physical inventory](https://erpdocs.corexlogic.com/en/surecler/stok-sayimi) · [Batch and serial number tracking](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme). ## Key concepts | Concept | Meaning | |---|---| | **Ürün kartı** (Product master record) | The master data of the material: type, base unit, tracking type (batch / serial number), quality inspection requirement, min/max stock. **Ana Veriler › Ürünler › Ürün Ana Verileri** (Master Data › Products › Product Master Data). | | **Depo** (Warehouse) and **lokasyon** (storage location) | Stock is kept per warehouse; within a warehouse, a storage location (bin, shelf, area) is optional or mandatory depending on the warehouse setting. Warehouses belong to a **tesis** (plant). | | **Stok durumu** (Stock status) | The physical condition (segment) of the stock: Sıfır (New), İkinci El (Used), Tamir Edilmiş (Repaired), Yenilenmiş (Refurbished), Karantina (Quarantine), Reddedildi (Rejected). The same item can carry stock in several statuses in the same warehouse. Statuses flagged as **Karantina** (Quarantine) are blocked for shipment, consumption and transfer. | | **Lot** (Batch) and **seri** (serial number) | For a batch-managed item, each batch carries a batch number, a production date and an expiry date (SKT); for a serial-managed item, each unit has its own number. | | **Mevcut · Rezerve · Kullanılabilir** (On Hand · Reserved · Available) | On Hand is the physical quantity; Reserved is the quantity allocated to a document; Available = On Hand − Reserved. | | **Dondurma** (Freeze) | No movement can be posted for items within the scope of an open physical inventory count until the count is posted or cancelled. | | **İkinci imza** (Second signature) | The person who entered quantities in a count cannot post the difference; the person who put goods into quarantine cannot make the quality decision; the person who created a reservation cannot withdraw against it (unless they have the permission for movements without a reference document). | ## Tasks - [Create a product master record](https://erpdocs.corexlogic.com/en/stok/islemler/urun-karti-olusturma) — Type, unit, tracking, quality inspection, min/max. - [Define units and barcodes](https://erpdocs.corexlogic.com/en/stok/islemler/birim-ve-barkod-tanimlama) — Carton/box conversion, adding and generating barcodes. - [Post a goods receipt](https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma) — Receipt without a reference document; batch, expiry date and serial number. - [Post a goods issue](https://erpdocs.corexlogic.com/en/stok/islemler/mal-cikisi-yapma) — Issue without a reference document; FEFO batch selection. - [Post a stock transfer](https://erpdocs.corexlogic.com/en/stok/islemler/stok-transferi-yapma) — Single step between warehouses or storage locations. - [Change the stock status](https://erpdocs.corexlogic.com/en/stok/islemler/stok-durumu-degistirme) — Segment change such as New → Used. - [Create a reservation](https://erpdocs.corexlogic.com/en/stok/islemler/rezervasyon-olusturma) — Announce material to be withdrawn from the warehouse in advance, and withdraw it. - [Create a transfer order](https://erpdocs.corexlogic.com/en/stok/islemler/transfer-siparisi-olusturma) — Two-step transfer: shipment, stock in transit, arrival. - [Open a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/stok-sayimi-acma) — Scope selection and freeze. - [Enter count results](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma) — Counted quantity, found items, serial number count, completion. - [Post the count difference](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme) — Posting the difference to the ledger with a second signature, recount, cancellation. - [Change the batch status](https://erpdocs.corexlogic.com/en/stok/islemler/lot-durumu-degistirme) — Block a batch and remove the block. - [Make a quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme) — Release or reject goods in quarantine. - [Trace a batch or serial number](https://erpdocs.corexlogic.com/en/stok/islemler/lot-izleme) — Where a batch came from and where it went. - [Post a stock adjustment](https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma) — Increase/decrease with a reason code, scrap, reversal. ## Menu map In the menu, the module is under **Stok Yönetimi** (Inventory Management); the product master record is under **Ana Veriler** (Master Data), and warehouse and inventory settings are under **Yönetim › Özelleştirme** (Administration › Customization). | Section | Screen | Description | |---|---|---| | Ana Veriler › Ürünler (Master Data › Products) | Ürün Ana Verileri · Ürün Aktarımı · Üreticiler (Product Master Data · Product Import · Manufacturers) | [Product master data](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri) | | Ana Veriler › Sınıflandırma (Master Data › Classification) | Sınıflandırmalar · Özellikler · Varyant Tabloları (Classifications · Characteristics · Variant Tables) | [Product master data](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri#siniflandirma) | | Yönetim › Özelleştirme › Kuruluş Yapısı (Administration › Customization › Organizational Structure) | Tesisler · Depolar (Plants · Warehouses) | [Warehouses and plants](https://erpdocs.corexlogic.com/en/stok/ekranlar/depolar) | | Yönetim › Özelleştirme › Stok · Malzeme (Administration › Customization › Inventory · Material) | Stok Durumları · Hareket Nedenleri · Seri ve Lot Numarası Profilleri · Malzeme Durumları · Ürün Türleri · Ölçü Birimleri (Stock Statuses · Movement Reasons · Serial and Batch Number Profiles · Material Statuses · Product Types · Units of Measure) | [Inventory settings](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari) | | Mal Hareketleri (Goods Movements) | Stok Hareketleri · Mal Girişi · Mal Çıkışı · Stok Transferi · Stok Durumu Değişimi (Stock Movements · Goods Receipt · Goods Issue · Stock Transfer · Stock Status Change) | [Stock movements](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri) | | Mal Hareketleri (Goods Movements) | Rezervasyonlar (Reservations) | [Reservations](https://erpdocs.corexlogic.com/en/stok/ekranlar/rezervasyonlar) | | Mal Hareketleri (Goods Movements) | Transfer Siparişleri (Transfer Orders) | [Transfer orders](https://erpdocs.corexlogic.com/en/stok/ekranlar/transfer-siparisleri) | | Stok Görünümü (Stock Overview) | Stok Bakiyesi · Stok Tahsisleri (Stock Balance · Stock Allocations) | [Stock balance](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-bakiyesi) | | Stok Görünümü · Fiziksel Envanter (Stock Overview · Physical Inventory) | Lotlar · Seri Etiketleri (Batches · Serial Number Labels) | [Batches and serial number labels](https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar) | | Özel Stoklar · Proje Stoğu (Special Stocks · Project Stock) | Tedarikçi Konsinye Stoğu · Konsinye Çekişleri · Müşteride Konsinye Stoğu · Müşteride Konsinye Belgeleri · Projeler · Proje Stoğu · Proje Stok Belgeleri (Supplier Consignment Stock · Consignment Withdrawals · Consignment Stock at Customer · Consignment Documents at Customer · Projects · Project Stock · Project Stock Documents) | [Special stocks](https://erpdocs.corexlogic.com/en/stok/ekranlar/ozel-stoklar) | | Depo Yürütme (Warehouse Execution) | Depo İzleme · Depo Görevleri · Dalgalar · El Terminali (Warehouse Monitor · Warehouse Tasks · Waves · Handheld Terminal) | [Warehouse execution](https://erpdocs.corexlogic.com/en/stok/ekranlar/depo-yurutme) | | Stok İşlemleri (Inventory Transactions) | Açılış Bakiyeleri · Stok Düzeltmeleri · Hurda İşlemleri (Opening Balances · Stock Adjustments · Scrap Transactions) | [Inventory transactions](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-islemleri) | | Fiziksel Envanter (Physical Inventory) | Stok Sayımları · Dönemsel Sayım (Physical Inventory Counts · Periodic Count) | [Physical inventory counts](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) | | Kalite Yönetimi (Quality Management) | Kontrol Partileri · Kalite Kontrol · Muayene Planları · Kalite Bildirimleri · Kusur Kodları (Inspection Lots · Quality Inspection · Inspection Plans · Quality Notifications · Defect Codes) | [Quality management](https://erpdocs.corexlogic.com/en/stok/ekranlar/kalite-yonetimi) | | Değerleme (Valuation) | Yeniden Değerleme · Malzeme Değerleme · Standart Fiyat Değişiklikleri · Materyal Defteri · Gerçekleşen Maliyet Kapanışları (Revaluation · Material Valuation · Standard Price Changes · Material Ledger · Actual Costing Closings) | [Valuation](https://erpdocs.corexlogic.com/en/stok/ekranlar/degerleme) | | Analitik (Analytics) | Stok Durum Raporu · Stok Hareket Dökümü · Lot/Seri İzlenebilirlik · Stok Değerleme Raporu · Hareketsiz Stok · Stok Yaş Analizi · ABC Analizi · Stok Devir Hızı (Stock Status Report · Stock Movement Listing · Batch/Serial Traceability · Stock Valuation Report · Slow-Moving Stock · Stock Aging Analysis · ABC Analysis · Inventory Turnover) | [Inventory reports](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari) | ## Documents that change stock Stock changes only in the following ways; each appears in **Stok Hareketleri** (Stock Movements) together with its source. | Source | Movement type | Effect | |---|---|---| | Mal Girişi (Goods Receipt, without a reference document) | Mal Kabul (Goods Receipt) | Increase in the selected warehouse, storage location and status | | Mal Çıkışı (Goods Issue, without a reference document), reservation withdrawal | Sarf / Çıkış (Consumption / Issue) | Decrease from the selected status | | Stok Transferi (Stock Transfer), Transfer Siparişi (Transfer Order), Depo Görevi (Warehouse Task) | Transfer | Issue from the source + receipt at the destination (two lines) | | Stok Durumu Değişimi (Stock Status Change) | Stok Durumu Değişimi (Stock Status Change) | Issue from the source status + receipt into the target status; the location stays the same | | Stok Sayımı (Physical Inventory Count, difference posting) | Stok Fazlası / Stok Eksiği Düzeltmesi (Stock Surplus / Stock Shortage Adjustment) | Increase or decrease by the count difference | | Stok Düzeltmesi (Stock Adjustment) | Stok Fazlası / Stok Eksiği Düzeltmesi (Stock Surplus / Stock Shortage Adjustment) | Increase or decrease with a reason code | | Hurda Fişi (Scrap Document) | Hurda (Scrap) | Decrease | | Açılış Bakiyesi (Opening Balance) | Açılış Bakiyesi (Opening Balance) | Initial carry-forward receipt | | Kalite Kararı (Quality Decision) | Stok Durumu Değişimi (Stock Status Change) | Quarantine → available, or Reddedildi (Rejected) | | Purchasing goods receipt, sales delivery, production consumption and output | Mal Kabul · Sarf / Çıkış · Üretim Sarfı · Üretim Girişi (Goods Receipt · Consumption / Issue · Production Consumption · Production Receipt) | From the document of the related module | There is no negative stock: an issue cannot exceed the available stock. --- # Product master data > The product master record — list, new record dialog, detail tabs, units and barcodes, classification, variants, tracking type and warehouse data. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri Raw materials, semi-finished products, finished products, trading goods, consumables, packaging, spare parts and services — all product definitions are on a single screen. Most stock-related behavior comes from the master record: base unit, tracking type (batch / serial number), quality inspection at receipt, minimum/maximum stock and warehouse-specific data. - **Type:** Screen - **Module:** Inventory - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri (Master Data › Products › Product Master Data) - **Screen route:** `/erp/catalog/products` - **Required permission:** `erp-catalog-items.view (görme) · .create (Yeni Ürün) · .edit (düzenleme, barkod üretme, İzleme Tipini Değiştir) · .delete (silme) · .import (Dışa Aktar / İçe Aktar, Ürün Aktarımı)`, `erp-inventory-warehouses.view / .edit (Depo Verileri) · erp-inventory-costs.view (Maliyet sekmesi) · erp-inventory-movements.view (Hareketler)` ## List ![Product master data list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-listesi.png) 1. New Product — new item 2. Search: code, name, foreign name or barcode 3. Advanced filters — usage, manufacturer, category… 4. Tracking — none, lot or serial 5. Usage — sales, purchasing, production Columns: **Kod** (Code), **Ad** (Name), **Barkod** (Barcode), **Ürün türü** (Product type), **Temel Birim** (Base Unit), **Takip** (Tracking: İzleme Yok · Lot Takipli · Seri No Takipli (No Tracking · Batch-Managed · Serial-Managed)), **Kategori** (Category), **Kalite Kontrol** (Quality Inspection; "Gerekli değil" (Not required) or required), **Yapılandırma** (Configuration: Standart · Yapılandırılabilir (Standard · Configurable)), **Durum** (Status), **Kullanım** (Usage; Satış · Alım · Üretim (Sales · Purchasing · Production) badges, planning strategy; "Gözden geçir" (Review) = came from an import, not yet verified). - **Durum** (Status) badges: **Aktif** (Active) / **Pasif** (Inactive); **Süre dışı** (Out of validity; active but outside its validity period — cannot be selected in documents); the material status; **Kesildi…** (Discontinued…) or **Kesilecek · \{gün\}** (To be discontinued · \{gün\}). - Filters: **Ara** (Search; code, name, foreign name or barcode), **Ürün türü** (Product type), **Durum** (Status). Under **Gelişmiş** (Advanced): Yapılandırma (Configuration), Kullanım (Usage), Gözden Geçirme (Review), Üretici (Manufacturer), Özellik (Characteristic), Malzeme durumu (Material status), Kategori (Category). - Row menu: **Ürünü Aç** (Open Product), **Düzenle** (Edit), **Gözden Geçirildi** (Reviewed), **Geçmiş** (History), **Sil** (Delete). - When rows are selected, the bulk action bar appears: **Toplu Güncelle** (Mass Update), **Barkod Üret** (Generate Barcode), **Sil** (Delete), **Seçimi Temizle** (Clear Selection). At most 1000 records are processed at once. - **Dışa Aktar** (Export) / **İçe Aktar** (Import) use the Ürün Aktarımı (Product Import) workbook (.xlsx). Deleting removes the record from the list; past documents continue to show it. A record that is in use cannot be deleted: "'\{kod\}' kullanımda (\{…\}) — silinemez. Kullanımdan kaldırmak için kartı pasife alın ya da geçerlilik bitiş tarihi verin." ('\{kod\}' is in use (\{…\}) — it cannot be deleted. To withdraw it from use, deactivate the record or give it a validity end date.) ## New record dialog ![Product master data — New window](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-yeni.png) 1. Product name — required 2. Product code — proposed from name and type prefix 3. Usage boxes — unticked ones disable their tab 4. Measures — base unit required, cannot change later 5. Tracking: none, lot or serial 6. Inspection on receipt — receipts go to quarantine 7. Create Title **Ürün Ana Verileri — Yeni** (Product Master Data — New). Step by step: [Create a product master record](https://erpdocs.corexlogic.com/en/stok/islemler/urun-karti-olusturma). | Field | Mandatory | Note | |---|---|---| | **Ürün tanımı** (Product description) | Yes | At most 256 characters. | | **Ürün Kodu** (Product Code) | Yes (if no series is selected) | Proposed from the name and the prefix of the product type (e.g. HAM-KOSTIK). At most 64 characters, unique. If the installation has an active number series, the **Seri** (Series) field appears; when a series is selected, the code is assigned on saving. | | **Ürün türü** (Product type) | Yes | The organization's product types; the type determines the permitted views (sales, purchasing, production) and the defaults for the new record. Switching between service and material is not possible. | | **Yabancı ad** (Foreign name), **Barkod** (Barcode) | No | | | **Stok ürünü** (Stock item) · **Satış ürünü** (Sales item) · **Satınalma ürünü** (Purchasing item) · **Üretim ürünü** (Production item) | — | The tab of an unchecked box is disabled ("\{X\} işaretli değil" (\{X\} is not checked)). | Tabs: **Genel** (General) · **Ölçü Verileri** (Units of Measure Data; mandatory for a new record) · **Satış Verileri** (Sales Data) · **Satınalma Verileri** (Purchasing Data) · **Stok Verileri** (Stock Data) · **Planlama Verileri** (Planning Data) · **Üretim Verileri** (Production Data) · **Ekler** (Attachments). - **Genel** (General): Açıklama (Description), Kategori (Category), Üretici (Manufacturer), Üretici parça no (Manufacturer part no.; manufacturer first), Ek tanımlayıcı (Additional identifier), GTİP (customs tariff code; 12 digits), **Ürün yönetme ölçütü** (Product management criterion; the tracking type — can be selected only for a new record), **Seri/Lot profili** (Serial/Batch profile), **Girişte kalite kontrol › Gerekli** (Quality inspection at receipt › Required), **Durum › Etkin** (Status › Active), **Geçerlilik** (Validity; empty = unlimited), **Malzeme durumu** (Material status). - **Ölçü Verileri** (Units of Measure Data): **Stok ölçü birimi** (Stock unit of measure; the base unit; cannot be changed later), length, width, height, volume, net and gross weight per unit. The gross weight cannot be less than the net weight. - **Satış / Satınalma Verileri** (Sales / Purchasing Data): default sales and purchasing unit (the base unit for a serial-managed item), customs group, purchasing group. - **Stok Verileri** (Stock Data): **Minimum stok** (Minimum stock) and **Maksimum stok** (Maximum stock). When the position falls below the minimum, Malzeme İhtiyaçları (Material Requirements) proposes an order; if the maximum is empty, it replenishes up to the minimum. - **Planlama Verileri** (Planning Data): planning strategy (Planlama Yok · Stoğa Üretim · Siparişe Üretim (No Planning · Make-to-Stock · Make-to-Order)), default procurement type (Üret · Satın Al (Produce · Purchase); mandatory for an item included in planning), MRP controller, lead time, minimum order quantity, order multiple, discontinuation date and successor item. ### Validation rules | Rule | Message | |---|---| | Duplicate code | "'\{kod\}' kodlu stok kartı zaten mevcut." (A stock item with code '\{kod\}' already exists.) | | Base unit | "Stok ölçü birimi zorunlu." (The stock unit of measure is mandatory.) · "'\{kod\}' birimi pasif — temel birim olarak seçilemez." (Unit '\{kod\}' is inactive — it cannot be selected as the base unit.) | | Service item | "Hizmet kartı stok ürünü olamaz." (A service item cannot be a stock item.) · "Hizmet ürünü lot veya seri numarası ile izlenemez." (A service item cannot be tracked by batch or serial number.) | | Non-stock item | "Stok tutmayan kart lot veya seri numarası ile izlenemez." (An item that does not carry stock cannot be tracked by batch or serial number.) · "Stok tutmayan kartta minimum/maksimum stok tanımlanmaz." (No minimum/maximum stock is defined for an item that does not carry stock.) | | Min / max | "Minimum stok eksi olamaz." (The minimum stock cannot be negative.) · "Maksimum stok tek başına tanımlanmaz — öneriyi minimum tetikler. Minimumu da girin (sıfır olabilir)." (The maximum stock cannot be defined on its own — the proposal is triggered by the minimum. Enter the minimum as well (it can be zero).) · "Minimum stok maksimum stoktan büyük olamaz." (The minimum stock cannot be greater than the maximum stock.) | | Lead time | "Tedarik süresi tam gün olmalı (ör. 7)." (The lead time must be in whole days (e.g. 7).) · "Tedarik süresi en fazla 999 gün olabilir." (The lead time can be at most 999 days.) | | Planning | "Planlamaya giren kartın varsayılan tedarik yolu belirlenmelidir (ihtiyaç doğduğunda üretilecek mi, satın alınacak mı)." (The default procurement type must be specified for an item included in planning (whether it will be produced or purchased when a requirement arises).) | | Product type permissions | "'\{ad\}' ürün türü satış görünümüne izin vermiyor — kart satılabilir işaretlenemez." (Product type '\{ad\}' does not permit the sales view — the item cannot be marked as sellable.) | | Service ↔ material | "Kartın stoklanabilirliği (hizmet ↔ malzeme) sonradan değiştirilemez. Yeni kart açın." (The stockability of the item (service ↔ material) cannot be changed later. Create a new item.) | ## Details ![Product detail — tabs](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-detay.png) 1. Edit — opens the item window 2. Units — unit conversions 3. Barcodes 4. Stock — balances, warehouse data, movements 5. Change Tracking Type — only while the item is unused The header shows the name, code, status badges, usage boxes (read-only) and the **Düzenle** (Edit) button; below it are Ürün türü (Product type), Temel birim (Base unit), Kategori (Category), Takip (Tracking) and Kalite kontrol (Quality inspection; "Girişte gerekli" (Required at receipt) / "Gerekmiyor" (Not required)). Tabs: | Tab | Visibility | Content | |---|---|---| | **Temel Veriler** (Basic Data) | Always | Description and status/dimensions; **İzleme Tipini Değiştir** (Change Tracking Type) button. | | **Birimler** (Units) | Always | Unit conversions. | | **Barkodlar** (Barcodes) | Always | Product barcodes; serial number generation for a serial-managed item. | | **Sınıflandırma** (Classification) | Always | Classifications and general characteristics. | | **Yapılandırma** (Configuration) / **Varyantlar** (Variants) / **Varyant Bilgisi** (Variant Information) | Depending on the form of the item | For a standard item, making it configurable; for a header item, characteristics and variants; for a variant, header item information. | | **Satış** (Sales) | Sellable item | Prices, Channel Data, Division, Alternatives. | | **Satın Alma** (Purchasing) | Purchasable item | Suppliers, Price History. | | **Planlama** (Planning) | Stock item | Planning data and open documents (demand, on hand, in transit). | | **Stok** (Stock) | Stock item | **Bakiyeler** (Balances) · **Depo Verileri** (Warehouse Data) · **ABC Sınıfı** (ABC Class) · **Hareketler** (Movements). | | **Maliyet** (Cost) | Stock item + cost permission | Value information. | | **Üretim** (Production) | Produced item | Where-Used. | | **Belgeler** (Documents), **Geçmiş** (History) | | Attachments and change history. | ### Units {#birimler} ![Product detail — Units tab](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-birimler.png) 1. Add Unit — new conversion 2. Rate — base units per unit Stock is kept in the base unit; a conversion is specific to the item itself, and the reverse direction is derived as 1/multiplier. In the **Birim Ekle** (Add Unit) dialog, enter the **Kaynak Birim** (Source Unit), **Hedef Birim** (Target Unit) and **Çarpan** (Multiplier; how many target units 1 source unit equals; at most 6 decimal places). For a saved conversion, only the multiplier can change (**Oranı Düzelt** (Correct Ratio)); past movements are stored with the multiplier valid at the time of the movement. Example: for MAM-0008, 1 KUTU (box) = 4 ADET (pieces). Rejection messages: "Bu ürün için aynı yönde bir dönüşüm zaten tanımlı." (A conversion in the same direction is already defined for this product.) · "Bu iki birim arasında ters yönde bir dönüşüm zaten tanımlı." (A conversion in the reverse direction is already defined between these two units.) · "Kaynak ve hedef birim aynı olamaz." (The source and target unit cannot be the same.) · "Bu dönüşüm kartın varsayılan satış birimini taşıyor — önce Satış Verileri'nde varsayılan birimi değiştirin." (This conversion carries the item's default sales unit — first change the default unit in Satış Verileri (Sales Data).) ### Barcodes ![Product detail — Barcodes tab](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-barkodlar.png) 1. Add Barcode — scan or type 2. Generate Barcode — in-house EAN-13 3. Print Labels for Selected - **Barkod Ekle** (Add Barcode): **Barkod** (Barcode; mandatory; scan or type it, converted to upper case), **Birim** (Unit), **Açıklama** (Description), **Varsayılan** (Default). The item's first barcode automatically becomes the default. - **Barkod Üret** (Generate Barcode): an in-house EAN-13 (starting with "20"); the system assigns the number. - **Seçilenlerin Etiketini Bas** (Print Labels for Selected): labels for the selected barcodes (thermal label printer). - While the tab is open, a scanned barcode opens the record if it exists on the item; otherwise, the add dialog appears. - The barcode text cannot be changed; if it is wrong, delete it and add a new one. At most 50 barcodes per item. Rejection messages: "'\{barkod\}' barkodu '\{kart\}' kartında tanımlı." (Barcode '\{barkod\}' is defined on item '\{kart\}'.) · "Barkodun birimi kartın temel birimi ya da birim dönüşümlerinden biri olmalı. Önce Birimler sekmesinden dönüşümü tanımlayın." (The unit of the barcode must be the item's base unit or one of its unit conversions. First define the conversion on the Birimler (Units) tab.) · "Barkod yalnız harf, rakam ve işaret içerebilir — boşluk ve Türkçe harf kullanılamaz." (A barcode can contain only letters, digits and symbols — spaces and Turkish letters are not allowed.) · "GTIN kontrol hanesi tutmuyor — \{n\} haneli barkodun son hanesi \{x\} olmalı. Dahili bir kodsa harf ya da farklı uzunluk kullanın." (The GTIN check digit does not match — the last digit of the \{n\}-digit barcode must be \{x\}. If it is an internal code, use letters or a different length.) Step by step: [Define units and barcodes](https://erpdocs.corexlogic.com/en/stok/islemler/birim-ve-barkod-tanimlama). ### Stock › Warehouse Data ![Product detail — Stock › Warehouse data](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-stok.png) 1. Balances — warehouse, location, lot 2. Warehouse data — per-warehouse min/max, default location 3. Movements — the item ledger 4. Add Warehouse Data With **Depo Verisi Ekle** (Add Warehouse Data), enter the warehouse-specific **Minimum**, **Maksimum** (Maximum; in the base unit) and **Varsayılan lokasyon** (Default storage location). When the warehouse's unrestricted stock falls below the minimum, Malzeme İhtiyaçları (Material Requirements) generates a proposal; the default storage location fills in the storage location in the Goods Receipt, Transfer and purchasing goods receipt forms when the warehouse is selected. Columns: Depo (Warehouse), Minimum, Maksimum (Maximum), Varsayılan Lokasyon (Default Storage Location), Depo Stoğu (Warehouse Stock). There is no separate "safety stock" or "reorder point" field — the trigger is the minimum. The **Hareketler** (Movements) subtab shows the item's ledger (Tarih (Date), Tür (Type), Miktar (Quantity), Depo (Warehouse), Stok Durumu (Stock Status), Lot / Seri (Batch / Serial Number)). ### Change the tracking type In the **Temel Veriler › İzleme Tipini Değiştir** (Basic Data › Change Tracking Type) dialog, enter the **Yeni izleme tipi** (New tracking type), **Seri/Lot profili** (Serial/Batch profile) and **Gerekçe** (Reason; mandatory, written to the audit trail). Batch or serial number tracking can change **only before any stock is received and while there are no open documents**; the profile can always change. If there is an obstacle, the server lists the reasons: "İzleme tipi değiştirilemez — \{sebepler\}. Lot ya da seri takibi stok girmeden ve açık belge yokken değişir." (The tracking type cannot be changed — \{sebepler\}. Batch or serial number tracking can change only before stock is received and while there are no open documents.) Reasons: "\{n\} stok hareketi var" (has \{n\} stock movements), "stoğu var" (has stock), "\{n\} açık rezervasyonda kalemi var" (has lines in \{n\} open reservations), "\{n\} açık satın alma siparişinde bekleyen miktarı var" (has outstanding quantities in \{n\} open purchase orders), "\{n\} açık satış siparişinde teslim edilecek miktarı var" (has quantities to be delivered in \{n\} open sales orders), "\{n\} açık üretim emrinin çıktısı" (is the output of \{n\} open production orders), "\{n\} açık üretim emrinin bileşeni" (is a component of \{n\} open production orders). A variant's tracking type comes from the header item. ## Classification {#siniflandirma} On the **Sınıflandırma** (Classification) tab, a classification is assigned to the item, and item-specific characteristic values are entered with **Özellik Ekle** (Add Characteristic) on the **Genel Özellikler** (General Characteristics) card. If a characteristic set has been assigned to the category, the fields are brought in together. Classifications, characteristics and variant tables are defined under **Ana Veriler › Sınıflandırma** (Master Data › Classification). ## Configurable products and variants ![Configurable product — Variants](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-varyantlar.png) 1. Configurable parent — not selectable in documents 2. Configuration — characteristics that split variants 3. Create Variant — opens a concrete item Differences of the same product such as size, color or dimensions are set up not as separate flat records, but as a **configurable header item + variants** (example: TIC-0001 İş Eldiveni (Work Gloves), size variants TIC-0001-S … XL). - On the **Yapılandırma** (Configuration) tab of a standard item, click **Yapılandırılabilir Yap** (Make Configurable). A header item is not considered a concrete material: it cannot be selected in sales, purchasing, production or inventory documents, and no stock movement can be posted to it; this work is done with the variant items. Existing stock and past movements remain as they are. - On the **Yapılandırma** (Configuration) tab of the header item, the **Yapılandırma Özellikleri** (Configuration Characteristics; mandatory flag, permitted values, condition) are defined; on the **Varyantlar** (Variants) tab, a concrete item is created with **Varyant Oluştur** (Create Variant; characteristic values, Kod (Code), Ad (Name)). - A product with variants cannot be converted back to standard: "Bu ürünün materyalize varyant kartları var; yapılandırılabilirlik kaldırılamaz." (This product has materialized variant items; configurability cannot be removed.) ## Related - [Create a product master record](https://erpdocs.corexlogic.com/en/stok/islemler/urun-karti-olusturma) - [Inventory settings](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari) — product type, unit of measure, serial and batch number profile --- # Create a product card > Create a new product card — description, code, product type, usage, base unit, tracking type, quality control and minimum/maximum stock. URL: https://erpdocs.corexlogic.com/en/stok/islemler/urun-karti-olusturma - **Type:** Task - **Module:** Inventory - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › Yeni Ürün (Master Data › Products › Product Master Data › New Product) - **Screen route:** `/erp/catalog/products` - **Required permission:** `erp-catalog-items.create` - **Prerequisites:** - The unit of measure to be used is active in **Ölçü Birimleri** (Units of Measure), and the product type in **Ürün Türleri** (Product Types). - If lot or serial numbers will be assigned automatically, a profile is defined in **Seri ve Lot Numarası Profilleri** (Serial and Lot Number Profiles). The product card is the source of stock-related behavior: the base unit, the tracking type and the quality control requirement are read from the card's definition in all movements. Screen details: [Product master data](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri). ## Steps 1. Open the **Ana Veriler › Ürünler › Ürün Ana Verileri** (Master Data › Products › Product Master Data) screen and click **Yeni Ürün** (New Product). 2. Type the product name in the **Ürün tanımı** (Product description) field. The **Ürün Kodu** (Product Code) is suggested from the name and the product type's prefix; overwrite it if needed. 3. Select the **Ürün türü** (Product type). The type brings the permitted usages and the defaults of the new card. 4. Select the usage check boxes: **Stok ürünü** (Stock item), **Satış ürünü** (Sales item), **Satınalma ürünü** (Purchasing item), **Üretim ürünü** (Production item). The tab of an unselected box is closed. 5. On the **Genel** (General) tab, select the **Kategori** (Category). If lots or serial numbers will be tracked, select the **Ürün yönetme ölçütü** (Product management criterion) (Lot Takipli / Seri No Takipli (Lot-managed / Serial-managed)) and, if needed, the **Seri/Lot profili** (Serial/Lot profile). If inspection is required on receipt, select **Girişte kalite kontrol › Gerekli** (Quality control on receipt › Required). ![Product master data — New window](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-yeni.png) 1. Product name — required 2. Product code — proposed from name and type prefix 3. Usage boxes — unticked ones disable their tab 4. Measures — base unit required, cannot change later 5. Tracking: none, lot or serial 6. Inspection on receipt — receipts go to quarantine 7. Create 6. On the **Ölçü Verileri** (Units of Measure Data) tab, select the **Stok ölçü birimi** (Stock unit of measure). This unit cannot be changed after the card is saved. 7. If it is a stock item, enter the **Minimum stok** (Minimum stock) and **Maksimum stok** (Maximum stock) on the **Stok Verileri** (Stock Data) tab, and the planning strategy and procurement type on the **Planlama Verileri** (Planning Data) tab. 8. Click **Oluştur** (Create). **Result:** The product card is saved as **Aktif** (Active). For unit conversions and barcodes, see [Define units and barcodes](https://erpdocs.corexlogic.com/en/stok/islemler/birim-ve-barkod-tanimlama); the initial stock is received with a [goods receipt](https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma), a purchasing goods receipt or an opening balance. ## What you need to know - The **base unit** cannot be changed later; a **service ↔ material** switch is not possible (a new card is created). - The tracking type is selected on the new card; afterwards it can only be changed with **İzleme Tipini Değiştir** (Change Tracking Type) while the card is not in use (no stock, movements or open documents). - Every receipt of a card with **Girişte kalite kontrol** (Quality control on receipt) selected is posted to KARANTINA status and cannot be used until a quality decision is made. - **Maksimum stok** (Maximum stock) cannot be entered on its own; a minimum (which can be zero) must also be entered. The minimum cannot be greater than the maximum. - Do not create separate flat cards for size, color or dimension differences of the same product; use a configurable parent card and variants. - A duplicate code is rejected: "'\{kod\}' kodlu stok kartı zaten mevcut." (A stock card with code '\{kod\}' already exists.) ## Related - [Product master data screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri) - [Inventory settings](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari) --- # Warehouses and plants > Definitions of plants, warehouses and storage locations (bins) within a warehouse — mandatory storage location, putaway, warehouse managers. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/depolar Stock movements are kept per **warehouse**. A warehouse belongs to a **plant** (factory, branch, distribution center); **storage locations** (bin, shelf, block storage, goods receipt and shipping staging area) are defined within the warehouse. Warehouses in the demo company: **HAMMADDE** (Hammadde Deposu — Raw Materials Warehouse), **KIMYA** (Kimya Deposu — Chemicals Warehouse), **MAMUL** (Mamul Deposu — Finished Goods Warehouse), **MERKEZ** (Merkez Depo — Central Warehouse). - **Type:** Screen - **Module:** Inventory - **Menu path:** Yönetim › Özelleştirme › Kuruluş Yapısı › Tesisler · Depolar (Administration › Customization › Organizational Structure › Plants · Warehouses) - **Screen route:** `/erp/inventory/warehouses` - **Required permission:** `erp-inventory-warehouses.view (görme) · .create (Yeni Depo, Yeni Tesis) · .edit (düzenleme, lokasyon, sorumlu) · .import` ## Plants **Yönetim › Özelleştirme › Kuruluş Yapısı › Tesisler** (Administration › Customization › Organizational Structure › Plants) (`/erp/inventory/plants`). Columns: Kod (Code), Ad (Name), İl / İlçe (Province / District), Depo (Warehouse), Varsayılan (Default), Durum (Status). The **Yeni Tesis** (New Plant) dialog: **Ad** (Name) and **Kod** (Code) (mandatory), İl (Province), İlçe (District), Adres (Address), **Fabrika takvimi** (Factory calendar), **Aktif** (Active), and in the **Nakil sevki** (Stock transport shipment) group, İç müşteri (Internal customer) and Sevk adresi (Ship-to address). - The default plant cannot be deactivated: "Varsayılan tesis pasife alınamaz — önce başka bir tesisi varsayılan yapın." (The default plant cannot be deactivated — first make another plant the default.) - A plant that has an active warehouse cannot be deactivated: "'\{kod\}' tesisinde aktif depo var — önce depoları pasife alın ya da başka tesise bağlayın." (Plant '\{kod\}' has an active warehouse — first deactivate the warehouses or assign them to another plant.) ## Warehouse list Columns: **Kod** (Code), **Ad** (Name), **Depo Türü** (Warehouse Type: Genel · Hammadde · Karantina · Üretim · Mamul · Yedek Parça · Hurda (General · Raw Material · Quarantine · Production · Finished Goods · Spare Parts · Scrap)), **Tesis** (Plant), **Adres** (Address), **Sorumlular** (Managers), **Lokasyon** (Storage Location; count), **Durum** (Status). Filters: Ara (Search), Depo türü (Warehouse type), Durum (Status). **Yeni Depo** (New Warehouse) opens the dialog. ## New Warehouse / Edit Warehouse | Tab | Field | Note | |---|---|---| | Genel (General) | **Ad** (Name) \*, **Kod** (Code) \* | The code is proposed from the name, converted to upper case, and must be unique; at most 32 characters. The name is at most 128 characters. | | Genel (General) | **Depo Türü** (Warehouse Type), **Tesis** (Plant) \*, **Aktif** (Active) | A warehouse with stock cannot be moved to another plant. A warehouse with a stock balance cannot be deactivated. | | Genel (General) | **Lokasyon seçimi zorunlu** (Storage location selection mandatory) | When enabled, selecting a storage location is mandatory for new movements in this warehouse. Before enabling it, no stock without a storage location may remain in the warehouse. | | Adres (Address) | Adres, Ülke, İl, İlçe, Posta Kodu, Yetkili, Telefon (Address, Country, Province, District, Postal Code, Contact Person, Phone) | If empty, the plant's address applies. | | Yerleştirme ve Kabul (Putaway and Receipt) | **Yerleştirme önerisi** (Putaway proposal: Mevcut stoğa ekle · Boş göz öner (Add to existing stock · Propose an empty bin)), **Görevli yerleştirme** (Task-based putaway), **Mal kabul** (Goods receipt) | Task-based putaway can be enabled after a goods receipt area bin has been defined; when enabled, incoming goods first enter the goods receipt area, and the movement to the shelf is performed with **Depo Görevleri** (Warehouse Tasks). | Storage locations are added after the warehouse has been created. ## Warehouse details and storage locations ![Warehouse detail — locations](https://erpdocs.corexlogic.com/en/en/img/screens/stok/depo-detay.png) 1. Edit — type, plant, location requirement 2. Warehouse owners 3. Add Location — bin, rack, area 4. Type — rack, block, receiving, staging Buttons: **Düzenle** (Edit), **Sorumlu Ekle** (Add Manager), **Lokasyon Ekle** (Add Storage Location), **Etiket Yazdır** (Print Labels; labels of the selected bins; no label is printed for an inactive bin). The **Lokasyonlar** (Storage Locations) table: Kod (Code), Ad (Name), Tip (Type), Tek ürün (Single product), Kapasite (Capacity; "Sınırsız" (Unlimited)), Doluluk (Occupancy; "Boş" (Empty)), Durum (Status). The **Yeni Lokasyon** (New Storage Location) dialog: | Field | Note | |---|---| | **Ad** (Name) \*, **Kod** (Code) \* | The code is unique within the warehouse and cannot be changed after it has been saved (printed labels and the handheld terminal read this code). | | **Aktif** (Active) | A storage location with stock cannot be deactivated. | | **Tip** (Type) | Raf (Shelf) · Blok istif (Block storage) · Mal kabul alanı (Goods receipt area) · Sevk hazırlık alanı (Shipping staging area). Goods receipt and shipping staging areas are not included in putaway proposals. | | **Ağırlık kapasitesi (kg)** (Weight capacity (kg)), **Hacim kapasitesi (L)** (Volume capacity (L)) | Empty = unlimited. A receipt into a bin without sufficient capacity is rejected. | | **Tek ürün gözü** (Single-product bin) | When enabled, a new product cannot enter the bin while it holds stock of another product. | **Depo sorumluları** (Warehouse managers): users assigned as managers see their own warehouses with the "Sorumlu olduğum depolar" (Warehouses I manage) filter in the lists. ## Rejection messages | Situation | Message | |---|---| | Duplicate code | "'\{kod\}' kodlu depo zaten mevcut." (A warehouse with code '\{kod\}' already exists.) | | Deactivating a warehouse with stock | "'\{kod\}' deposunda stok var — pasife alınamaz. Önce stoğu transfer edin veya çıkışını yapın." (Warehouse '\{kod\}' has stock — it cannot be deactivated. First transfer or issue the stock.) | | Moving a warehouse with stock to another plant | "'\{kod\}' deposunda (ya da özel stoğunda) stok var — tesisi değiştirilemez." (Warehouse '\{kod\}' (or its special stock) has stock — its plant cannot be changed.) | | Mandatory storage location, no storage location | "'\{kod\}' deposunda aktif lokasyon yok — lokasyon zorunluluğu açılamaz. Önce depo içi lokasyonları tanımlayın." (Warehouse '\{kod\}' has no active storage location — the storage location requirement cannot be enabled. First define the storage locations within the warehouse.) | | Duplicate storage location code | "'\{depo\}' deposunda '\{kod\}' kodlu lokasyon zaten mevcut." (A storage location with code '\{kod\}' already exists in warehouse '\{depo\}'.) | | Deactivating a storage location with stock | "'\{kod\}' lokasyonunda stok var — pasife alınamaz. Önce stoğu başka lokasyona transfer edin." (Storage location '\{kod\}' has stock — it cannot be deactivated. First transfer the stock to another storage location.) | | Task-based putaway | "Görevli yerleştirme için depoda aktif bir mal kabul alanı gözü olmalı — önce lokasyonlarda 'Mal kabul alanı' tipinde bir göz tanımlayın." (Task-based putaway requires an active goods receipt area bin in the warehouse — first define a bin of type 'Mal kabul alanı' (Goods receipt area) under storage locations.) | | Special stock warehouse | "Özel stok deposu sistem tarafından yönetilir — düzenlenemez." (The special stock warehouse is managed by the system — it cannot be edited.) (such as the in-transit stock warehouse of a transfer order) | ## Related - [Inventory settings](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari) - [Warehouse execution](https://erpdocs.corexlogic.com/en/stok/ekranlar/depo-yurutme) --- # Define units and barcodes > Add a unit conversion (carton, box) to a product card and define a product barcode or generate an in-house barcode. URL: https://erpdocs.corexlogic.com/en/stok/islemler/birim-ve-barkod-tanimlama - **Type:** Task - **Module:** Inventory - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Birimler · Barkodlar (Master Data › Products › Product Master Data › product details › Units · Barcodes) - **Screen route:** `/erp/catalog/products/{id}` - **Required permission:** `erp-catalog-items.edit`, `erp-catalog-units.view` - **Prerequisites:** - The unit to be added is active in **Ölçü Birimleri** (Units of Measure) (e.g. KUTU, KOLI). Stock is always kept in the card's **base unit**; a quantity entered in another unit is converted using the card-specific conversion. A barcode identifies the product and its unit. ## Steps 1. Open the product details (e.g. **MAM-0008 SIVI DETERJAN 5 LT**) and switch to the **Birimler** (Units) tab. ![Product detail — Units tab](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-birimler.png) 1. Add Unit — new conversion 2. Rate — base units per unit 2. Click **Birim Ekle** (Add Unit). Enter the **Kaynak Birim** (Source Unit) (e.g. KUTU), the **Hedef Birim** (Target Unit) (the base unit, e.g. ADET) and the **Çarpan** (Factor) (how many target units one source unit equals), then click **Kaydet** (Save). 3. Switch to the **Barkodlar** (Barcodes) tab. To add a barcode you already have, click **Barkod Ekle** (Add Barcode); for an in-house number, click **Barkod Üret** (Generate Barcode). ![Product detail — Barcodes tab](https://erpdocs.corexlogic.com/en/en/img/screens/stok/urun-barkodlar.png) 1. Add Barcode — scan or type 2. Generate Barcode — in-house EAN-13 3. Print Labels for Selected 4. In the **Barkod Ekle** (Add Barcode) window, scan or type the **Barkod** (Barcode), enter the **Birim** (Unit) the barcode belongs to (a carton barcode with the carton unit) and an optional **Açıklama** (Description), then click **Ekle** (Add). 5. To print labels, select the barcodes and click **Seçilenlerin Etiketini Bas** (Print Labels for Selected). **Result:** A unit with a defined conversion can be selected on sales, purchasing and inventory forms; the quantity is converted to the base unit when it is posted. When the barcode is scanned, the product and the unit are filled in together. ## What you need to know - The reverse direction of a conversion is not defined separately (1/factor). A second conversion between the same two units is rejected: "Bu iki birim arasında ters yönde bir dönüşüm zaten tanımlı." (A conversion in the reverse direction between these two units is already defined.) - On a saved conversion, only the factor can be changed (**Oranı Düzelt** (Correct Ratio)); past movements are not affected. - A conversion must be defined for the barcode's unit first: "Barkodun birimi kartın temel birimi ya da birim dönüşümlerinden biri olmalı. Önce Birimler sekmesinden dönüşümü tanımlayın." (The barcode's unit must be the card's base unit or one of its unit conversions. Define the conversion on the Units tab first.) - A barcode can be defined on only one card: "'\{barkod\}' barkodu '\{kart\}' kartında tanımlı." (Barcode '\{barkod\}' is defined on card '\{kart\}'.) - A warning appears for a barcode that looks like a GS1 number but whose check digit does not match; if you are adding it deliberately, click **Yine de Ekle** (Add Anyway). - **Barkod Üret** (Generate Barcode) produces an in-house EAN-13 starting with "20". You can also select several cards in the list and run **Barkod Üret** in bulk; cards that already have a barcode, non-stock cards and configurable parent cards are skipped. ## Related - [Product master data › Units](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri#birimler) --- # Inventory settings > Stock statuses, movement reasons, serial and batch number profiles, material statuses, product types and units of measure. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari The settings that feed the selection lists of the inventory screens. There is **no deletion** on these screens; a record that is no longer used is deactivated (the list shows only active records when opened; **Pasifleri göster** (Show inactive) shows all of them). Settings that have a default have a **Varsayılan Yap** (Make Default) menu; the default record cannot be deactivated. - **Type:** Screen - **Module:** Inventory - **Menu path:** Yönetim › Özelleştirme › Stok · Malzeme (Administration › Customization › Inventory · Material) - **Screen route:** `/erp/inventory/conditions` - **Required permission:** `erp-inventory-conditions.view / .create / .edit (Stok Durumları)`, `erp-inventory-movement-reasons.view / .create / .edit (Hareket Nedenleri)`, `erp-catalog-tracking-profiles.* · erp-catalog-material-statuses.* · erp-catalog-material-types.* · erp-catalog-units.*` ## Stock Statuses ![Stock statuses](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-durumlari.png) 1. New Stock Status 2. Default — entries without a status land here 3. Show inactive The stock status is a dimension of the stock, not of the product: the same item can carry new, used and repaired stock at the same time. Each balance row belongs to one status; selecting a status is mandatory for issues and transfers. Statuses delivered with the installation: | Code | Name | Property | |---|---|---| | SIFIR | Sıfır (New) | Default — receipts whose status is left empty are posted here. | | IKINCIEL | İkinci El (Used) | | | TAMIRLI | Tamir Edilmiş (Repaired) | | | YENILENMIS | Yenilenmiş (Refurbished) | | | KARANTINA | Karantina (Quarantine) | Quarantine (locked segment). | | RED | Reddedildi (Rejected) | Quarantine; rejected goods do not return to available stock and leave through scrap or a return. | **Yeni Stok Durumu** (New Stock Status) fields: **Ad** (Name) \*, **Kod** (Code) \* (converted to upper case, unique), **Sıra** (Sequence), **Durum** (Status: Aktif / Pasif (Active / Inactive) — no new movement can be posted to an inactive status), **Karantina** (Quarantine: Kilitli segment / Kullanılabilir (Locked segment / Available)). Stock in quarantine is blocked for shipment, consumption and transfer; it can leave only through a quality decision, a stock status change or scrap. The default status cannot be a quarantine status: "'\{kod\}' karantina durumu — karantina varsayılan yapılamaz. Durumu belirtilmeyen her giriş sessizce kilitlenirdi." ('\{kod\}' is a quarantine status — a quarantine status cannot be made the default. Every receipt without a specified status would be silently locked.) ## Movement Reasons {#hareket-nedenleri} **Yönetim › Özelleştirme › Stok › Hareket Nedenleri** (Administration › Customization › Inventory › Movement Reasons). The mandatory, reportable reason per line of stock adjustment and scrap documents. Fields: **Ad** (Name) \*, **Kod** (Code) \*, **Tür** (Type: Stok Artırma Düzeltmesi · Stok Azaltma Düzeltmesi · Hurda (Stock Increase Adjustment · Stock Decrease Adjustment · Scrap) — cannot be changed later), **Sıra** (Sequence), **Aktif** (Active). > **No adjustment can be saved without a reason** If there is no active reason of the selected type, the adjustment and scrap forms cannot be saved: "Uygun bir hareket nedeni tanımlanana kadar bu belge kaydedilemez." (This document cannot be saved until a suitable movement reason is defined.) Goods Receipt, Goods Issue and transfers without a reference document have no reason field. ## Serial and Batch Number Profiles **Yönetim › Özelleştirme › Malzeme › Seri ve Lot Numarası Profilleri** (Administration › Customization › Material › Serial and Batch Number Profiles). The profile assigned to an item determines whether serial and batch numbers are assigned **Elle** (Manually; the supplier's number is scanned or typed) or **Otomatik** (Automatically; from a template). Fields: **Ad** (Name) \*, **Kod** (Code) \*, for the serial number and the batch number **Numaralama** (Numbering) and **Şablon** (Template; mandatory for automatic; suggested serial number `MYS-{YY}-{######}`, batch `LOT-{YY}{MM}-{#####}`), **Garanti (ay)** (Warranty (months)), **Durum** (Status). Tokens in the template are `{YYYY} {YY} {MM} {ITEM}` and exactly one sequence token `{#####}` (3–10 #); spaces and `|` are not allowed. An inactive profile cannot be assigned to a new item. ## Material Statuses A per-process block or warning on an item (e.g. "Kesilecek" (To be discontinued)). For each process — **Satış** (Sales), **Satın Alma** (Purchasing), **Üretim** (Production), **Stok Hareketi** (Stock Movement) — Serbest / Uyarı / Engel (Allowed / Warning / Block) is selected; at least one process must have a warning or a block. It is assigned on the item with **Malzeme durumu** (Material status) and a start date. ## Product Types The organization's product types: **Taban tür** (Base type: Hammadde, Yarı Mamul, Mamul, Ticari Mal, Sarf Malzemesi, Ambalaj, Yedek Parça, Hizmet (Raw Material, Semi-Finished Product, Finished Product, Trading Goods, Consumables, Packaging, Spare Part, Service) — cannot be changed later), **Kod öneki** (Code prefix; e.g. HAM, YM, TIC), **İzinli görünümler** (Permitted views: Satış / Satın alma / Üretim (Sales / Purchasing / Production)), the defaults for a new item (stock item, quality inspection at receipt, tracking, planning strategy, procurement type) and **Kod serisi** (Code series). ## Units of Measure Fields: Ad (Name), Kod (Code), Sembol (Symbol), UN/ECE Kodu (UN/ECE Code), **Birim Türü** (Unit Type: Adet, Ağırlık, Hacim, Uzunluk, Alan, Süre, Diğer (Count, Weight, Volume, Length, Area, Time, Other)), **Ondalık Basamak** (Decimal Places; 0–6, e.g. 0 for ADET, 3 for KG), Aktif (Active). The decimal places and the unit type cannot be changed later. Product-specific conversions are defined on the **Birimler** (Units) tab of the product master record. ## Related - [Product master data](https://erpdocs.corexlogic.com/en/stok/ekranlar/urun-ana-verileri) - [Post a stock adjustment](https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma) --- # Post a goods receipt > Goods receipt without a reference document — post a receipt to the stock ledger with product, warehouse, storage location, stock status, quantity and lot (expiry date) or serial number. URL: https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Mal Girişi (Inventory › Goods Movements › Goods Receipt) - **Screen route:** `/erp/inventory/movements/new/receipt` - **Required permission:** `erp-inventory-movements.create` - **Prerequisites:** - The product card is active, is a stock item, and is not a configurable parent card. - The product is not in the scope of an open physical inventory count in that warehouse. A goods receipt without a reference document; goods from a supplier are normally received with a **goods receipt** linked to the purchase order. Use this screen for receipts without an order (samples, found goods, returned consumption). ## Steps 1. Open the **Stok Yönetimi › Mal Hareketleri › Mal Girişi** (Inventory › Goods Movements › Goods Receipt) screen. 2. Type the code in the **Ürün** (Product) field and press `Enter`, select it from the list and press `Enter` again. To search in the picker, press `F4`. 3. Select the **Depo** (Warehouse) and, if needed, the **Lokasyon** (Storage Location). 4. Select the **Stok Durumu** (Stock Status) or leave it blank: if blank, the receipt is posted to the default status (SIFIR), or to KARANTINA status for a card subject to quality control. 5. Enter the **Miktar** (Quantity); the unit is selected from the card's units. 6. For a lot-managed card, enter the **Lot Numarası** (Lot Number), **Üretim Tarihi** (Production Date), **Son Kullanma Tarihi** (Expiry Date) and **Tedarikçi Lot No** (Supplier Lot No). For a serial-managed card, scan the **Seri Numaraları** (Serial Numbers) and press **Ekle** (Add). ![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 7. If needed, enter an **Açıklama** (Description) and click **Mal Girişi Kaydet** (Save Goods Receipt). **Result:** A receipt movement of type **Mal Kabul** (Goods Receipt) is posted to the stock ledger; stock increases in the selected warehouse, storage location and status. If the lot is received for the first time, a lot record is created. For a quality-controlled card, the receipt is in KARANTINA status and an inspection lot is opened; the goods become available with a [quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme). ## What you need to know - Demo example: **HAM-0070 SLES %70**, 400 KG, KIMYA / IBC-ALANI, lot **SLES-2611-004** (expiry date 20.04.2028) was received with the status left blank; because the card is quality-controlled, the receipt was posted to **KARANTINA** status and inspection lot **KP-2026-000001** was opened. - Lot information (production date, expiry date, supplier lot) is saved only when the lot is created for the first time; if an existing lot number is entered, the existing information is kept. - The form has no unit cost; a quantity received without a cost appears as an assumption in the stock value. - If a status other than quarantine is selected for a quality-controlled card: "'\{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\}' is subject to quality control — the receipt can only be posted to quarantine status. Selected status: '\{durum\}'. After inspection, the goods are moved to available stock with a quality decision.) - An incorrect receipt is not deleted; it is corrected with an opposite [goods issue](https://erpdocs.corexlogic.com/en/stok/islemler/mal-cikisi-yapma) or a [stock adjustment](https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma). ## Related - [Stock movements screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri) - [Lot and serial number tracing process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) --- # 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) --- # Post a goods issue > Goods issue without a reference document — reduce stock by selecting the source warehouse, stock status, and a FEFO lot or serial number. URL: https://erpdocs.corexlogic.com/en/stok/islemler/mal-cikisi-yapma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Mal Çıkışı (Inventory › Goods Movements › Goods Issue) - **Screen route:** `/erp/inventory/movements/new/issue` - **Required permission:** `erp-inventory-movements.create` - **Prerequisites:** - Available stock exists in the selected warehouse, storage location and status; the stock is not in quarantine. - The product is not in the scope of an open physical inventory count in that warehouse. A goods issue without a reference document (sample, maintenance consumption, expense). Sales deliveries and production consumption are posted from their own documents; for planned consumption, a [reservation](https://erpdocs.corexlogic.com/en/stok/islemler/rezervasyon-olusturma) can be created first. ## Steps 1. Open the **Stok Yönetimi › Mal Hareketleri › Mal Çıkışı** (Inventory › Goods Movements › Goods Issue) screen. 2. Select the **Ürün** (Product). 3. Select the **Depo** (Warehouse) and the **Lokasyon** (Storage Location). 4. From the **Stok Durumu (zorunlu)** (Stock Status (mandatory)) list, select the segment the stock will be reduced from. Check the status breakdown in the **Mevcut Stok** (Current Stock) panel. 5. For a lot-managed card, select the lot from the list; the first eligible lot carries the **FEFO önerisi** (FEFO suggestion) badge. For a serial-managed card, select the serial numbers to be issued. ![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 6. Enter the **Miktar** (Quantity) and the purpose of the issue in **Açıklama** (Description), then click **Mal Çıkışı Kaydet** (Save Goods Issue). **Result:** A **Sarf / Çıkış** (Consumption / Issue) movement is posted to the stock ledger; the stock and lot quantity in the selected status decrease. In **Stok Hareketleri** (Stock Movements), the movement's source appears as 'Manuel Stok İşlemi' (Manual Stock Transaction). ## What you need to know - Demo example: 20 KG of HAM-0070 was issued from KIMYA / IBC-ALANI, SIFIR, from the FEFO-suggested lot **SLES-2609-011**. The 450 KG in KARANTINA status in the same warehouse (lots SLES-2611-004 and -005) could not be selected in the list. - Lots are sorted with the nearest expiry date first (FEFO); the choice is yours. A **Bloke** (Blocked) lot cannot be selected; a lot past its expiry date can be selected with a warning. - There is no negative stock: "'\{kod\}' kartının '\{durum\}' durumunda yeterli stok yok. Mevcut: \{x\}, istenen: \{y\}." (There is not enough stock of card '\{kod\}' in status '\{durum\}'. Available: \{x\}, requested: \{y\}.) - Stock in quarantine cannot be issued: "'\{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 card '\{kod\}' in status '\{durum\}' is in quarantine — it cannot be shipped, consumed or transferred. A quality decision must be made first (release or reject).) - If no status is selected: "Çı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 reduce cannot be assumed.) - A quantity allocated to another document cannot be used; the allocation must be released from **Stok Tahsisleri** (Stock Allocations). ## Related - [Stock movements screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri) - [Lots](https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar) --- # Reservations > Announcing in advance the material to be withdrawn from the warehouse on a given date — statuses, withdrawal, cancellation and closing the remainder. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/rezervasyonlar A reservation is an **advance notice** of material that will be withdrawn from the warehouse on a given date (maintenance, consumption, cost center, or a request for movement between warehouses). It **does not lock stock** and does not create an allocation; an open issue reservation counts as demand in Malzeme İhtiyaçları (Material Requirements). The goods move when the warehouse manager **withdraws** them against the reservation. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Rezervasyonlar (Inventory Management › Goods Movements › Reservations) - **Screen route:** `/erp/inventory/material-reservations` - **Required permission:** `erp-inventory-material-reservations.view (görme) · .create (oluşturma, İptal Et, Kalanı Kapat) · .issue (çekme)` ## List ![Reservations list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/rezervasyon-listesi.png) 1. Create Reservation 2. Requirement date — badge when late 3. Purpose — goods issue or transfer 4. Open the reservation Columns: **Rezervasyon No** (Reservation No.; RZV-yyyy-nnnnnn), **İhtiyaç Tarihi** (Requirement Date; "Gecikti" (Overdue) if overdue), **Amaç** (Purpose), **Durum** (Status), **Depo** (Warehouse), **Teslim Alan** (Recipient), **Kalem** (Lines), **Talep Eden** (Requested By), **Kayıt Zamanı** (Created At). Filters: Ara (Search), Durum (Status: Tümü / Açık olanlar / individual statuses (All / Open ones / …)), Amaç (Purpose), İhtiyaç (Requirement: start / end). **Amaç** (Purpose): **Mal Çıkışı** (Goods Issue; issue for consumption, maintenance or a cost center) · **Depolar Arası Transfer** (Transfer Between Warehouses; single-step transfer; at withdrawal, the goods are moved to the target warehouse, with no stock in transit). ## Statuses and actions | Status | Meaning | Actions | |---|---|---| | **Açık** (Open) | Nothing has been withdrawn yet. | **Çek** (Withdraw) per line (**Transfer Et** (Transfer) for transfers); **İptal Et** (Cancel; reason mandatory). | | **Kısmen Çekildi** (Partially Withdrawn) | Part of it has been withdrawn. | **Çek** (Withdraw) / **Transfer Et** (Transfer) on a line that is not closed; **Kalanı Kapat** (Close Remainder; reason mandatory). | | **Tamamlandı** (Completed) | All lines are closed. | — | | **İptal Edildi** (Cancelled) | Cancelled without withdrawal; the Malzeme İhtiyaçları (Material Requirements) demand is removed. | — | The line status is **Açık** (Open) or **Kapalı** (Closed). If **Son çekme** (Final withdrawal) is selected in the withdrawal dialog, the remainder is no longer expected and the line is closed. ## Details ![Open reservation — withdrawal](https://erpdocs.corexlogic.com/en/en/img/screens/stok/rezervasyon-detay.png) 1. Cancel — only if nothing withdrawn 2. Withdrawn and remaining quantity 3. Withdraw — goods issue per line Fields: Rezervasyon No (Reservation No.), Durum (Status), Amaç (Purpose), İhtiyaç Tarihi (Requirement Date), Çıkış Deposu (Issuing Warehouse), Hedef Depo (Target Warehouse), Teslim Alan (Recipient), Talep Eden (Requested By), Kayıt Zamanı (Created At), Kapanış Gerekçesi (Closing Reason), Açıklama (Description). The **Kalemler** (Lines) table: Ürün (Product), Miktar (Quantity), Çekilen (Withdrawn), Kalan (Remaining), Birim (Unit), Durum (Status). The **Hareketler** (Movements) table shows the trace of the withdrawals in the stock ledger (Tarih (Date), Ürün (Product), Yön (Direction), Depo (Warehouse), Lokasyon (Storage Location), Lot (Batch), Miktar (Quantity), Kaydeden (Posted By)). ## Withdrawal dialog Title "Mal Çıkışı — \{no\} / \{n\}. kalem" (Goods Issue — \{no\} / line \{n\}) or "Transfer — …". Fields: **Çekme Tarihi** (Withdrawal Date; mandatory), **Lokasyon** (Storage Location; with the "Lokasyonsuz" (No storage location) option), **Stok Durumu** (Stock Status; mandatory), **Miktar** (Quantity; defaults to the remainder), for transfers **Hedef Lokasyon** (Target Storage Location), **Son çekme** (Final withdrawal), batch or serial number selection. Button **Çıkışı Kaydet** (Save Issue) / **Transferi Kaydet** (Save Transfer). Stock effect: a Sarf / Çıkış (Consumption / Issue) movement for the Mal Çıkışı (Goods Issue) purpose, a Transfer movement for transfers; source document "Rezervasyon" (Reservation). ## Rejection messages | Situation | Message | |---|---| | No lines | "Rezervasyon için en az bir kalem gereklidir." (At least one line is required for a reservation.) | | Target warehouse in a transfer | "Transfer rezervasyonunda hedef depo zorunludur." (The target warehouse is mandatory in a transfer reservation.) · "Hedef depo çıkış deposundan farklı olmalı." (The target warehouse must be different from the issuing warehouse.) | | Configurable header item | "\{i\}. kalem: '\{kod\}' yapılandırılabilir üst kart — somut kart seçin." (Line \{i\}: '\{kod\}' is a configurable header item — select a concrete item.) | | Withdrawal exceeding the remainder | "\{n\}. kalemde çekilecek miktar kalanı (\{x\} \{birim\}) aşıyor." (The quantity to withdraw on line \{n\} exceeds the remainder (\{x\} \{birim\}).) | | Reservation not open | "\{no\} açık değil — çekme yapılamaz." (\{no\} is not open — no withdrawal can be made.) | | The creator cannot withdraw | "Rezervasyonu açan kişi ondan mal çıkışı yapamaz — çekmeyi başka bir depo sorumlusu yapmalı." (The person who created the reservation cannot post a goods issue against it — another warehouse manager must perform the withdrawal.) (for a user without the permission for movements without a reference document) | | Cancelling a reservation with withdrawals | "Çekme yapılmış rezervasyon iptal edilmez — kalanı gerekçeyle kapatın." (A reservation with withdrawals cannot be cancelled — close the remainder with a reason.) | | Reason | "Gerekçe zorunludur." (A reason is mandatory.) | All stock movement rules (insufficient stock, quarantine, count freeze) apply to withdrawals: [Stock movements › Rejection messages](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri#ret-iletileri). ## Related - [Create a reservation](https://erpdocs.corexlogic.com/en/stok/islemler/rezervasyon-olusturma) - [Stock Allocations](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-bakiyesi#stok-tahsisleri) — stock that is actually allocated to a document --- # Post a stock transfer > One-step transfer between warehouses or storage locations — the issue from the source and the receipt into the target in a single transaction. URL: https://erpdocs.corexlogic.com/en/stok/islemler/stok-transferi-yapma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Stok Transferi (Inventory › Goods Movements › Stock Transfer) - **Screen route:** `/erp/inventory/movements/new/transfer` - **Required permission:** `erp-inventory-movements.transfer` - **Prerequisites:** - Available stock exists at the source location in the selected status; the stock is not in quarantine. One-step transfer: the goods leave the source and enter the target at the same time; no stock in transit is created. If time passes between shipping and arrival and the goods in transit need to be tracked, use a [transfer order](https://erpdocs.corexlogic.com/en/stok/islemler/transfer-siparisi-olusturma). ## Steps 1. Open the **Stok Yönetimi › Mal Hareketleri › Stok Transferi** (Inventory › Goods Movements › Stock Transfer) screen and select the **Ürün** (Product). 2. Select the **Kaynak Depo** (Source Warehouse), if needed the **Kaynak Lokasyon** (Source Storage Location), and the **Stok Durumu (zorunlu)** (Stock Status (mandatory)). For a lot- or serial-managed card, select the lot/serial numbers to be issued. 3. Select the **Hedef Depo** (Target Warehouse) and the **Hedef Lokasyon** (Target Storage Location). A different storage location in the same warehouse can also be selected. 4. Enter the **Miktar** (Quantity) and the **Açıklama** (Description). ![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 5. Click **Transferi Tamamla** (Complete Transfer). **Result:** Two **Transfer** lines with a common transfer group are posted to the ledger: an issue from the source and a receipt into the target. The stock status and lot do not change. ## What you need to know - Demo example: TIC-0004 Reflektörlü Yelek (Reflective Vest), 10 ADET, MERKEZ → MAMUL / SEVK. - A transfer changes the location, not the status; to change the status, use [Stok Durumu Değişimi (Stock Status Change)](https://erpdocs.corexlogic.com/en/stok/islemler/stok-durumu-degistirme). - The source and target location cannot be the same: "Transferin kaynağı ile hedefi aynı olamaz." (The source and target of the transfer cannot be the same.) - If a storage location is mandatory in the target warehouse, a target storage location must be selected; a receipt into a bin without enough capacity is rejected. - Transfers of a configurable card and of allocated stock are not made from this form: "Tahsisli hareket transfer veya durum değişimi olamaz — önce tahsisi serbest bırakın." (An allocated movement cannot be a transfer or status change — release the allocation first.) ## Related - [Stock movements › Stock Transfer](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri#stok-transferi) --- # Transfer orders > Two-step transfer between warehouses — at shipment the goods move to stock in transit, at arrival they are received into the target warehouse. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/transfer-siparisleri A transfer order is a **two-step** transfer between warehouses or plants: the **shipment** issues the goods from the source warehouse and puts them into the target's **stock in transit**, and the **arrival** receives the goods in transit into the target warehouse. The order itself does not post stock. For a single-step transfer, see [Stock Transfer](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri#stok-transferi). - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Transfer Siparişleri (Inventory Management › Goods Movements › Transfer Orders) - **Screen route:** `/erp/inventory/transfer-orders` - **Required permission:** `erp-inventory-transfer-orders.view (görme) · .create (oluşturma, İptal Et, Kalanı Kapat)`, `erp-inventory-movements.transfer (Sevk Et, Varışı Kaydet)` ## List Columns: **Sipariş No** (Order No.; DTS-yyyy-nnnnnn), **Tarih** (Date), **Kaynak → Hedef** (Source → Target; "· tesisler arası" (· between plants) if it is between plants), **İstenen Varış** (Requested Arrival), **Durum** (Status; with a "yolda" (in transit) note if goods are in transit), **Kalem** (Lines). The default filter is **Açık olanlar** (Open ones). **Transfer Siparişi Oluştur** (Create Transfer Order) opens a new order. ## Creation **Kaynak Depo** (Source Warehouse) and **Hedef Depo** (Target Warehouse) (mandatory, cannot be the same), **Sipariş Tarihi** (Order Date; mandatory, defaults to today), **İstenen Varış** (Requested Arrival), **Kalemler** (Lines; **Kalem Ekle** (Add Line): concrete items that carry stock, quantity in the base unit), **Not** (Note). Button **Transfer Siparişini Kaydet** (Save Transfer Order). Step by step: [Create a transfer order](https://erpdocs.corexlogic.com/en/stok/islemler/transfer-siparisi-olusturma). ## Statuses and actions ![Transfer order — in shipment](https://erpdocs.corexlogic.com/en/en/img/screens/stok/transfer-siparisi.png) 1. Status: In shipment 2. Ship — from source into transit 3. Post Arrival — from transit to target 4. Shipped · In transit · Arrived | Status | Meaning | Buttons shown | |---|---|---| | **Açık** (Open) | No shipment yet. | **Sevk Et** (Ship), **İptal Et** (Cancel) | | **Sevkiyatta** (In Shipment) | At least one shipment exists. | **Sevk Et** (Ship) if a remainder is still to be shipped; **Varışı Kaydet** (Post Arrival) if goods are in transit; **Kalanı Kapat** (Close Remainder) if no goods are in transit | | **Tamamlandı** (Completed) | All lines have arrived. | — | | **İptal Edildi** (Cancelled) | Cancelled before shipment. | — | | **Kapatıldı** (Closed) | Closed without waiting for the unshipped remainder. | — | The details contain the **Kalemler** (Lines; Sipariş · Sevk · Yolda · Varan (Ordered · Shipped · In Transit · Arrived)), **Nakil Sevkleri** (Stock Transport Shipments; NSV-yyyy-nnnnnn, e-Delivery Note (e-İrsaliye)) and **Sevk ve Varış Geçmişi** (Shipment and Arrival History) tables. ## Shipment and arrival **Sevk Et** (Ship) opens the "Transfer Sevki" (Transfer Shipment) screen: **Sevk Tarihi** (Shipment Date) and the **Kaynak Deponun Serbest Stoğu** (Unrestricted Stock of the Source Warehouse) table (Ürün (Product), Göz · Durum (Bin · Status), Serbest (Unrestricted), Miktar (Quantity)). The quantity is prefilled with the remainder; enter 0 on a row that is not to be shipped. A row in quarantine cannot be shipped ("Önce kalite kararı" (Quality decision first)); on a serial-managed row, use **Seri Seç** (Select Serial Numbers). Button **Transfer Sevki Kaydet** (Save Transfer Shipment). **Varışı Kaydet** (Post Arrival) opens the "Transfer Varışı" (Transfer Arrival) screen: **Varış Tarihi** (Arrival Date), the **Yoldaki Stok** (Stock in Transit) table and the **Hedef Göz** (Target Bin) of each row. Button **Transfer Varışı Kaydet** (Save Transfer Arrival); the goods that arrive become unrestricted stock. Stock effect: at shipment, a **Transfer** movement from the source warehouse to stock in transit; at arrival, a **Transfer** movement from stock in transit to the target warehouse; source document "Transfer Siparişi" (Transfer Order). ## Rejection messages | Situation | Message | |---|---| | Same warehouse | "Kaynak ve hedef depo aynı olamaz." (The source and target warehouse cannot be the same.) | | Configurable item | "'\{kod\}' yapılandırılabilir kart — transfer edilemez." ('\{kod\}' is a configurable item — it cannot be transferred.) | | Shipment remainder exceeded | "'\{kod\}' için sevk edilecek kalan aşılıyor — kalan \{x\}, istenen \{y\}." (The remainder to be shipped for '\{kod\}' is exceeded — remaining \{x\}, requested \{y\}.) | | Quantity in transit exceeded | "'\{kod\}' için yoldaki miktar aşılıyor — yolda \{x\}, istenen \{y\}." (The quantity in transit for '\{kod\}' is exceeded — in transit \{x\}, requested \{y\}.) | | Date | "Hareket tarihi sipariş tarihinden önce olamaz." (The movement date cannot be earlier than the order date.) | | Closed order | "'\{no\}' transfer siparişi \{tamamlandı \| iptal edildi \| kapatıldı\} — sevk ya da varış yazılamaz." (Transfer order '\{no\}' is \{completed \| cancelled \| closed\} — no shipment or arrival can be posted.) | | Cancelling a shipped order | "Yalnız hiç sevk edilmemiş transfer siparişi iptal edilir — sevk edilmişse kalanı kapatın." (Only a transfer order that has never been shipped can be cancelled — if it has been shipped, close the remainder.) | | Closing while goods are in transit | "Yolda mal var — önce varışı kaydedin, sonra kalanı kapatın." (Goods are in transit — first post the arrival, then close the remainder.) | | Reason | "İptal gerekçesi zorunludur." (A cancellation reason is mandatory.) · "Kapatma gerekçesi zorunludur." (A closing reason is mandatory.) | ## Related - [Create a transfer order](https://erpdocs.corexlogic.com/en/stok/islemler/transfer-siparisi-olusturma) - [Post a stock transfer](https://erpdocs.corexlogic.com/en/stok/islemler/stok-transferi-yapma) --- # Change the stock status > Change the segment of stock in the same warehouse and storage location — e.g. move new stock to Second-Hand. URL: https://erpdocs.corexlogic.com/en/stok/islemler/stok-durumu-degistirme - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Stok Durumu Değişimi (Inventory › Goods Movements › Stock Status Change) - **Screen route:** `/erp/inventory/movements/new/condition-change` - **Required permission:** `erp-inventory-movements.create` - **Prerequisites:** - There is enough stock in the source status; the target status is active. The stock status is the physical condition of the goods (new, second-hand, repaired…). A status change changes the segment of the goods without moving them. ## Steps 1. Open the **Stok Yönetimi › Mal Hareketleri › Stok Durumu Değişimi** (Inventory › Goods Movements › Stock Status Change) screen and select the **Ürün** (Product). 2. Select the **Depo** (Warehouse) and, if needed, the **Lokasyon** (Storage Location). The location does not change. 3. Select the **Kaynak Stok Durumu (zorunlu)** (Source Stock Status (mandatory)) and the **Hedef Stok Durumu (zorunlu)** (Target Stock Status (mandatory)); they must be different. 4. Enter the **Miktar** (Quantity) in the base unit and an **Açıklama** (Description). ![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 5. Click **Stok Durumunu Değiştir** (Change Stock Status). **Result:** A pair of **Stok Durumu Değişimi** (Stock Status Change) movements is posted to the ledger: an issue from the source status and a receipt into the target status. The warehouse and storage location stay the same; the lot and serial number identity is preserved. ## What you need to know - Demo example: TIC-0008 LED Projektör, 2 ADET, MERKEZ, SIFIR → IKINCIEL ("Fuar teşhir ürünü" (Trade fair display item)). - The source and target cannot be the same: "Durum değişiminin kaynağı ile hedefi aynı olamaz." (The source and target of a status change cannot be the same.) You cannot change to an inactive status. - Goods in quarantine are made available with a [quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme); a quality decision also posts a status change in the background, but it is recorded with a reason and a second signature. - The quantity is always in the card's base unit. ## Related - [Inventory settings › Stock Statuses](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari) --- # Stock balance > Current stock — on-hand, reserved and available quantities broken down by warehouse, storage location, stock status and batch; stock allocated to documents. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-bakiyesi The current stock situation — broken down by warehouse, storage location, stock status and batch. The balance is **read-only**; every change happens through a stock movement. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Stok Görünümü › Stok Bakiyesi · Stok Tahsisleri (Inventory Management › Stock Overview › Stock Balance · Stock Allocations) - **Screen route:** `/erp/inventory/stock` - **Required permission:** `erp-inventory-stock.view (Stok Bakiyesi) · erp-inventory-costs.view (Ort. Maliyet, Stok Değeri)`, `erp-inventory-reservations.view (Stok Tahsisleri) · erp-inventory-reservations.release (Serbest Bırak)` ## Stock Balance ![Stock balance](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-bakiyesi.png) 1. Product filter 2. Stock status filter 3. Only rows with stock 4. Available = On hand − Reserved 5. Cost columns — cost permission only Each row is a balance row: item × warehouse × storage location × stock status × batch. Columns: **Stok Kodu** (Item Code), **Stok Adı** (Item Name), **Depo** (Warehouse), **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status), **Lot** (Batch), **Mevcut** (On Hand), **Rezerve** (Reserved), **Kullanılabilir** (Available), **Birim** (Unit), **Ort. Maliyet** (Avg. Cost), **Stok Değeri** (Stock Value), **Son Hareket** (Last Movement). | Quantity | Meaning | |---|---| | **Mevcut** (On Hand) | Physical quantity. | | **Rezerve** (Reserved) | Quantity allocated to a document (such as production output linked to a sales order). | | **Kullanılabilir** (Available) | On Hand − Reserved; calculated on the server. Stock in the quarantine segment is blocked for shipment, consumption and transfer. | - Filters: **Ürün** (Product), **Depo** (Warehouse), **Tesis** (Plant; if there are several plants), **Stok Durumu** (Stock Status), **Yalnız stoklu satırlar** (Only rows with stock). - **Ort. Maliyet** (Avg. Cost) and **Stok Değeri** (Stock Value) are visible only with the cost permission. A row that has not been valuated shows "—"; if part of the value is an assumption, it is prefixed with "~" (an assumption from the moving average for a quantity that was received without a known cost). - Clicking a row opens the stock details of the item. ## Item stock details ![Item stock detail — warehouse, location, lot](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-bakiyesi-detay.png) 1. Totals — in base unit 2. Balance rows At the top: **Toplam Mevcut** (Total On Hand), **Toplam Rezerve** (Total Reserved), **Toplam Kullanılabilir** (Total Available) (in the item's base unit). If the warehouse holds supplier consignment stock, it is shown separately — it is not included in the company's stock. The **Depo / Lokasyon / Lot Kırılımı** (Warehouse / Storage Location / Batch Breakdown) table: Depo (Warehouse), Lokasyon (Storage Location), Lot (Batch), Mevcut (On Hand), Rezerve (Reserved), Kullanılabilir (Available), (with the cost permission) Ort. Maliyet (Avg. Cost) and Değer (Value), Son Hareket (Last Movement). ## Stock Allocations {#stok-tahsisleri} **Stok Yönetimi › Stok Görünümü › Stok Tahsisleri** (Inventory Management › Stock Overview › Stock Allocations) (`/erp/inventory/reservations`). Stock set aside for a specific document: the goods stay in the warehouse but cannot be shipped to anyone else. An allocation **is not created manually** — it arises from the output of a production order linked to a sales order. Columns: **Sahip Belge** (Owning Document; document no. + counterparty), **Stok Kodu** (Item Code), **Depo** (Warehouse), **Lot** (Batch), **Tutulan** (Held), **Tahsis** (Allocated), **Sevk Edilen** (Shipped), **Bırakılan** (Released). Filters: Ürün (Product), Depo (Warehouse), **Çözülmüşleri de göster** (Also show released ones). The **Serbest Bırak** (Release; with permission) dialog: "Tahsis serbest bırakılsın mı?" (Release the allocation?) — **Serbest Bırakma Gerekçesi** (Release Reason) is mandatory. The goods physically stay where they are; the quantity returns to the common stock and can be shipped against another document. This step cannot be undone. No movement is posted to the stock ledger; only Reserved decreases and Available increases. Rejection messages: "Tahsisi elle serbest bırakmak için gerekçe zorunludur." (A reason is mandatory to release an allocation manually.) · "Tahsisin kalanı aşılıyor. Kalan: \{x\}, istenen: \{y\}." (The remainder of the allocation is exceeded. Remaining: \{x\}, requested: \{y\}.) · "Tahsis bu ekranda görüntülendikten sonra değişti. Sayfayı yenileyip tekrar deneyin." (The allocation changed after it was displayed on this screen. Refresh the page and try again.) > **Difference between a reservation and an allocation** A reservation on the **Rezervasyonlar** (Reservations) screen does not lock stock; it only announces the requirement. An **allocation** actually sets the stock aside for a document and reduces the Available quantity. ## Related - [Inventory reports](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari) — stock at a past date, movement listing - [Batches](https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar) --- # Create and withdraw a reservation > Announce in advance the material to be withdrawn from the warehouse with its requirement date, and post a goods issue or transfer from the reservation. URL: https://erpdocs.corexlogic.com/en/stok/islemler/rezervasyon-olusturma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Rezervasyonlar › Rezervasyon Oluştur (Inventory › Goods Movements › Reservations › Create Reservation) - **Screen route:** `/erp/inventory/material-reservations/new` - **Required permission:** `erp-inventory-material-reservations.create`, `erp-inventory-material-reservations.issue` - **Prerequisites:** - The issuing warehouse (and, for a transfer, the target warehouse) is active. A reservation announces a requirement in advance; it does not set the goods aside. The goods move when the withdrawal is posted. ## Steps 1. On the **Stok Yönetimi › Mal Hareketleri › Rezervasyonlar** (Inventory › Goods Movements › Reservations) screen, click **Rezervasyon Oluştur** (Create Reservation). ![Reservations list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/rezervasyon-listesi.png) 1. Create Reservation 2. Requirement date — badge when late 3. Purpose — goods issue or transfer 4. Open the reservation 2. Select the **Amaç** (Purpose): **Mal Çıkışı** (Goods Issue) (consumption, maintenance, cost center) or **Depolar Arası Transfer** (Transfer Between Warehouses). 3. Enter the **Çıkış Deposu** (Issuing Warehouse) (and, for a transfer, the **Hedef Depo** (Target Warehouse)), the **İhtiyaç Tarihi** (Requirement Date) and the **Teslim Alan** (Recipient). 4. Select the products with **Kalem Ekle** (Add Item) and enter the quantity and unit of each item. 5. Click **Rezervasyonu Kaydet** (Save Reservation). 6. When handing over the goods (warehouse keeper), click the item's **Çek** (Withdraw) button in the details; for the transfer purpose, the button is **Transfer Et** (Transfer). ![Open reservation — withdrawal](https://erpdocs.corexlogic.com/en/en/img/screens/stok/rezervasyon-detay.png) 1. Cancel — only if nothing withdrawn 2. Withdrawn and remaining quantity 3. Withdraw — goods issue per line 7. In the withdrawal window, enter the **Çekme Tarihi** (Withdrawal Date), **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status) and **Miktar** (Quantity); select a lot or serial number. If no remainder is expected, select **Son çekme** (Final withdrawal) and click **Çıkışı Kaydet** (Save Issue). **Result:** The reservation is saved as **Açık** (Open) and counts as demand in Malzeme İhtiyaçları (Material Requirements); stock is not locked. Each withdrawal posts a **Sarf / Çıkış** (Consumption / Issue) movement (**Transfer** for a transfer) and appears in the **Hareketler** (Movements) table in the details. ## What you need to know - Demo example: **RZV-2026-000001**, MERKEZ, Mal Çıkışı (Goods Issue), requirement date 05.11.2026, TIC-0002 × 20 and TIC-0003 × 30 ADET — status **Açık** (Open). - A reservation that has never been withdrawn is closed with **İptal Et** (Cancel), and the remainder of a partially withdrawn reservation with **Kalanı Kapat** (Close Remainder), both with a reason. - The person who created the reservation cannot withdraw from their own reservation unless they have the permission for movements without a reference document: "Rezervasyonu açan kişi ondan mal çıkışı yapamaz — çekmeyi başka bir depo sorumlusu yapmalı." (The person who created the reservation cannot post a goods issue from it — another warehouse keeper must make the withdrawal.) - A withdrawal cannot exceed the remainder: "\{n\}. kalemde çekilecek miktar kalanı (\{x\} \{birim\}) aşıyor." (The quantity to be withdrawn on item \{n\} exceeds the remainder (\{x\} \{birim\}).) - A reservation can have at most 200 items; a configurable parent card cannot be selected. ## Related - [Reservations screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/rezervasyonlar) --- # Batches and serial number labels > Batch list and details, batch statuses (Active, Quarantine, Blocked, Expired, Depleted), expiry date, serial number labels. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar A batch is created at the **goods receipt** of a batch-managed item (purchasing goods receipt, goods receipt, production output, opening balance) and is product-based: the same batch can exist in several warehouses and storage locations, and the quantities in the list are the totals across all warehouses. A batch whose stock is used up stays in the list. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Stok Görünümü › Lotlar · Fiziksel Envanter › Seri Etiketleri (Inventory Management › Stock Overview › Batches · Physical Inventory › Serial Number Labels) - **Screen route:** `/erp/inventory/lots` - **Required permission:** `erp-inventory-lots.view (görme) · .edit (bloke etme, özellik düzenleme) · .release (Aktif yapma — blokeyi çözme)`, `erp-inventory-movements.view (İzlenebilirlik) · erp-inventory-stock.view (Seri Etiketleri)` ## Batch list ![Lots list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-listesi.png) 1. Lot status filter 2. Expiry (latest) — expiring lots 3. Expiry date 4. Open the lot Columns: **Lot No** (Batch No.; with a summary of characteristics below it), **Stok Kodu** (Item Code), **Stok Adı** (Item Name), **Durum** (Status), **Üretim Tarihi** (Production Date), **Son Kullanma** (Expiry), **Tedarikçi Lotu** (Supplier Batch), **Mevcut** (On Hand), **Rezerve** (Reserved), **Kullanılabilir** (Available), **Birim** (Unit). Filters: **Ara** (Search; batch no., supplier batch, item code or name), **Durum** (Status), **Depo** (Warehouse), **SKT (en geç)** (Expiry date (latest)). ## Batch statuses | Status | Meaning | Does it block movements? | |---|---|---| | **Aktif** (Active) | Can be used in issues and transfers. | No | | **Karantina** (Quarantine) | Awaiting quality inspection (for information). | No — the block is applied by the stock status (KARANTINA segment) | | **Bloke** (Blocked) | Cannot be used in goods issue and transfer transactions. | **Yes** | | **Süresi Dolmuş** (Expired) | Marked as expired (for information). | No | | **Tükenmiş** (Depleted) | Marked as depleted (for information). | No | Only **Aktif** (Active) and **Bloke** (Blocked) can be set manually. A batch status change **does not post a stock movement** and does not change quantities. An issue from a blocked batch is rejected: "'\{lot\}' lotu bloke — çıkış yapılamaz." (Batch '\{lot\}' is blocked — it cannot be issued.) The **expiry date** is independent of the status: an expired batch is not blocked automatically. The screen shows the warnings "Süresi dolmuş (\{n\} gün önce)" (Expired (\{n\} days ago); in red), "Bugün son gün" (Today is the last day) and, at 30 days or less, "\{n\} gün kaldı" (\{n\} days left). In goods issues, batches are proposed in FEFO order; if an expired batch is selected, a warning appears but the movement is not blocked (scrap and returns are posted with this batch). To stop the use of an expired batch, set the batch to **Bloke** (Blocked). > **Receipt into quarantine** When an item requires quality inspection, its new batch is created at receipt with the **Aktif** (Active) batch status but in the **KARANTINA** (Quarantine) stock status. What releases the goods for use is not the batch status but the quality decision on the **Kalite Kontrol** (Quality Inspection) screen. ## Batch details ![Blocked lot detail](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-detay.png) 1. Blocked — not usable in issue or transfer 2. Opens the traceability report 3. Change Status — Active / Blocked 4. Stock distribution — warehouses and locations Buttons: **İzlenebilirlik** (Traceability; opens the batch in the [Batch/Serial Traceability](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari#lot-seri-izlenebilirlik) report), **Durumu Değiştir** (Change Status), **Lotlara dön** (Back to Batches). Banner on a blocked batch: "Bu lot bloke. Mal çıkış ve transfer işlemlerinde kullanılamaz." (This batch is blocked. It cannot be used in goods issue and transfer transactions.) - **Parti Bilgileri** (Batch Information): Durum (Status), Üretim tarihi (Production date), Son kullanma tarihi (Expiry date), Tedarikçi lot numarası (Supplier batch number), Mevcut (On Hand), Rezerve (Reserved), Kullanılabilir (Available), Kayıt tarihi (Created on). - **Stok Dağılımı** (Stock Distribution): Depo (Warehouse), Lokasyon (Storage Location), Mevcut (On Hand), Rezerve (Reserved), Kullanılabilir (Available), Son hareket (Last movement). - **Özellikler** (Characteristics): the measured values of the batch (**Düzenle** (Edit), **Özellik Ekle** (Add Characteristic)); visible to the operator in the batch options. ## Batch Status dialog ![Lot status dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-durumu.png) 1. Current status 2. New status — Active or Blocked 3. Change Status — writes no stock movement **Mevcut durum** (Current status) and **Yeni durum** (New status: Aktif / Bloke (Active / Blocked)). There is no reason field. When Bloke (Blocked) is selected: "Bu lot bloke edildiğinde mal çıkış ve transfer işlemlerinde kullanılamaz. Mevcut stok yerinde kalır, yalnız kullanımı durdurulur." (When this batch is blocked, it cannot be used in goods issue and transfer transactions. The existing stock stays where it is; only its use is stopped.) Removing the block (**Aktif** (Active)) requires a separate permission; a user without it receives the message "Lotu kullanılabilir yapma (blokeyi çözme) yetkiniz yok — Stok Kontrol'ün işi." (You do not have permission to make the batch available (remove the block) — this is Inventory Control's job.) Step by step: [Change the batch status](https://erpdocs.corexlogic.com/en/stok/islemler/lot-durumu-degistirme). ## Serial Number Labels **Stok Yönetimi › Fiziksel Envanter › Seri Etiketleri** (Inventory Management › Physical Inventory › Serial Number Labels) (`/erp/inventory/serial-labels`). Labels for the units of a serial-managed product: the number is generated from the template of the item's serial number profile; a labeled serial number enters stock when it is scanned during a physical inventory count or a goods receipt. - **Seri Üret ve Etiket Bas** (Generate Serial Numbers and Print Labels) section: **Ürün** (Product; serial-managed) and **Adet** (Quantity; one serial number per unit, at most 500). Serial numbers are created in the **Etiketlendi** (Labeled) status; there is no stock effect. - **Seri Numaraları** (Serial Numbers) list: Seri (Serial Number), Ürün (Product), Durum (Status: Etiketlendi · Stokta · Çıkış Yapıldı · Bloke · Hurda (Labeled · In Stock · Issued · Blocked · Scrapped)), Yeri (Location), Kayıt (Created). The default of the **Durum** (Status) filter is "Etiketlendi (stoğa girmedi)" (Labeled (not yet in stock)). Reprint with **Seçilenlerin Etiketini Bas** (Print Labels for Selected). ## Related - [Batch and serial number tracking process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) - [Quality management](https://erpdocs.corexlogic.com/en/stok/ekranlar/kalite-yonetimi) --- # Create and ship a transfer order > Two-step transfer between warehouses — order, shipment (stock in transit) and arrival. URL: https://erpdocs.corexlogic.com/en/stok/islemler/transfer-siparisi-olusturma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Mal Hareketleri › Transfer Siparişleri › Transfer Siparişi Oluştur (Inventory › Goods Movements › Transfer Orders › Create Transfer Order) - **Screen route:** `/erp/inventory/transfer-orders/new` - **Required permission:** `erp-inventory-transfer-orders.create`, `erp-inventory-movements.transfer` - **Prerequisites:** - The source and target warehouses are different and active. Two-step transfer: between shipment and arrival, the goods appear in **stock in transit** and cannot be used at either the source or the target. ## Steps 1. On the **Stok Yönetimi › Mal Hareketleri › Transfer Siparişleri** (Inventory › Goods Movements › Transfer Orders) screen, click **Transfer Siparişi Oluştur** (Create Transfer Order). 2. Enter the **Kaynak Depo** (Source Warehouse), **Hedef Depo** (Target Warehouse), **Sipariş Tarihi** (Order Date) and **İstenen Varış** (Requested Arrival). 3. Select the products with **Kalem Ekle** (Add Item) and enter the quantities (in the base unit), enter a **Not** (Note) if needed, and click **Transfer Siparişini Kaydet** (Save Transfer Order). 4. When the goods leave, click **Sevk Et** (Ship) in the order details. Enter the **Sevk Tarihi** (Shipping Date); correct the quantities to be shipped in the **Kaynak Deponun Serbest Stoğu** (Unrestricted Stock of the Source Warehouse) table (0 for a line that will not be shipped) and click **Transfer Sevki Kaydet** (Save Transfer Shipment). ![Transfer order — in shipment](https://erpdocs.corexlogic.com/en/en/img/screens/stok/transfer-siparisi.png) 1. Status: In shipment 2. Ship — from source into transit 3. Post Arrival — from transit to target 4. Shipped · In transit · Arrived 5. When the goods arrive at the target, click **Varışı Kaydet** (Post Arrival); enter the **Varış Tarihi** (Arrival Date) and the **Hedef Göz** (Target Bin) of each line, then click **Transfer Varışı Kaydet** (Save Transfer Arrival). **Result:** The shipment posts a **Transfer** movement from the source warehouse to stock in transit, and the arrival posts one from stock in transit to the target warehouse. When all items have arrived, the order becomes **Tamamlandı** (Completed); a remainder that will not be shipped is closed with **Kalanı Kapat** (Close Remainder). ## What you need to know - Demo example: **DTS-2026-000001**, MERKEZ → MAMUL; 24 ADET of TIC-0002 was shipped (transfer shipment **NSV-2026-000001**), and the arrival has not yet been posted — status **Sevkiyatta** (In Shipment), TIC-0002 in transit 24. - An order that has never been shipped is cancelled with **İptal Et** (Cancel); if shipping has started, use **Kalanı Kapat** (Close Remainder) instead of cancelling (when no goods are in transit). - Stock in quarantine cannot be shipped ("Önce kalite kararı" (Quality decision first)). - The shipping date cannot be earlier than the order date: "Hareket tarihi sipariş tarihinden önce olamaz." (The movement date cannot be earlier than the order date.) ## Related - [Transfer orders screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/transfer-siparisleri) --- # Physical inventory counts > Physical inventory — scope and freeze, count entry, blind count, difference posting with a second signature, recount, cancellation and periodic count. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari Physical counting and posting the difference to the ledger **with a second signature**. The moment a count is opened, its scope is **frozen**: until the count is posted or cancelled, no delivery, goods receipt, production or adjustment can be posted for those items. End-to-end example: [Physical inventory process](https://erpdocs.corexlogic.com/en/surecler/stok-sayimi). - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Fiziksel Envanter › Stok Sayımları · Dönemsel Sayım (Inventory Management › Physical Inventory › Physical Inventory Counts · Periodic Count) - **Screen route:** `/erp/inventory/counts` - **Required permission:** `erp-inventory-counts.view (görme) · .create (Yeni Sayım, Sayımı İptal Et, dönemsel Sayım Aç)`, `erp-inventory-counts.edit (sayım girişi, Bulunan Ürün, Okutarak Say, Sayımı Tamamla)`, `erp-inventory-counts.approve (Defter ve Fark kolonları, Farkı Kaydet, Yeniden Saymaya Gönder, sayım döngüsü kuralları)` ## List ![Stock counts list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-listesi.png) 1. New Count — freezes the scope 2. Scope — category or all products 3. Counted / total lines 4. Count document Columns: **Sayım No** (Count No.; SAY-yyyy-nnnnnn), **Durum** (Status), **Depo** (Warehouse; warehouse / storage location), **Kapsam** (Scope; "Bütün ürünler" (All products) if empty), **Sayım Günü** (Count Day), **Sayılan** (Counted; counted rows / total rows), **Açan** (Opened By), **Kaydedildi** (Posted). Filters: Ara (Search; count no., category, description), Durum (Status), **Sorumlu olduğum depolar** (Warehouses I manage). Row menu **Sayımı Aç** (Open Count). ## Statuses | Status | Meaning | Actions | |---|---|---| | **Sayımda** (Counting) | The scope is frozen; quantities are being entered. | **Girişleri Kaydet** (Save Entries), **Sayımı Tamamla** (Complete Count; once all rows have been counted), **Bulunan Ürün** (Found Item), **Okutarak Say** (Count by Scanning), **Sayımı İptal Et** (Cancel Count) | | **Sayım Tamamlandı** (Count Completed) | The count is finished; the difference is awaiting posting. | **Farkı Kaydet** (Post Difference), **Yeniden Saymaya Gönder** (Send for Recount; → Sayımda (Counting)), **Sayımı İptal Et** (Cancel Count) | | **Kaydedildi** (Posted) | The difference has been posted to the ledger; the freeze is lifted. The document does not change. | — | | **İptal Edildi** (Cancelled) | Nothing was posted to the ledger; the freeze is lifted. | — | There is no "Taslak" (Draft) status. No separate recount document is opened; **Yeniden Saymaya Gönder** (Send for Recount) returns the same document to **Sayımda** (Counting). ## New Physical Inventory Count ![New stock count dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-yeni.png) 1. Warehouse — required 2. Location — all locations if empty 3. Category — includes subcategories 4. ABC class — class stored on the item 5. Summary of the scope to freeze 6. Start Count | Field | Mandatory | Note | |---|---|---| | **Depo** (Warehouse) | Yes | Selected automatically if there is only one warehouse. | | **Lokasyon** (Storage Location) | No | All storage locations if empty. | | **Kategori** (Category) | No | Also includes subcategories. All products if empty. | | **ABC sınıfı** (ABC class) | No | The class written on the item (ABC Analizi › Karta Yaz (ABC Analysis › Write to Item)); an item without a class is not included in a class-based count and is not frozen. | | **Açıklama** (Description) | No | At most 1024 characters. | There is no count date field — the count day is the server's current date. A summary of the "Donacak kapsam" (Scope to be frozen) is shown at the bottom of the dialog. **Sayımı Başlat** (Start Count) opens the document in the **Sayımda** (Counting) status and brings in the balance rows with stock in the scope as count rows. A second open count that overlaps the same shelf cannot be opened. ## Count entry ![Counting — entering counted quantities](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-girisi.png) 1. Scope frozen — no movements for these items 2. Counted — empty = not counted, 0 = none on shelf 3. Book and Difference — approvers only 4. Found Item — goods not on the list 5. Save Entries 6. Complete Count — when every line is counted - Banner: "Kapsam donduruldu (\{tarih saat\}): \{DEPO\} / \{LOK\} · \{kapsam\}. …" (Scope frozen (\{date time\}): \{WAREHOUSE\} / \{LOC\} · \{scope\}. …) - The **Sayım Satırları · x / y sayıldı** (Count Rows · x / y counted) table: #, Ürün (Product), Lokasyon (Storage Location), Stok Durumu (Stock Status), Lot (Batch), **Defter** (Book Quantity), **Sayılan** (Counted), **Fark** (Difference), Sayan (Counted By). - The quantity is entered in the base unit in the **Sayılan** (Counted) cell; Enter moves down one row. **Empty = not counted, 0 = not on the shelf.** On a serial-managed row, the serial numbers found are entered in the **Seri Gir** (Enter Serial Numbers) dialog. - **Blind count**: the **Defter** (Book Quantity) and **Fark** (Difference) columns are never sent to a user without the approval permission. - **Bulunan Ürün** (Found Item): a new row for goods that are not in the ledger but were found on the shelf (Ürün (Product), Lokasyon (Storage Location), Stok Durumu (Stock Status), Lot (Batch), Seriler (Serial Numbers), Sayılan (Counted)). A found row can be deleted from the action menu; a row that came from the ledger cannot be deleted. - **Okutarak Say** (Count by Scanning): select the storage location and stock status, then scan a label or barcode; a serial number label brings in the serial number, and a product barcode prompts for the quantity (a carton barcode is counted by carton). - The **Sayılmayanlar** (Not counted) and **Farklılar** (With differences) toggles filter the rows. - **Girişleri Kaydet** (Save Entries) saves what has been entered; **Sayımı Tamamla** (Complete Count) first saves any unsaved entries, and is disabled until all rows have been counted ("\{n\} satır sayılmadı" (\{n\} rows not counted)). ## Difference posting (second signature) ![Count completed — awaiting difference posting](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-tamamlandi.png) 1. Second signature — another approver posts 2. Difference summary 3. Book · Counted · Difference 4. Send Back for Recount 5. Post Difference — writes stock adjustments In the **Sayım Tamamlandı** (Count Completed) status, the approver sees the difference ("Fazla a · eksik b · farksız c satır" (Surplus a · shortage b · no difference c rows)) and posts it to the ledger with **Farkı Kaydet** (Post Difference). **Second signature**: the person who entered quantities in this count or completed the count cannot post the difference. ![Post difference dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-kaydet.png) 1. Increase and decrease lines to post 2. Post Difference The difference is posted with today's date: | Row | Movement posted | |---|---| | Counted > Book Quantity | **Stok Fazlası Düzeltmesi** (Stock Surplus Adjustment; receipt), by the difference | | Counted < Book Quantity | **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment; issue), by the difference | | No difference | No movement | | Serial number difference | Missing serial numbers are issued, surplus serial numbers are received | The source document of the movements is "Stok Sayımı" (Physical Inventory Count), and their description is the count number; no movement reason is assigned. After posting, the freeze is lifted and the document becomes **Kaydedildi** (Posted). If a shortage occurs in allocated stock, posting is rejected — release the allocation first. Demo example: the difference of SAY-2026-000001 was posted by **Demo Onaylayıcı** (Demo Approver), not by Demo Kullanıcı (Demo User), who entered and completed the count. The top of the document reads "Fark deftere yazıldı. Belge artık değişmez." (The difference has been posted to the ledger. The document no longer changes.); the **Farkı Kaydeden** (Difference Posted By) field shows the person who posted it and the date, and the **Defter** (Book Quantity), **Sayılan** (Counted) and **Fark** (Difference) columns remain on the document. ![Count posted — difference written to the ledger](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-kaydedildi.png) 1. Status — document is final 2. Freeze lifted 3. Second signature — who posted and when 4. Difference — turned into adjustments In **Stok Hareketleri** (Stock Movements), the filter **Kaynak Belge = Stok Sayımı** (Source Document = Physical Inventory Count) lists the adjustments; the **Kaynak** (Source) column shows "Stok Sayımı #1", and the movement details show SAY-2026-000001 in **Açıklama** (Description) and the **Belge satırı** (Document line; the count row). ![Stock Movements — count difference adjustments](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-hareketleri.png) 1. Source document = Stock Count 2. Surplus — receipt 3. Shortage — issue 4. Source — the count document In the **Sayımı İptal Et** (Cancel Count) dialog, **Gerekçe** (Reason) is mandatory (at most 512 characters); nothing is posted to the ledger, and the entered counts remain on the document. ## Rejection messages | Situation | Message | |---|---| | Overlapping open count | "Bu kapsamla çakışan açık bir sayım var: \{no\}. Aynı rafı iki sayım birden donduramaz — önce onu kaydedin ya da iptal edin." (There is an open count that overlaps this scope: \{no\}. Two counts cannot freeze the same shelf — first post or cancel that one.) | | No items in scope | "'\{yol\}' kategorisinde stok ürünü yok — sayılacak bir şey yok." (Category '\{yol\}' has no stock items — there is nothing to count.) | | Scope without classes | "\{X\} sınıfında ürün yok — önce ABC Analizi'nden sınıfları karta yazın." (There are no items in class \{X\} — first write the classes to the items from ABC Analizi (ABC Analysis).) | | Inactive warehouse/storage location | "'\{kod\}' deposu pasif — sayım açılamaz." (Warehouse '\{kod\}' is inactive — no count can be opened.) · "'\{kod\}' lokasyonu pasif — sayım açılamaz." (Storage location '\{kod\}' is inactive — no count can be opened.) | | Movement for a frozen item | "'\{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.) | | Row not counted | "\{n\} satır sayılmadı. Sayılmayan satır "yok" demek değildir — rafta yoksa sıfır girin." (\{n\} rows not counted. A row that has not been counted does not mean "none" — if it is not on the shelf, enter zero.) | | Negative quantity | "Satır \{n\}: sayılan miktar negatif olamaz." (Row \{n\}: the counted quantity cannot be negative.) | | Serial number count | "Satır \{n\}: sayılan miktar seri adedine eşit olmalı (seri: a, miktar: b)." (Row \{n\}: the counted quantity must equal the number of serial numbers (serial numbers: a, quantity: b).) | | Duplicate row | "'\{kod\}' için aynı lokasyon, stok durumu ve lotta zaten bir satır var — o satırın sayılan miktarını güncelleyin." (A row already exists for '\{kod\}' with the same storage location, stock status and batch — update the counted quantity of that row.) | | Item outside the scope | "'\{kod\}' bu sayımın kapsamında değil (\{kapsam\})." ('\{kod\}' is not within the scope of this count (\{kapsam\}).) | | Deleting a ledger row | "Satır \{n\} defterden geldi — silinemez. Rafta yoksa sıfır sayın." (Row \{n\} came from the ledger — it cannot be deleted. If it is not on the shelf, count zero.) | | Second signature | "Sayımı tamamlayan kişi farkı kaydedemez — ikinci imza başka bir kullanıcıdan gelmeli." (The person who completed the count cannot post the difference — the second signature must come from another user.) · "Bu sayımda miktar giren kişi farkı kaydedemez — ikinci imza başka bir kullanıcıdan gelmeli." (The person who entered quantities in this count cannot post the difference — the second signature must come from another user.) | | Ledger changed during the count | "Sayım açıldıktan sonra şu satırların defter miktarı değişti: … . Sayımı iptal edip yeniden açın." (The book quantity of the following rows changed after the count was opened: … . Cancel the count and open it again.) | | Status error | "\{eylem\}: sayım '\{durum\}' durumunda." (\{action\}: the count is in status '\{durum\}'.) (e.g. "Fark kaydedilemez: sayım 'Sayımda' durumunda." (The difference cannot be posted: the count is in status 'Sayımda' (Counting).)) | | Cancellation reason | "İptal gerekçesi zorunludur." (A cancellation reason is mandatory.) | ## Periodic Count {#donemsel-sayim} ![Cycle counting](https://erpdocs.corexlogic.com/en/en/img/screens/stok/donemsel-sayim.png) 1. Due — scopes that are due 2. Cycles — interval per warehouse/category/ABC **Stok Yönetimi › Fiziksel Envanter › Dönemsel Sayım** (Inventory Management › Physical Inventory › Periodic Count). A count interval is defined per warehouse, category and ABC class; the count for a scope that is due is opened from here (counts are not opened automatically). - The **Sayım Döngüleri** (Count Cycles) tab: **Yeni Kural** (New Rule) — **Depo** (Warehouse; mandatory), **Kategori** (Category; default "Bütün depo" (Entire warehouse)), **ABC sınıfı** (ABC class), **Aralık (gün)** (Interval (days); mandatory, 1–3650, default 30; calendar days from the last posted count), **Not** (Note), **Aktif** (Active). The scope of a saved rule does not change. - The **Sayımı Gelenler** (Due for Count) tab: Kapsam (Scope), Aralık (Interval), Son Sayım (Last Count), Sonraki Vade (Next Due), Durum (Status: Hiç sayılmadı · Vadesi geçti · Vadesi bugün · N gün sonra · Sayımda (Never counted · Overdue · Due today · In N days · Counting)). The **Sayım Aç** (Open Count) button opens the New Physical Inventory Count dialog with the scope prefilled. ## Related - [Open a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/stok-sayimi-acma) · [Enter count results](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma) · [Post the count difference](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme) --- # Open a physical inventory count > Select the count scope by warehouse, storage location, category and ABC class and start the count — the scope is frozen. URL: https://erpdocs.corexlogic.com/en/stok/islemler/stok-sayimi-acma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Fiziksel Envanter › Stok Sayımları › Yeni Sayım (Inventory › Physical Inventory › Physical Inventories › New Count) - **Screen route:** `/erp/inventory/counts` - **Required permission:** `erp-inventory-counts.create` - **Prerequisites:** - The warehouse and storage location are active; there is no open count overlapping the scope. - The people concerned have been informed that no movements will be posted for the products in scope during the count. The count document is the record of the physical inventory count. As soon as it is opened, the scope is frozen, so the ledger does not change during the count. ## Steps 1. On the **Stok Yönetimi › Fiziksel Envanter › Stok Sayımları** (Inventory › Physical Inventory › Physical Inventories) screen, click **Yeni Sayım** (New Count). 2. Select the **Depo** (Warehouse). 3. To narrow the count, select a **Lokasyon** (Storage Location), **Kategori** (Category) and/or **ABC sınıfı** (ABC class). A field left blank means all storage locations / all products / all classes. 4. Enter an **Açıklama** (Description) and check the **Donacak kapsam** (Scope to be frozen) summary at the bottom. ![New stock count dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-yeni.png) 1. Warehouse — required 2. Location — all locations if empty 3. Category — includes subcategories 4. ABC class — class stored on the item 5. Summary of the scope to freeze 6. Start Count 5. Click **Sayımı Başlat** (Start Count). **Result:** The count opens in **Sayımda** (Counting) status, and the balance lines with stock in the scope come in as count lines. Until the count is posted or cancelled, no deliveries, goods receipts, production or adjustments can be posted for these products. Next step: [Enter physical inventory counts](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma). ## What you need to know - Demo example: **SAY-2026-000001** — HAMMADDE / RAF-B · Sarf Malzemeleri (Consumables), 7 lines. - The count date is the server's current date; there is no date field. - A category also covers its subcategories. The ABC class is the class recorded on the card; a product without a class is not included in a count by class and is not frozen. - If the scope overlaps: "Bu kapsamla çakışan açık bir sayım var: \{no\}. Aynı rafı iki sayım birden donduramaz — önce onu kaydedin ya da iptal edin." (There is an open count overlapping this scope: \{no\}. Two counts cannot freeze the same shelf at once — post or cancel that one first.) - If there are no products with stock in the scope: "'\{yol\}' kategorisinde stok ürünü yok — sayılacak bir şey yok." (There are no stock products in category '\{yol\}' — there is nothing to count.) - For regular counts, define a rule in **Dönemsel Sayım** (Cycle Count); the **Sayım Aç** (Open Count) button of a scope that is due opens this window pre-filled. - The count lines are the balances **with stock** at the time of opening; goods found on the shelf but not in the book are added during entry with **Bulunan Ürün** (Found Product). ## Related - [Physical inventories screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) - [Physical inventory process](https://erpdocs.corexlogic.com/en/surecler/stok-sayimi) --- # Inventory transactions > Opening balance, stock adjustment and scrap document — document-based stock postings, movement reason, reversal and opening valuation. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-islemleri Document-based stock postings: the **opening balance** (initial carry-forward into the ledger), the **stock adjustment** (aligning the recorded quantity with the physical reality) and the **scrap document** (the physical issue of unusable stock). None of the three has a draft or approval step: the document is **posted to the ledger the moment it is saved** and cannot be changed or deleted afterwards. For adjustments and scrap, an incorrect posting is corrected with **Geri al** (Reverse), which creates a separate reversal document; opening balances cannot be reversed. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Stok İşlemleri › Açılış Bakiyeleri · Stok Düzeltmeleri · Hurda İşlemleri (Inventory Management › Inventory Transactions › Opening Balances · Stock Adjustments · Scrap Transactions) - **Screen route:** `/erp/inventory/adjustments` - **Required permission:** `erp-inventory-opening-balances.view / .create / .import · erp-inventory-costs.view (Birim Maliyet)`, `erp-inventory-adjustments.view / .create · erp-inventory-adjustment-reversals.view / .create (Geri al)`, `erp-inventory-scrap.view / .create · erp-inventory-scrap-reversals.view / .create (Geri al)` ## Opening Balances ![Opening balances list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/acilis-bakiyeleri.png) 1. Import — via the data-exchange workbook 2. Opening document 3. Line count The initial carry-forward of existing physical stock into the ledger — it is not a goods receipt. List columns: **Açılış No** (Opening No.; AB-yyyy-nnnnnn), **Açılış Tarihi** (Opening Date), **Referans** (Reference), **Satır** (Lines), **Kaydeden** (Posted By), **Kayıt Zamanı** (Created At). **İçe Aktar** (Import) opens the opening stock workbook of Veri Aktarımı (Data Import). The **Yeni Açılış Bakiyesi** (New Opening Balance) form: **Açılış Tarihi** (Opening Date) \* (defaults to today), **Referans** (Reference; count record, old document no.), **Açıklama** (Description); lines with **Kalem Ekle** (Add Line): **Ürün** (Product) \*, **Depo** (Warehouse) \*, **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status) \* (does not fall back to the default), **Miktar** (Quantity) \*, **Birim** (Unit) \*, **Birim Maliyet** (Unit Cost; only with the cost permission; amount + currency), for a batch-managed item **Lot No** (Batch No.) \*, for a serial-managed item **Seri Numaraları** (Serial Numbers; count equal to the quantity). Button **Açılış bakiyesini kaydet** (Save opening balance). If no unit cost is entered, the stock remains without value until the first receipt with a cost — its value is posted later with **Açılış Değerlemesi** (Opening Valuation; see below). Movement type **Açılış Bakiyesi** (Opening Balance; receipt). Rejection messages: "Açılış bakiyesinde stok durumu zorunludur — devralınan stok varsayılan duruma atanamaz." (The stock status is mandatory in an opening balance — carried-forward stock cannot be assigned to the default status.) · "Birim maliyet yalnız stok maliyetini görme yetkisiyle girilebilir." (A unit cost can be entered only with the permission to view inventory cost.) · "\{n\}. satır: birim maliyet ve para birimi birlikte girilir." (Line \{n\}: the unit cost and the currency are entered together.) · "'\{kod\}' kartı pasif — açılış yazılamaz." (Item '\{kod\}' is inactive — no opening balance can be posted.) ## Stock Adjustments ![New stock adjustment](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-duzeltmesi-yeni.png) 1. Adjustment type — increase or decrease 2. Business date 3. Add line 4. Save Adjustment — document is immutable List columns: **Düzeltme No** (Adjustment No.), **Tür** (Type: Stok Artırma Düzeltmesi · Stok Azaltma Düzeltmesi (Stock Increase Adjustment · Stock Decrease Adjustment)), **İş Tarihi** (Business Date), **Referans** (Reference), **Satır** (Lines), **Kaydeden** (Posted By), **Kayıt Zamanı** (Created At). The **Yeni Stok Düzeltmesi** (New Stock Adjustment) form: | Field | Mandatory | Note | |---|---|---| | **Düzeltme Türü** (Adjustment Type) | Yes | Defaults to Stok Artırma Düzeltmesi (Stock Increase Adjustment); when the type changes, incompatible reason selections are cleared. | | **İş Tarihi** (Business Date) | Yes | Defaults to today. | | **Referans** (Reference), **Açıklama** (Description) | No | Count record, inspection report… | | Line: **Ürün** (Product), **Depo** (Warehouse), **Stok Durumu** (Stock Status), **Neden** (Reason), **Miktar** (Quantity), **Birim** (Unit) | Yes | **Lokasyon** (Storage Location) if the warehouse requires it; batch and serial number according to the tracking type. **Neden** (Reason) comes from the active movement reasons of the selected type. | Button **Düzeltmeyi kaydet** (Save adjustment). If there is no active movement reason of the selected type, the form cannot be saved ("Uygun bir hareket nedeni tanımlanana kadar bu belge kaydedilemez." (This document cannot be saved until a suitable movement reason is defined.)); reasons are defined in **Yönetim › Özelleştirme › Stok › Hareket Nedenleri** (Administration › Customization › Inventory › Movement Reasons). Stock effect: for an increase, **Stok Fazlası Düzeltmesi** (Stock Surplus Adjustment; receipt); for a decrease, **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment; issue). **Geri al** (Reverse; in the details): **İş Tarihi** (Business Date), **Gerekçe** (Reason) \*, and "Geri alınacak miktar" (Quantity to reverse) in the **Geri Alınabilir Satırlar** (Reversible Lines) table (empty = the entire remainder). Button **Geri almayı kaydet** (Save reversal). The reversal of an increase posts Giriş Geri Alma (Receipt Reversal; issue), and the reversal of a decrease posts Çıkış Geri Alma (Issue Reversal; receipt). The reversal document cannot be changed either. Rejection messages: "\{n\}. satır: hareket nedeni zorunludur." (Line \{n\}: the movement reason is mandatory.) · "\{n\}. satır: '\{kod\}' nedeni '\{tür\}' türünde — bu belge '\{tür\}' nedeni bekliyor." (Line \{n\}: reason '\{kod\}' is of type '\{tür\}' — this document expects a reason of type '\{tür\}'.) · "\{n\}. satır: stok durumu zorunludur — varsayılana düşülmez." (Line \{n\}: the stock status is mandatory — it does not fall back to the default.) · "Geri alınabilir miktar aşılıyor. Kalan: \{r\}, istenen: \{q\}." (The reversible quantity is exceeded. Remaining: \{r\}, requested: \{q\}.) · "Bu satır daha önce tamamen geri alınmış." (This line has already been fully reversed.) ## Scrap Transactions {#hurda-islemleri} The physical issue of stock that has become unusable — it is not an adjustment, and there is no target warehouse. The **Yeni Hurda Fişi** (New Scrap Document) form has the same line structure as the adjustment (reason type **Hurda** (Scrap)); batch and serial numbers are selected only from existing stock. Button **Hurda fişini kaydet** (Save scrap document). Movement type **Hurda** (Scrap; issue). Stock in quarantine or rejected stock can be scrapped: **Kalite Kontrol › Reddedilen Stok › Hurdaya Ayır** (Quality Inspection › Rejected Stock › Scrap) opens the form prefilled ("Reddedilen stoktan dolduruldu — hurda nedenini seçip kaydedin." (Filled from rejected stock — select the scrap reason and save.)). **Geri al** (Reverse) brings the scrap back (Çıkış Geri Alma (Issue Reversal)). ## Opening Valuation {#acilis-degerlemesi} **Açılış Değerlemesi** (Opening Valuation) in the toolbar of the **Stok Yönetimi › Değerleme › Yeniden Değerleme** (Inventory Management › Valuation › Revaluation) list (`/erp/inventory/revaluations/new/opening`; requires the permissions to view cost and to create valuations). It posts an authorized opening value for stock whose cost is unknown — **the quantity does not change**, and posted documents do not change. 1. Enter the **Gerekçe** (Reason), **İş Tarihi** (Business Date) and **Dayanak Referansı** (Supporting Reference), and select one of the **Muhasebe Etkisi** (Accounting Effect) options (the screen does not preselect one; the decision belongs to the financial advisor). 2. Select rows from the **Maliyeti Bilinmeyen Stok** (Stock with Unknown Cost) list; in **Değerlenecek Satırlar** (Rows to Valuate), enter a unit cost for each row (zero cannot be entered). 3. **Önizle** (Preview) — a preview is mandatory before posting; if the form changes, preview again. 4. **Açılış Değerlemesini Kaydet** (Save Opening Valuation) → confirmation "Açılış değerlemesi kaydedilsin mi?" (Save the opening valuation?). ## Related - [Post a stock adjustment](https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma) - [Inventory settings › Movement Reasons](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari#hareket-nedenleri) --- # Enter physical inventory counts > Enter counted quantities in an open physical inventory count, add found products, count serial numbers and complete the count. URL: https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Fiziksel Envanter › Stok Sayımları › sayım detayı (Inventory › Physical Inventory › Physical Inventories › count details) - **Screen route:** `/erp/inventory/counts/{id}` - **Required permission:** `erp-inventory-counts.edit` - **Prerequisites:** - The count is in **Sayımda** (Counting) status. The counter enters the quantity found on the shelf in the count line. A user without approval permission counts **blind**: they do not see the book quantity or the difference. ## Steps 1. Open the count from the **Stok Sayımları** (Physical Inventories) list (**Sayımı Aç** (Open Count)). 2. In the **Sayım Satırları** (Count Lines) table, type the quantity you counted on the shelf in the base unit in the **Sayılan** (Counted) cell of the first line; `Enter` moves to the next line. If there is none on the shelf, enter 0 — an empty cell means 'not counted'. ![Counting — entering counted quantities](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-girisi.png) 1. Scope frozen — no movements for these items 2. Counted — empty = not counted, 0 = none on shelf 3. Book and Difference — approvers only 4. Found Item — goods not on the list 5. Save Entries 6. Complete Count — when every line is counted 3. On a serial-managed line, click **Seri Gir** (Enter Serial Numbers), scan or type the serial numbers found, and press **Serileri Kaydet** (Save Serial Numbers). 4. For goods found on the shelf but not in the list, click **Bulunan Ürün** (Found Product); enter the **Ürün** (Product), **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status), **Lot** for a lot-managed card, and **Sayılan** (Counted), then press **Satır Ekle** (Add Line). 5. When taking a break, click **Girişleri Kaydet** (Save Entries). You can filter the remaining lines with the **Sayılmayanlar** (Not Counted) switch. 6. When all lines have been counted, click **Sayımı Tamamla** (Complete Count). **Result:** The count moves to **Sayım Tamamlandı** (Count Completed) status; the scope stays frozen. The difference is posted by an authorized user who has not entered quantities in this count: [Post the physical inventory difference](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme). ## What you need to know - Demo example: **SAY-2026-000002** (MERKEZ · Yedek Parçalar (Spare Parts)) — YP-0001 24 ADET and YP-0002 4 ADET were entered, 2 lines were not counted; the document is **Sayımda** (Counting). - In the **Okutarak Say** (Count by Scanning) section, select a storage location and stock status and scan a label or barcode: a serial number label adds the serial number, a product barcode asks for the quantity ("Ekle" (Add) or "Üzerine yaz" (Overwrite)). - Cell errors: "Sayı değil" (Not a number), "Negatif olamaz" (Cannot be negative), "En fazla \{n\} ondalık" (At most \{n\} decimals). - The count cannot be completed while there are uncounted lines: "\{n\} satır sayılmadı. Sayılmayan satır "yok" demek değildir — rafta yoksa sıfır girin." (\{n\} lines have not been counted. An uncounted line does not mean "none" — if there is none on the shelf, enter zero.) - A line that came from the book cannot be deleted: "Satır \{n\} defterden geldi — silinemez. Rafta yoksa sıfır sayın." (Line \{n\} came from the book — it cannot be deleted. If there is none on the shelf, count zero.) - A second line cannot be added for the same storage location, status and lot; update the quantity of the existing line. ## Related - [Physical inventories screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) --- # Quality management > Quarantine queue, inspection lot, release and rejection decision, inspection plan, quality notification and defect codes. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/kalite-yonetimi For a product whose master record has **Girişte kalite kontrol › Gerekli** (Quality inspection at receipt › Required) set, the goods receipt (purchasing goods receipt, Goods Receipt without a reference document) and the production output are posted to the **KARANTINA** (Quarantine) stock status, and an **inspection lot** is opened. Stock in quarantine cannot be shipped, consumed or transferred. The goods move to available stock, or are rejected, through the quality specialist's **usage decision**. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Kalite Yönetimi › Kontrol Partileri · Kalite Kontrol · Muayene Planları · Kalite Bildirimleri · Kusur Kodları (Inventory Management › Quality Management › Inspection Lots · Quality Inspection · Inspection Plans · Quality Notifications · Defect Codes) - **Screen route:** `/erp/inventory/quality` - **Required permission:** `erp-inventory-quality.view (görme) · .edit (sonuç kaydı, muayene planı, kusur kodu) · .release (kalite kararı)`, `erp-inventory-scrap.create (Hurdaya Ayır) · erp-inventory-quality-notifications.view / .create / .edit` ## Quality Inspection (quarantine queue) ![Quality Control — quarantine queue](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-kontrol.png) 1. Awaiting decision 2. Rejected stock — scrap or return 3. Inspection lot 4. Release 5. Reject Tabs: **Karar Bekleyenler** (Awaiting Decision) and **Reddedilen Stok** (Rejected Stock). Columns: Ürün (Product), Yeri (Location; warehouse · storage location · batch), Durum (Status), Kontrol Partisi (Inspection Lot), Miktar (Quantity), Son Hareket (Last Movement). The **Kararlar** (Decisions) button opens the Kalite Kararları (Quality Decisions) list. | Tab | Row actions | |---|---| | Karar Bekleyenler (Awaiting Decision) | **Serbest Bırak** (Release) · **Reddet** (Reject) | | Reddedilen Stok (Rejected Stock) | **Tedarikçiye İade** (Return to Supplier) · **Hurdaya Ayır** (Scrap; the scrap form opens prefilled) · **Red Kararını Düzelt** (Correct Rejection Decision) | > **Second signature** "Malı karantinaya alan kullanıcı kararı veremez — kayıt ikinci imza ister." (The user who put the goods into quarantine cannot make the decision — the posting requires a second signature.) If the user who received the goods attempts the decision: "Bu stoğu karantinaya siz aldınız — kalite kararını başka bir kullanıcı vermelidir. Malı içeri alan ile serbest bırakan aynı kişi olamaz." (You put this stock into quarantine — another user must make the quality decision. The person who received the goods and the person who releases them cannot be the same.) ## Decision dialog ![Release dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar.png) 1. Quantity — partial decision allowed 2. Reason — required 3. Reference — report, certificate no 4. Release Fields: Ürün (Product), Yeri (Location), **Miktar** (Quantity; a partial decision is possible; the remainder waits in quarantine), for a serial-managed product **Seriler** (Serial Numbers), **Gerekçe** (Reason; mandatory — the decision changes the usability of the goods), **Referans** (Reference; inspection report, certificate no., record). Step by step: [Make a quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme). | Decision | Stock effect | |---|---| | **Serbest Bırakıldı** (Released) | The quantity in quarantine moves to the default (available) stock status. | | **Reddedildi** (Rejected) | The quantity moves to the **Reddedildi** (Rejected; RED) status; it does not return to available stock and leaves through scrap or a return. | | Red Kararını Düzelt (Correct Rejection Decision) | The rejection decision is not reversed; a new release decision is posted with its reason. | Demo example: the decision for KP-2026-000001 (HAM-0070, batch SLES-2611-004, 400 KG) was made by **Demo Onaylayıcı** (Demo Approver), not by Demo Kullanıcı (Demo User), who received the goods. The **Serbest Bırak — HAM-0070** (Release — HAM-0070) dialog reads "Mal muayeneden geçti; kullanılabilir stoğa alınıyor ve sevk, sarf, transfer yollarına açılıyor." (The goods passed inspection; they are being moved to available stock and opened for shipment, consumption and transfer); under **Miktar** (Quantity) it shows "Karantinada 400 KG — kısmi karar verilebilir; kalan karantinada bekler." (400 KG in quarantine — a partial decision is possible; the remainder waits in quarantine.), and under **Gerekçe** (Reason) "Kayıt denetim izidir; boş bırakılamaz." (The record is an audit trail; it cannot be left empty.). ![Release — with reason and reference](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar-onayci.png) 1. Quantity — partial decision allowed 2. Reason — required 3. Reference — certificate of analysis 4. Release — quarantine → unrestricted The decision posts a **Stok Durumu Değişimi** (Stock Status Change) movement (source document "Kalite Kararı" (Quality Decision)); the warehouse and storage location do not change. The movement is a pair ("Stok durumu değişimi çifti" (Stock status change pair)): an issue from the quarantine status and a receipt into the target status — in the example, an issue of 400 KG from KARANTINA and a receipt of 400 KG into SIFIR. ![Stock Movements — status change from the quality decision](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar-hareketi.png) 1. Source document = Quality Decision 2. Status change pair: quarantine out, unrestricted in 3. Stock status and lot The Kalite Kararları (Quality Decisions) list (Belge No (Document No.), İş Tarihi (Business Date), Karar (Decision), Gerekçe (Reason), Miktar (Quantity), Kaydeden (Posted By), Kayıt Zamanı (Created At)) does not change; a correction is made with a new decision. The document number has the format KLT-yyyy-nnnnnn (example: KLT-2026-000001 · Serbest Bırakıldı (Released) · 400). The list is opened with the **Kararlar** (Decisions) button in **Kalite Kontrol** (Quality Inspection); the **Karantina Kuyruğu** (Quarantine Queue) button returns to the queue. ![Quality Decisions — release record](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-kararlari.png) 1. Decision document — immutable 2. Decision 3. Reason 4. Recorded by — not the person who received the goods ## Inspection Lots ![Inspection lot detail](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kontrol-partisi.png) 1. Inspection lot status 2. Release 3. Reject 4. Close Lot — with a reason List: Parti No (Lot No.; KP-yyyy-nnnnnn), Tarih (Date), Kaynak (Source: Mal girişi · Üretim çıktısı · Ara muayene (Goods receipt · Production output · In-process inspection)), Ürün (Product), Depo · Göz · Lot (Warehouse · Bin · Batch), Açık / Miktar (Open / Quantity), Sonuç (Result), Durum (Status). | Status | Meaning | |---|---| | **Sonuç Bekliyor** (Awaiting Results) | Inspection results are to be entered. | | **Karar Bekliyor** (Awaiting Decision) | Results have been entered; the usage decision is pending. | | **Karara Bağlandı** (Decided) | The entire quantity has been decided. | | **İptal** (Cancelled) | The lot was closed with a reason. | When a decision has been made for the lot, its status becomes **Karara Bağlandı** (Decided); the **Serbest · Red · Açık** (Released · Rejected · Open) row shows the distribution (example 400 · 0 · 0), the **Kullanım Kararları** (Usage Decisions) table shows the decision and the target stock status ("Serbest Bırakıldı → SIFIR" (Released → SIFIR)); the decision buttons disappear. ![Inspection lot — decided](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kontrol-partisi-karara-baglandi.png) 1. Inspection lot status 2. Released · Rejected · Open 3. Usage decision and target stock status The details contain **Muayene Sonuçları** (Inspection Results; Özellik (Characteristic), Şartname (Specification), Sonuç (Result), Değerlendirme (Evaluation): Uygun / Uygun değil / Girilmedi (Conforming / Nonconforming / Not entered)) and **Sonuçları Kaydet** (Save Results); the **Serbest Bırak** (Release), **Reddet** (Reject) and **Partiyi Kapat** (Close Lot) buttons; and the **Kullanım Kararları** (Usage Decisions) table. If the product has no inspection plan, the lot can be decided without waiting for results. No decision can be made before the results of mandatory characteristics are entered: "'\{parti\}' partisinde zorunlu özelliklerin sonucu girilmedi — kullanım kararı sonuç kaydından sonra verilir." (The results of mandatory characteristics have not been entered for lot '\{parti\}' — the usage decision is made after the results are recorded.) ## Inspection Plans The characteristics to be measured per product and their limits; the inspection lot copies the plan the moment it is created. Form: **Ürün** (Product; one plan per item), **Aktif** (Active), **Muayene Özellikleri** (Inspection Characteristics: Özellik (Characteristic), Tür (Type): Nicel (ölçüm) / Nitel (uygun / değil) (Quantitative (measurement) / Qualitative (conforming / not)), Alt Sınır (Lower Limit), Üst Sınır (Upper Limit), Birim (Unit), Zorunlu (Mandatory), Operasyon (Operation)), inspection instructions, **Ara Muayene Noktaları** (In-Process Inspection Points). Button **Planı Kaydet** (Save Plan). If the item does not require quality inspection, no lot is created. ## Quality Notifications and Defect Codes **Kalite Bildirimleri** (Quality Notifications): customer complaints, supplier complaints and internal notifications; they are closed with a root cause and corrective/preventive actions (8D). Statuses: Açık · İşlemde · Tamamlandı · İptal (Open · In Process · Completed · Cancelled). Priority 1 — Çok yüksek (Very high) … 4 — Düşük (Low). A notification cannot be completed before the root cause (D4) is written and the actions are completed. There is no stock effect. **Kusur Kodları** (Defect Codes): the defect type of the notification (Kod (Code), Ad (Name), Durum (Status)). ## Rejection messages | Situation | Message | |---|---| | Stock not in quarantine | "'\{kart\}' kartının '\{durum\}' durumundaki stoğu karantinada değil — kalite kararı yalnız karantinadaki stok için verilir." (The stock of item '\{kart\}' in status '\{durum\}' is not in quarantine — a quality decision is made only for stock in quarantine.) | | Excess quantity | "'\{kart\}' satırında karantinada \{m\} \{birim\} var; \{q\} için karar verilemez." (Row '\{kart\}' has \{m\} \{birim\} in quarantine; no decision can be made for \{q\}.) | | Reason | "Gerekçe zorunludur." (A reason is mandatory.) | | Closed lot | "'\{parti\}' kontrol partisi kapandı — yeni karar verilemez." (Inspection lot '\{parti\}' is closed — no new decision can be made.) | | Lot without remaining goods | "'\{parti\}' partisinin karantinada malı yok (hurdaya ayrılmış ya da geri alınmış olabilir) — partiyi gerekçeyle kapatın." (Lot '\{parti\}' has no goods in quarantine (they may have been scrapped or reversed) — close the lot with a reason.) | ## Related - [Batch and serial number tracking process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) - [Inventory transactions › Scrap](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-islemleri#hurda-islemleri) --- # Post the physical inventory difference > Post the difference of a completed physical inventory count to the ledger with a second signature, send it for recount if needed, or cancel the count. URL: https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Fiziksel Envanter › Stok Sayımları › sayım detayı › Farkı Kaydet (Inventory › Physical Inventory › Physical Inventories › count details › Post Difference) - **Screen route:** `/erp/inventory/counts/{id}` - **Required permission:** `erp-inventory-counts.approve` - **Prerequisites:** - The count is in **Sayım Tamamlandı** (Count Completed) status. - You are signed in as a user who has not entered quantities in this count and has not completed it (second signature). Posting the difference to the ledger requires a second signature: the person who entered or completed the count cannot post the difference. ## Steps 1. Open the completed count. Review the **Defter** (Book), **Sayılan** (Counted) and **Fark** (Difference) columns and the difference summary; to see only the lines with differences, turn on the **Farklılar** (Differences) switch. ![Count completed — awaiting difference posting](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-tamamlandi.png) 1. Second signature — another approver posts 2. Difference summary 3. Book · Counted · Difference 4. Send Back for Recount 5. Post Difference — writes stock adjustments 2. If a difference is doubtful, click **Yeniden Saymaya Gönder** (Send for Recount); the count returns to Sayımda (Counting) status and the lines are counted again. 3. If the difference is correct, click **Farkı Kaydet** (Post Difference). 4. Check the summary in the window and confirm with **Farkı Kaydet** (Post Difference). ![Post difference — second signature](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-kaydi.png) 1. Increase and decrease lines to post 2. Post Difference — writes the adjustments 5. Check the status of the count: at the top it reads "Fark deftere yazıldı. Belge artık değişmez." (The difference has been posted to the ledger. The document can no longer change.), and the **Farkı Kaydeden** (Difference Posted By) field shows you and the date. ![Count posted — difference written to the ledger](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-kaydedildi.png) 1. Status — document is final 2. Freeze lifted 3. Second signature — who posted and when 4. Difference — turned into adjustments 6. View the adjustment movements in **Stok Yönetimi › Mal Hareketleri › Stok Hareketleri** (Inventory › Goods Movements › Stock Movements) with the filter **Kaynak Belge = Stok Sayımı** (Source Document = Physical Inventory). ![Stock Movements — count difference adjustments](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-hareketleri.png) 1. Source document = Stock Count 2. Surplus — receipt 3. Shortage — issue 4. Source — the count document **Result:** The difference is posted with today's date: surplus lines as a **Stok Fazlası Düzeltmesi** (Stock Surplus Adjustment) movement and shortage lines as a **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment) movement (source document 'Stok Sayımı' (Physical Inventory)). The count becomes **Kaydedildi** (Posted), the freeze on its scope is lifted, and the document never changes again. ## Cancel a count While the count is in **Sayımda** (Counting) or **Sayım Tamamlandı** (Count Completed) status, click **Sayımı İptal Et** (Cancel Count), enter a **Gerekçe** (Reason) (mandatory, at most 512 characters) and confirm. Nothing is posted to the ledger, the freeze is lifted, and the entered counts stay on the document. Permission: `erp-inventory-counts.create`. ## What you need to know - Demo example: Demo Kullanıcı counted and completed **SAY-2026-000001**. When the same user tried to post the difference, the server rejected it: "Sayımı tamamlayan kişi farkı kaydedemez — ikinci imza başka bir kullanıcıdan gelmeli." (The person who completed the count cannot post the difference — the second signature must come from another user.) **Demo Onaylayıcı** posted the difference: the count became **Kaydedildi** (Posted) and three movements were posted — SARF-0003 **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment) 4 ADET, SARF-0004 **Stok Fazlası Düzeltmesi** (Stock Surplus Adjustment) 5 ADET, SARF-0007 **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment) 50 ADET (HAMMADDE / RAF-B, SIFIR). The four lines without a difference produced no movement. - For the person who entered quantities: "Bu sayımda miktar giren kişi farkı kaydedemez — ikinci imza başka bir kullanıcıdan gelmeli." (The person who entered quantities in this count cannot post the difference — the second signature must come from another user.) - If the book changed while the count was open (such as a document posted before the freeze): "Sayım açıldıktan sonra şu satırların defter miktarı değişti: … . Sayımı iptal edip yeniden açın." (After the count was opened, the book quantity of the following lines changed: … . Cancel the count and open it again.) - If a shortage occurs on allocated stock, posting is rejected — first release the allocation from **Stok Tahsisleri** (Stock Allocations). - For a serial number difference, missing serial numbers are posted as issues and surplus serial numbers as receipts. - No movement reason is assigned when posting a difference; the description is the count number. ## Related - [Physical inventory process](https://erpdocs.corexlogic.com/en/surecler/stok-sayimi) - [Physical inventories screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) --- # Special stocks > Stock whose ownership or location is tied to a business partner or a project — supplier consignment, consignment at customer and project stock. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/ozel-stoklar Stock whose ownership or location is tied to a business partner or a project. The documents on these screens have no status; all of them become final when saved (only a project has the Açık / Kapalı (Open / Closed) status). - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Özel Stoklar · Proje Stoğu (Inventory Management › Special Stocks · Project Stock) - **Screen route:** `/erp/inventory/vendor-consignment` - **Required permission:** `erp-inventory-vendor-consignment.view / .create (tedarikçi konsinyesi, çekiş)`, `erp-inventory-customer-consignment.view / .create (müşteride konsinye)`, `erp-inventory-projects.view / .create / .edit / .issue (proje stoğu)` ## Supplier consignment **Tedarikçi Konsinye Stoğu** (Supplier Consignment Stock): the supplier's goods in our warehouse — they are not included in the company's stock total or valuation, and are settled as they are withdrawn. Columns: Tedarikçi (Supplier), Depo (Warehouse), Ürün (Product), Stok Durumu (Stock Status), Karantina (Quarantine), Miktar (Quantity), Konsinye Değeri (Consignment Value); **Çek** (Withdraw) on the row. **Konsinye Çekişleri** (Consignment Withdrawals): goods that move from consignment into our own stock; each withdrawal is a liability to the supplier. The **Konsinye Çekişi Oluştur** (Create Consignment Withdrawal) form: Tedarikçi (Supplier), Konsinyenin Deposu (Consignment Warehouse), **Hedef Depo** (Target Warehouse; your own warehouse), Çekiş Tarihi (Withdrawal Date), a table (Ürün (Product), Stok Durumu (Stock Status), Konsinye (Consignment), Çekilecek (To Withdraw), Hedef Lokasyon (Target Storage Location)), Not (Note). Button **Çekişi Kaydet** (Save Withdrawal). Goods in quarantine cannot be withdrawn ("Önce kalite kararı" (Quality decision first)). ## Consignment at customer **Müşteride Konsinye Stoğu** (Consignment Stock at Customer): our goods at the customer's site. Columns: Müşteri (Customer), Çıktığı Depo (Issuing Warehouse), Ürün (Product), Stok Durumu (Stock Status), Miktar (Quantity), Stok Değeri (Stock Value); **Geri Al** (Take Back) on the row. Button **Konsinye Doldurma Oluştur** (Create Consignment Fill-Up). **Müşteride Konsinye Belgeleri** (Consignment Documents at Customer) are of two types: | Type | Meaning | |---|---| | **Konsinye Doldurma** (Consignment Fill-Up) | From your own warehouse into the customer's consignment stock — the goods remain ours and are invoiced with a delivery as the customer consumes them. The ship-to address is mandatory. | | **Konsinye Geri Alma** (Consignment Pick-Up) | From the customer's consignment stock into your own warehouse — taking back without an invoice. | ## Project stock | Screen | Content | |---|---| | **Projeler** (Projects) | The owner of project stock. Columns: Proje (Project), Müşteri (Customer; "İç proje" (Internal project) if none), Durum (Status: Açık / Kapalı (Open / Closed)), Dönem (Period). **Yeni Proje** (New Project): Ad (Name), Kod (Code), Müşteri (Customer), Başlangıç (Start), Bitiş (End), Açıklama (Description). **Projeyi Kapat** (Close Project) requires a reason. | | **Proje Stoğu** (Project Stock) | Stock assigned to a project: Proje (Project), Depo · Göz (Warehouse · Bin), Ürün (Product), Miktar (Quantity), Stok Değeri (Stock Value); **Çıkış** (Issue) and **Serbest Bırak** (Release) on the row; **Projeye Stok Ayır** (Assign Stock to Project). | | **Proje Stok Belgeleri** (Project Stock Documents) | **Projeye Stok Ayırma** (Assign Stock to Project; the warehouse's unrestricted stock moves to the project in place), **Projeye Malzeme Çıkışı** (Material Issue to Project; consumption only from goods assigned to the project), **Proje Stoğunu Serbest Bırakma** (Release Project Stock; the project stock returns to unrestricted stock in place; no movement is posted, a reason is mandatory). | ## Related - [Stock balance](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-bakiyesi) --- # Change the status of a lot > Block a lot to stop its use in goods issues and transfers, or release the block and set it to Active. URL: https://erpdocs.corexlogic.com/en/stok/islemler/lot-durumu-degistirme - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Stok Görünümü › Lotlar › lot detayı › Durumu Değiştir (Inventory › Stock Overview › Lots › lot details › Change Status) - **Screen route:** `/erp/inventory/lots/{id}` - **Required permission:** `erp-inventory-lots.edit`, `erp-inventory-lots.release` - **Prerequisites:** - The `erp-inventory-lots.edit` permission to block, and the `erp-inventory-lots.release` permission to release the block (Active). Block a lot to stop its use for damaged packaging, a questionable analysis or a batch whose expiry date has passed. ## Steps 1. On the **Stok Yönetimi › Stok Görünümü › Lotlar** (Inventory › Stock Overview › Lots) screen, find the lot (**Ara** (Search): lot number, supplier lot, stock code) and click its number. ![Lots list](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-listesi.png) 1. Lot status filter 2. Expiry (latest) — expiring lots 3. Expiry date 4. Open the lot 2. In the lot details, click **Durumu Değiştir** (Change Status). 3. From the **Yeni durum** (New status) list, select **Bloke** (Blocked) (to stop its use) or **Aktif** (Active) (to release the block). ![Lot status dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-durumu.png) 1. Current status 2. New status — Active or Blocked 3. Change Status — writes no stock movement 4. Confirm with **Durumu Değiştir** (Change Status) in the window. ![Blocked lot detail](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-detay.png) 1. Blocked — not usable in issue or transfer 2. Opens the traceability report 3. Change Status — Active / Blocked 4. Stock distribution — warehouses and locations **Result:** The status of the lot changes. A blocked lot cannot be selected in goods issues, transfers and deliveries; the stock stays where it is. A status change does not post a stock movement and does not change quantities. ## What you need to know - Demo example: lot **SLES-2611-005** of HAM-0070 (50 KG, dented drum) was set to **Bloke** (Blocked). - Only **Aktif** (Active) and **Bloke** (Blocked) can be set manually; Karantina (Quarantine), Süresi Dolmuş (Expired) and Tükenmiş (Depleted) come from other processes and are for information only. - There is no reason field; if an explanation is needed, use the lot's **Özellikler** (Characteristics) section or the related quality notification. - If a goods issue from a blocked lot is attempted: "'\{lot\}' lotu bloke — çıkış yapılamaz." (Lot '\{lot\}' is blocked — it cannot be issued.) - Permission messages: "Lotu bloke etme yetkiniz yok." (You do not have permission to block the lot.) · "Lotu kullanılabilir yapma (blokeyi çözme) yetkiniz yok — Stok Kontrol'ün işi." (You do not have permission to make the lot usable (release the block) — this is Inventory Control's job.) - Lot status is different from stock status: stock in quarantine is released not by the lot status but by a [quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme). ## Related - [Lots screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar) --- # Warehouse execution > Warehouse tasks (putaway, picking, internal warehouse movement), waves, warehouse monitor and the handheld terminal. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/depo-yurutme The movement of goods from bin to bin inside the warehouse is managed with **warehouse tasks**: putaway (from the goods receipt area to the shelf), picking (from a wave to the shipping staging area) and internal warehouse movement. Creating a task does not post a stock movement and does not lock stock; the **confirmation** posts a **Transfer** movement from bin to bin within the same warehouse (source document "Depo Görevi" (Warehouse Task)). Capacity, quarantine and stock sufficiency are checked at the time of confirmation. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Depo Yürütme › Depo İzleme · Depo Görevleri · Dalgalar · El Terminali (Inventory Management › Warehouse Execution › Warehouse Monitor · Warehouse Tasks · Waves · Handheld Terminal) - **Screen route:** `/erp/inventory/warehouse-tasks` - **Required permission:** `erp-inventory-warehouse-tasks.view (görme) · .create (görev ve dalga oluşturma, Ata, İptal Et) · .edit (Üstlen, Bırak, Onayla, El Terminali)`, `erp-inventory-counts.edit (El Terminali › Sayım)` ## Warehouse Tasks | Field | Values | |---|---| | Task type | **Yerleştirme** (Putaway) · **Toplama** (Picking) · **Depo İçi Taşıma** (Internal Warehouse Movement) | | Source | Elle (Manual) · Mal kabul alanından (From the goods receipt area) · Dalgadan (From a wave) | | Status | **Açık** (Open) · **Onaylandı** (Confirmed) · **İptal Edildi** (Cancelled) | List columns: Görev No (Task No.), Tür (Type), Durum (Status), Ürün (Product), Kalan / Miktar (Remaining / Quantity), Kaynak → Hedef (Source → Destination), Kaynak Belge (Source Document), Atanan (Assignee), Kayıt Zamanı (Created At). Detail buttons: **Üstlen** (Take Over), **Bırak** (Release), **Onayla** (Confirm), **Ata** (Assign), **İptal Et** (Cancel; only for a task that has never been confirmed). The confirmation dialog contains the destination bin, batch, serial numbers, and **Kalanı farkla kapat (rafta bulunamadı)** (Close the remainder as a difference (not found on the shelf)) + **Fark gerekçesi** (Difference reason) — the difference is not a stock movement; the goods remain in the source bin, and the correction is made with a physical inventory count. **Depo Görevi Oluştur** (Create Warehouse Task; internal warehouse movement): Depo (Warehouse) → Kaynak göz (Source bin) → Gözdeki stok (Stock in bin) → Hedef göz (Destination bin; proposed, or to be selected at confirmation) → Not (Note); button **Görevi Oluştur** (Create Task). For task-based putaway, **Görevli yerleştirme** (Task-based putaway) must be enabled in the warehouse settings and a **Mal kabul alanı** (Goods receipt area) bin must be defined ([Warehouses](https://erpdocs.corexlogic.com/en/stok/ekranlar/depolar)). ## Waves A wave is a document that releases open sales order lines (or open deliveries) for picking together; the picked goods are allocated to the line. Statuses: Açık (Open) · Tamamlandı (Completed) · İptal Edildi (Cancelled). Creation: Depo (Warehouse), Kaynak (Source: Sipariş kalemleri / Açık teslimatlar (Order lines / Open deliveries)), Planlanan sevk (en geç) (Planned shipment (latest)), İstenen teslim (en geç) (Requested delivery (latest)), line table; button **Dalgayı Oluştur** (Create Wave). A wave cannot be opened if the warehouse has no shipping staging area bin. **İptal Et** (Cancel) is available only for an open wave from which nothing has been picked yet, and requires a reason. ## Warehouse Monitor Select a warehouse to see open tasks, goods waiting in areas, filling bins and the differences of the last 7 days on a single screen. Tiles: Açık yerleştirme (Open putaway), Açık toplama (Open picking), Açık taşıma (Open movement), Atanmamış (Unassigned), Açık dalga (Open wave), Bugün onaylanan (Confirmed today), Son 7 gün fark (Differences in the last 7 days), Mal kabulde görevsiz (In goods receipt without a task). A tile opens the related list. **Otomatik yenile (60 sn)** (Auto refresh (60 s)) is optional. ## Handheld Terminal `/rf` — a phone-layout surface that runs outside the ERP window. Home screen: **Depo Seçin** (Select Warehouse), **Görevler** (Tasks), **Serbest Taşıma** (Free Movement), **Göz Sorgula** (Query Bin), **Ürün Sorgula** (Query Product), **Sayım** (Count; count by scanning labels). Task steps: scan the source bin → scan the product → scan the batch / serial numbers → enter the quantity → scan the destination bin → **Onayla** (Confirm). ## Related - [Warehouses and plants](https://erpdocs.corexlogic.com/en/stok/ekranlar/depolar) - [Physical inventory counts](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) --- # Make a quality decision > Release or reject goods in quarantine after inspection — partial decision, reason and second signature. URL: https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Kalite Yönetimi › Kalite Kontrol (Inventory › Quality Management › Quality Control) - **Screen route:** `/erp/inventory/quality` - **Required permission:** `erp-inventory-quality.release` - **Prerequisites:** - The stock is in quarantine status (a receipt of a quality-controlled card or a production output). - You are signed in as a user other than the one who placed the goods in quarantine (second signature). - If the inspection plan has mandatory characteristics, the results have been entered on the **Kontrol Partileri** (Inspection Lots) screen. A receipt of a quality-controlled card goes into quarantine, and an inspection lot is opened. After the inspection, the quality specialist makes the usage decision. ## Steps 1. Open the **Stok Yönetimi › Kalite Yönetimi › Kalite Kontrol** (Inventory › Quality Management › Quality Control) screen; view the lines in quarantine on the **Karar Bekleyenler** (Awaiting Decision) tab. ![Quality Control — quarantine queue](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-kontrol.png) 1. Awaiting decision 2. Rejected stock — scrap or return 3. Inspection lot 4. Release 5. Reject 2. Depending on the inspection result, click **Serbest Bırak** (Release) or **Reddet** (Reject) on the line. 3. Check the **Miktar** (Quantity) (reduce it for a partial decision), and enter the **Gerekçe** (Reason) and, if available, the **Referans** (Reference) (certificate of analysis, inspection report — AK-261020-09 in the example). ![Release — with reason and reference](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar-onayci.png) 1. Quantity — partial decision allowed 2. Reason — required 3. Reference — certificate of analysis 4. Release — quarantine → unrestricted 4. Confirm with **Serbest Bırak** (Release) (or **Reddet** (Reject)) in the window. 5. View the decision in the **Kalite Kararları** (Quality Decisions) list opened with the **Kararlar** (Decisions) button and in the inspection lot details: the lot becomes **Karara Bağlandı** (Decided), and the **Kullanım Kararları** (Usage Decisions) table shows the decision and the target stock status. ![Quality Decisions — release record](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-kararlari.png) 1. Decision document — immutable 2. Decision 3. Reason 4. Recorded by — not the person who received the goods **Result:** The released quantity moves from KARANTINA to the default stock status (SIFIR) and becomes available for shipping, consumption and transfer. The rejected quantity moves to **Reddedildi** (Rejected) (RED) status and goes to scrap or a return to the supplier from the **Reddedilen Stok** (Rejected Stock) tab. The decision posts a **Stok Durumu Değişimi** (Stock Status Change) movement (source 'Kalite Kararı' (Quality Decision)). ## What you need to know - Demo example: Demo Kullanıcı placed the goods in quarantine, so that user cannot make the decision: "Bu stoğu karantinaya siz aldınız — kalite kararını başka bir kullanıcı vermelidir. Malı içeri alan ile serbest bırakan aynı kişi olamaz." (You placed this stock in quarantine — another user must make the quality decision. The person who received the goods and the person who releases them cannot be the same.) The decision for **KP-2026-000001** (SLES-2611-004, 400 KG) was made by **Demo Onaylayıcı** (Yönetici (Administrator)): 400 KG was released, the decision document is **KLT-2026-000001**, and the lot is **Karara Bağlandı** (Decided) (Serbest · Red · Açık (Released · Rejected · Open): 400 · 0 · 0). In Stok Hareketleri (Stock Movements), a pair of **Stok Durumu Değişimi** (Stock Status Change) movements with source **Kalite Kararı** (Quality Decision) was posted: an issue of 400 KG from KARANTINA and a receipt of 400 KG into SIFIR (KIMYA / IBC-ALANI, lot SLES-2611-004). **KP-2026-000002** (SLES-2611-005, 50 KG) is awaiting a decision. - The decision can also be made from the inspection lot details (**Serbest Bırak** (Release), **Reddet** (Reject)); if there is an inspection plan, first click **Sonuçları Kaydet** (Save Results). - A partial decision is possible; the remainder stays in quarantine. Excess quantity: "'\{kart\}' satırında karantinada \{m\} \{birim\} var; \{q\} için karar verilemez." (There are \{m\} \{birim\} in quarantine on the '\{kart\}' line; a decision cannot be made for \{q\}.) - A reason is mandatory: "Gerekçe zorunlu — karar malın kullanılabilirliğini değiştiriyor." (A reason is mandatory — the decision changes the availability of the goods.) - A rejection cannot be reversed; **Reddedilen Stok › Red Kararını Düzelt** (Rejected Stock › Correct Rejection Decision) records a new release decision with a reason. ![Inspection lot — decided](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kontrol-partisi-karara-baglandi.png) 1. Inspection lot status 2. Released · Rejected · Open 3. Usage decision and target stock status ## Related - [Quality management screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/kalite-yonetimi) - [Lot and serial number tracing process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) --- # Valuation > The value information shown on inventory screens — revaluation, opening valuation, material valuation and standard price. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/degerleme The valuation screens correct or display the **value of stock without touching its quantity**. The value comes from the moving average cost (or, for a product with a standard price, from the standard price); value columns are visible only with the permission to **view inventory cost**. Accounting entries are outside the scope of this document. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Değerleme (Inventory Management › Valuation) - **Screen route:** `/erp/inventory/revaluations` - **Required permission:** `erp-inventory-revaluations.view / .create · erp-inventory-costs.view (değer görme)` | Screen | Content | |---|---| | **Yeniden Değerleme** (Revaluation) | Documents that correct the value of stock on hand. Types: Yeniden Değerleme (Revaluation) · Açılış Değerlemesi (Opening Valuation) · Döviz Değerleme Geçişi (Currency Valuation Transition). Mode: **Birim Maliyet** (Unit Cost) or **Tutar Farkı** (Amount Difference); **Gerekçe** (Reason) is mandatory. The toolbar contains **Açılış Değerlemesi** (Opening Valuation) and **Döviz Değerleme Geçişi** (Currency Valuation Transition). | | **Malzeme Değerleme** (Material Valuation) | Price control per product × plant — **Hareketli ortalama (V)** (Moving average (V)) or **Standart fiyat (S)** (Standard price (S)) — standard price, stock, stock value, unit value. | | **Standart Fiyat Değişiklikleri** (Standard Price Changes) | Price change document with plant, date, lines (new price control, standard price, currency) and reason. | | **Materyal Defteri** (Material Ledger) | The monthly value flow of a product: opening stock, receipts, price change, consumption, period end; difference postings. | | **Gerçekleşen Maliyet Kapanışları** (Actual Costing Closings) | The monthly actual price of products with a standard price; **Dönemi Kapat** (Close Period). | The value of stock that was received without a known cost (an opening balance without a unit cost, or a goods receipt without a reference document) is posted with **Açılış Değerlemesi** (Opening Valuation): [Inventory transactions › Opening Valuation](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-islemleri#acilis-degerlemesi). Value reports: [Inventory reports](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari). --- # Trace a lot or serial number > Trace where a lot or serial number went (customers) or where it came from (suppliers, production orders). URL: https://erpdocs.corexlogic.com/en/stok/islemler/lot-izleme - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Analitik › Lot/Seri İzlenebilirlik (Inventory › Analytics › Lot/Serial Traceability) - **Screen route:** `/erp/inventory/reports/lot-trace` - **Required permission:** `erp-inventory-movements.view` - **Prerequisites:** - The product is lot- or serial-managed. In a recall or a customer complaint, the first question is: where did this batch come from, and who did it go to? ## Steps 1. Open the **Stok Yönetimi › Analitik › Lot/Seri İzlenebilirlik** (Inventory › Analytics › Lot/Serial Traceability) screen. If you are in the lot details, the **İzlenebilirlik** (Traceability) button opens the report with that lot. 2. Type the lot or serial number in the **Lot / Seri** (Lot / Serial) field and select it from the list. 3. Select the **Yön** (Direction): **İleri — nereye gitti** (Forward — where it went) (the orders it was consumed in, what they produced, customers) or **Geri — nereden geldi** (Backward — where it came from) (the orders it was produced in, what they consumed, suppliers). 4. In the movement table of the node in the tree, read the **Belge** (Document) and **Karşı Taraf / Bağlam** (Counterparty / Context) columns; if needed, use **Excel'e Aktar** (Export to Excel). ![Lot/Serial traceability — forward trace](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-izleme.png) 1. Lot or serial number 2. Direction — forward / backward 3. Document — delivery 4. Counterparty — customer 5. Export to Excel **Result:** All movements of the lot are shown with their documents: its receipt (goods receipt, opening balance, production output), the production orders it was consumed in and the lots they produced, and the deliveries and customers it was shipped to. ## What you need to know - Demo example: lot **DET-2609-001** of **MAM-0008 SIVI DETERJAN 5 LT** was traced forward: on 01.10.2026 it was received into the MAMUL warehouse as +160 ADET with Açılış Bakiyesi (Opening Balance) AB-2026-000003; on 01.11.2026 −160 ADET was shipped to **Trakya Et ve Et Ürünleri A.Ş.** with **Teslimat SV-2026-000001** (Delivery SV-2026-000001). With the same delivery, 220 ADET of lot DET-2609-002 also went to the same customer. - The link is at order level: every lot a production order consumes is linked to every lot that order produces. - The chain ends at a component that is not tracked (not lot- or serial-managed): "Takipsiz — zincir burada biter" (Not tracked — the chain ends here). - If the tree becomes very large, it is truncated; trace again from a lot deeper down. - Opening the order link requires permission to view production orders. ## Related - [Inventory reports › Lot/Serial Traceability](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari#lot-seri-izlenebilirlik) - [Lot and serial number tracing process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) --- # Inventory reports > Stock status report, movement listing, batch/serial traceability, valuation, slow-moving stock, aging analysis, ABC analysis and inventory turnover. URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-raporlari The reports under **Stok Yönetimi › Analitik** (Inventory Management › Analytics) are generated from the stock ledger. Every report has **Excel'e Aktar** (Export to Excel) and **Raporu yenile** (Refresh report); the default date range is the last 90 days. Value columns are visible only with the cost permission. - **Type:** Screen - **Module:** Inventory - **Menu path:** Stok Yönetimi › Analitik (Inventory Management › Analytics) - **Screen route:** `/erp/inventory/reports/stock-status` - **Required permission:** `erp-inventory-stock.view (Stok Durum Raporu, Hareketsiz Stok, Stok Yaş Analizi, ABC Analizi, Stok Devir Hızı)`, `erp-inventory-movements.view (Stok Hareket Dökümü, Lot/Seri İzlenebilirlik)`, `erp-inventory-costs.view (Stok Değerleme Raporu ve değer kolonları) · erp-inventory-counts.approve (ABC › Karta Yaz)` ## Stock Status Report ![Stock status report](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-durum-raporu.png) 1. As of date — stock on a past day 2. Warehouse breakdown 3. Show zero balances 4. Export to Excel How much of each item there is and (with permission) what it is worth. Filters: Ara (Search), **Depo** (Warehouse), **Stok Durumu** (Stock Status), **Depo kırılımı** (Warehouse breakdown), **Sıfır bakiyeleri de göster** (Also show zero balances), **Tarih itibarıyla** (As of date). Columns: Kart Kodu (Item Code), Kart Adı (Item Name), (with the breakdown) Depo (Warehouse), Miktar (Quantity), Ortalama Maliyet (Average Cost), Toplam Değer (Total Value), Son Hareket (Last Movement). If **Tarih itibarıyla** (As of date) is selected, movements after that day are not included in the report. ## Stock Movement Listing The ledger of an item or a warehouse — the opening carry-forward for the period and a running balance on each row. Either the item or the warehouse is mandatory. Columns: Tarih (Date), Kart (Item), Hareket Türü (Movement Type), Depo / Lokasyon (Warehouse / Storage Location), Durum / Lot (Status / Batch), Kaynak Belge (Source Document), Miktar (Quantity), Birim Maliyet (Unit Cost; with permission), Yürüyen Bakiye (Running Balance). A period summary (Giriş / Çıkış (Receipts / Issues)) is shown at the bottom. ## Batch/Serial Traceability {#lot-seri-izlenebilirlik} ![Lot/Serial traceability — forward trace](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-izleme.png) 1. Lot or serial number 2. Direction — forward / backward 3. Document — delivery 4. Counterparty — customer 5. Export to Excel Where a batch or serial number came from and where it went — through production orders. Inputs: **Lot / Seri** (Batch / Serial Number; a single search field) and **Yön** (Direction): **İleri — nereye gitti** (Forward — where it went; the orders in which it was consumed, what they produced and the customers it went to) or **Geri — nereden geldi** (Backward — where it came from; the orders in which it was produced, what they consumed and the suppliers it came from). The **İzlenebilirlik** (Traceability) button in the batch details opens the report with that batch. The output is an indented tree; each node has a movement table: Tarih (Date), Hareket (Movement), Depo (Warehouse), Miktar (Quantity), **Belge** (Document), **Karşı Taraf / Bağlam** (Counterparty / Context). The link is at the order level: every batch consumed by an order is related to every batch it produced. The chain ends at an item that is not tracked ("Takipsiz — zincir burada biter" (Not tracked — the chain ends here)). Step by step: [Trace a batch or serial number](https://erpdocs.corexlogic.com/en/stok/islemler/lot-izleme). ## Other reports | Report | What it shows | Key filter / column | |---|---|---| | **Stok Değerleme Raporu** (Stock Valuation Report) | Stock value per warehouse and currency (moving average, no currency translation). | Item breakdown, Tarih itibarıyla (As of date); a row with an unknown value shows "Bilinmiyor" (Unknown). | | **Hareketsiz Stok** (Slow-Moving Stock) | Stock that has not had any movement for the specified period. | Threshold 30 / 60 / 90 / 180 / 365 days (default 90); Hareketsiz Gün (Days Without Movement). | | **Stok Yaş Analizi** (Stock Aging Analysis) | Age distribution of stock on hand by receipt date. | Age brackets 30, 60, 90, 180, 365 days; Ort. Yaş (Avg. Age), En Eski Giriş (Oldest Receipt). Approximate, based on a first-in, first-out assumption. | | **ABC Analizi** (ABC Analysis) | A · B · C class by period consumption (value or movement frequency). | Limits A 80%, B 95%; **Karta Yaz** (Write to Item) writes the class to the product master record — the count scope and the periodic count read this class. | | **Stok Devir Hızı** (Inventory Turnover) | The ratio of period consumption to average stock, and how many days the stock lasts. | Devir Hızı (Turnover Rate), Kapsama (Coverage; "\{n\} gün" (\{n\} days)). | ## Related - [Stock balance](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-bakiyesi) - [Batch and serial number tracking process](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) --- # Post a stock adjustment > A stock increase or decrease document with a reason code that aligns the recorded quantity with physical reality; scrap documents and reversal. URL: https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma - **Type:** Task - **Module:** Inventory - **Menu path:** Stok Yönetimi › Stok İşlemleri › Stok Düzeltmeleri › Yeni Stok Düzeltmesi (Inventory › Stock Transactions › Stock Adjustments › New Stock Adjustment) - **Screen route:** `/erp/inventory/adjustments/new` - **Required permission:** `erp-inventory-adjustments.create` - **Prerequisites:** - At least one active **hareket nedeni** (movement reason) of the type to be selected (Stok Artırma Düzeltmesi / Stok Azaltma Düzeltmesi (Stock Increase Adjustment / Stock Decrease Adjustment)) is defined (**Yönetim › Özelleştirme › Stok › Hareket Nedenleri** (Administration › Customization › Inventory › Movement Reasons)). - The product is not in the scope of an open physical inventory count in that warehouse. A stock adjustment posts differences detected outside a physical inventory count (breakage, loss, count report) to the ledger with a reason code. In planned counts, the difference is posted from the [count document](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme). ## Steps 1. On the **Stok Yönetimi › Stok İşlemleri › Stok Düzeltmeleri** (Inventory › Stock Transactions › Stock Adjustments) screen, click **Yeni Stok Düzeltmesi** (New Stock Adjustment). 2. Select the **Düzeltme Türü** (Adjustment Type): **Stok Artırma Düzeltmesi** (Stock Increase Adjustment) or **Stok Azaltma Düzeltmesi** (Stock Decrease Adjustment). The **İş Tarihi** (Business Date) is today; enter the report number in **Referans** (Reference). ![New stock adjustment](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-duzeltmesi-yeni.png) 1. Adjustment type — increase or decrease 2. Business date 3. Add line 4. Save Adjustment — document is immutable 3. Open a line with **Satır ekle** (Add line); enter the **Ürün** (Product), **Depo** (Warehouse), if needed **Lokasyon** (Storage Location), **Stok Durumu** (Stock Status), **Neden** (Reason), **Miktar** (Quantity) and **Birim** (Unit). For a lot- or serial-managed card, select the lot/serial numbers. 4. Click **Düzeltmeyi kaydet** (Save adjustment). **Result:** The document is posted to the ledger as soon as it is saved: an increase as **Stok Fazlası Düzeltmesi** (Stock Surplus Adjustment) (receipt), a decrease as **Stok Eksiği Düzeltmesi** (Stock Shortage Adjustment) (issue). The document cannot be changed or deleted; if it is wrong, a reversal document is posted with **Geri al** (Reverse) in the details. ## Scrap document For stock that has become unusable, use **Stok İşlemleri › Hurda İşlemleri › Yeni Hurda Fişi** (Stock Transactions › Scrap Transactions › New Scrap Document). The lines are the same as for an adjustment, the reason type is **Hurda** (Scrap); lots and serial numbers are selected only from existing stock. The button is **Hurda fişini kaydet** (Save scrap document); the movement type is **Hurda** (Scrap) (issue). For rejected quality stock, **Kalite Kontrol › Reddedilen Stok › Hurdaya Ayır** (Quality Control › Rejected Stock › Scrap) opens the form pre-filled. ## Reverse In the adjustment or scrap details, **Geri al** (Reverse) → **İş Tarihi** (Business Date), **Gerekçe** (Reason) (mandatory), the lines and quantities to reverse (blank = the entire remainder) → **Geri almayı kaydet** (Save reversal). A reversal posts a movement in the opposite direction and cannot itself be changed. ## What you need to know - Because no movement reason is defined in the demo environment, the form shows the warning "Uygun bir hareket nedeni tanımlanana kadar bu belge kaydedilemez." (This document cannot be saved until a suitable movement reason is defined.); the saving step was not run for this document in the demo. - The reason is mandatory on every line and must match the type: "\{n\}. satır: '\{kod\}' nedeni '\{tür\}' türünde — bu belge '\{tür\}' nedeni bekliyor." (Line \{n\}: reason '\{kod\}' is of type '\{tür\}' — this document expects a reason of type '\{tür\}'.) - The stock status does not fall back to the default: "\{n\}. satır: stok durumu zorunludur — varsayılana düşülmez." (Line \{n\}: the stock status is mandatory — it does not fall back to the default.) - For a decrease, if stock is insufficient or the stock is in quarantine, the movement rules apply ([Stock movements › Rejection messages](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri#ret-iletileri)). - A reversal cannot exceed the remainder: "Geri alınabilir miktar aşılıyor. Kalan: \{r\}, istenen: \{q\}." (The reversible quantity is exceeded. Remaining: \{r\}, requested: \{q\}.) ## Related - [Inventory transactions screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-islemleri) - [Inventory settings › Movement Reasons](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-tanimlari#hareket-nedenleri) --- # Process guides > End-to-end business processes — which screens are used, and in which order, with a real demo scenario. URL: https://erpdocs.corexlogic.com/en/surecler A business transaction usually spans several screens and several modules: a quotation becomes a sales order, the sales order becomes production and a delivery, and the delivery becomes an invoice. Process guides walk through this journey screen by screen, using a concrete scenario from a fictitious demo company. For each stage, they give the document's new status, its effect on stock and planning, and the task page with the detailed click-by-click steps. ## Sales - [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) — Quotation → sales order → delivery and goods issue → invoice. - [Contract-based sales](https://erpdocs.corexlogic.com/en/surecler/sozlesmeli-satis) — Sales contract → call-off orders → consumption of the contract. - [Sales return](https://erpdocs.corexlogic.com/en/surecler/satis-iadesi) — Return request → approval → return against the delivery → stock status. ## Purchasing and inventory - [Requisition to goods receipt](https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule) — Requisition → request for quotation → purchase order → approval → goods receipt → return. - [Physical inventory](https://erpdocs.corexlogic.com/en/surecler/stok-sayimi) — Creating and freezing the count → count entry → difference → posting with a second signature. - [Batch and serial number tracking](https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme) — Batch-tracked receipt → quarantine and quality decision → FEFO issue → tracing the batch to the customer. ## Production and logistics - [Order to production](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) — Configurable product sales order → production order and sub-orders → consumption, confirmation, output → delivery. - [Make-to-stock production](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) — Forecast → MRP → planned order → production order → finished goods stock. - [Shipment planning](https://erpdocs.corexlogic.com/en/surecler/sevkiyat-planlama) — Open deliveries → picking → packing → shipment → goods issue → proof of delivery. ## Administration and setup - [Approval workflow](https://erpdocs.corexlogic.com/en/surecler/onay-akisi) — Approval template → submitting for approval → rejection or approval → document status. - [New user and permissions](https://erpdocs.corexlogic.com/en/surecler/yeni-kullanici-ve-yetki) — Role design → account → restriction → first sign-in → permission check → closing the account. - [Setup with data import](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) — Empty installation → workbook import order → Kontrol Et (Validate) → Aktar (Import) → review. > **Sample data** The companies, items, document numbers and amounts in the scenarios are taken from a fictitious demo installation. In your own installation the codes and names are different; the screens and steps are the same. --- # Quotation to invoice > The steps of the sales process, from the sales quotation to the e-Invoice. URL: https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya The path of a sale in CoreX ERP: a **quotation** is given to the customer; when the quotation is accepted, it is converted into a **sales order**; the sales order is approved; a **delivery** is created from the warehouse and the **goods issue** is posted; and an **invoice** is issued from the delivery. ``` Sales Quotation ──► Sales Order ──► Delivery ──► Goods Issue ──► e-Invoice (Gönderildi) (Onaylandı) (Açık) (stock reduced) (sent to GİB) ``` ## Step-by-step tasks - [1. Create a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma) — Customer, validity, lines and price. - [2. Send the quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-gonderme) — Marking as sent, and e-mail. - [3. Convert to sales order](https://erpdocs.corexlogic.com/en/satis/islemler/teklifi-siparise-donusturme) — Full or partial conversion. - [4. Approve the sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) — Commercial approval; delivery and production are opened. - [5. Create a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma) — One step: delivery and goods issue together. - [5a. Open delivery + goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma) — Two steps: first an open delivery, then the goods issue. - [6. Invoice](https://erpdocs.corexlogic.com/en/satis/islemler/fatura-olusturma) — Invoice via e-Document, or the reference of an invoice issued outside the system. > **Example used in this guide** From the demo company: sale of **MAM-0008 Sıvı Deterjan 5 LT** (liquid detergent, 5 L) to the customer **M-0004 Trakya Et ve Et Ürünleri A.Ş.** The price is proposed from the customer's price list (the Standard list). ## 1. Prepare the quotation **Satış › Teklif Yönetimi › Satış Teklifi Oluştur** (Sales › Quotation Management › Create Sales Quotation) 1. In the **Müşteri** (Customer) field, type the customer's code or name, press **Enter** and select the customer from the list. The payment term and shipping method are proposed from the customer master record. 2. **Geçerlilik Tarihi** (Valid Until) defaults to 30 days from today; change it if necessary. 3. On an item line, type and select the product, and enter the quantity. The **Birim Fiyat** (Unit Price) is proposed from the price list; the source of the proposal is shown below the cell. 4. Click **Kaydet** (Save; Ctrl+S). The quotation is saved as **Taslak** (Draft) and its details open. Details: [Sales quotations](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-teklifleri). ## 2. Send the quotation In the quotation details, click **Gönder** (Send). A quotation that has been sent is **locked**: any change to prices, lines or terms now opens a new revision via **Revize Et** (Revise). - **Gönder** (Send) only marks the quotation. To e-mail it to the customer, use **Çıktı › E-posta ile Gönder** (Output › Send by E-mail); the PDF is also available from the same menu. - If an **approval template** is defined for quotations in your installation, the button is named **Onaya Gönder** (Submit for Approval). On final approval, the quotation automatically moves to **Gönderildi** (Sent) status. ## 3. Convert the quotation to a sales order When the customer accepts the quotation, click **Siparişe Dönüştür** (Convert to Order) in the quotation details. In the dialog that opens, select the sales order type and mark the lines and quantities to be converted. You can also convert part of the quotation; the remainder is converted to a sales order later with **Kalanı Dönüştür** (Convert Remaining). The sales order is created as a **draft**; prices and configurations are carried over from the quotation unchanged. > **Expired quotation** A quotation whose validity date has passed cannot be converted to a sales order. First open a new revision that extends the validity with **Revize Et** (Revise). ## 4. Approve the sales order In the sales order details, click **Siparişi Onayla** (Approve Order). The lines of an approved sales order can no longer be edited, and the sales order enters planning (inventory and MRP) as demand. Details: [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri). If the customer's credit limit is exceeded, the sales order is flagged with the **Kredi blokesi** (Credit block) badge and no delivery can be created; the block is released by the credit manager. ## 5. Create the delivery and issue the goods **Lojistik Yönetimi › Giden Teslimat › Giden Teslimat Oluştur** (Logistics Management › Outbound Delivery › Create Outbound Delivery) 1. The screen lists the approved sales order lines whose delivery date has been reached. Select the lines to be delivered. 2. Select the **Depo** (Warehouse) and the **planned shipping date**, then click **Teslimat Oluştur** (Create Delivery). The delivery is created in **Açık** (Open) status; stock is not yet reduced, and the lines are reserved on the sales order. 3. In the delivery details, click **Mal Çıkışını Kaydet** (Post Goods Issue); enter the storage location and the lot or serial number for each line. Posting reduces the stock, and the delivery can no longer be changed. 4. Print the delivery note with **Çıktı › Yazdır** (Output › Print), or, if e-Delivery Note (e-İrsaliye) is enabled, click **e-İrsaliye Oluştur** (Create e-Delivery Note). Details: [Delivery and goods issue](https://erpdocs.corexlogic.com/en/satis/ekranlar/teslimat). ## 6. Issue the invoice **Satış › Faturalama › Faturalanmamış Teslimatlar** (Sales › Billing › Unbilled Deliveries) 1. Select the deliveries to be invoiced and click **Fatura Oluştur** (Create Invoice). The invoice is created as **Taslak** (Draft); prices and VAT come from the sales order. 2. Check the date and the note in the draft, then click **Kesinleştir** (Finalize). A finalized invoice cannot be edited or deleted. 3. Transmit the invoice to the integrator with **GİB'e Gönder** (Send to GİB). A sent invoice cannot be withdrawn; an e-Invoice (e-Fatura) is corrected with a return invoice, and an e-Archive invoice (e-Arşiv) by cancellation. Details: [Billing](https://erpdocs.corexlogic.com/en/satis/ekranlar/faturalama). ## Common situations | Situation | What to do | |---|---| | The customer did not want the quotation | In the quotation details, click **Kaybedildi** (Lost) and select the loss reason (price, delivery time, competitor…). The quotation appears in the Quotation Win/Loss report. | | Part of the sales order will no longer be shipped | In the sales order details, click **Siparişi Kapat** (Close Order); a reason is required. A sales order with a shipped quantity cannot be cancelled; it is closed. | | A line could not be confirmed because of insufficient stock | The sales order line shows **Backorder**. When stock arrives, confirm it again on the **Backorder İşleme** (Backorder Processing) screen. | | Incorrect goods issue | In the delivery details, click **Teslimat Düzeltmesi Oluştur** (Create Delivery Correction) — the goods issue is not deleted; it is reversed with a correction document. | --- # Contract-based sales > Sales contract, call-off orders and consumption of the contract — the price comes from the contract, and the target cannot be exceeded. URL: https://erpdocs.corexlogic.com/en/surecler/sozlesmeli-satis When a price and quantity agreement is made with a customer for a long period, such as one year, the agreement is recorded as a **sales contract** (satış sözleşmesi). The customer places orders as needed; the lines of these sales orders are linked to the contract (**call-off order** — çağrı siparişi). The price comes from the contract, the target cannot be exceeded, and the **Çağrılan** (Called Off) / **Kalan** (Remaining) quantities of the contract are tracked automatically from approved sales orders. > **Scenario** A cleaning products agreement was made with **M-0019 Lara Kıyı Otelcilik ve Turizm A.Ş.** for the period 01.11.2026–31.10.2027: **MAM-0008 Sıvı Deterjan 5 LT** (liquid detergent, 5 L), 2,000 units at 235.00 TRY; **MAM-0009 Yüzey Temizleyici 1 LT** (surface cleaner, 1 L), 3,000 units at 90.00 TRY. In November the hotel places two sales orders: 300 and 400 canisters of detergent. ``` Sales Contract SSZ-2026-000001 ──► Put into Effect ──► Call-off orders ──────────────► Close (Taslak) (Yürürlükte) SS-2026-000005 · 300 (Onaylandı) (Kapandı) SS-2026-000009 · 400 (Onaylandı) Called off 700 · Remaining 1,300 ``` ## 1. Prepare the contract **Satış › Sipariş Yönetimi › Satış Sözleşmesi Oluştur** (Sales › Order Management › Create Sales Contract) 1. **Tür** (Type): *Miktar Sözleşmesi* (Quantity Contract — a target quantity per item). For a total amount target, select *Değer Sözleşmesi* (Value Contract) and enter the **Hedef Tutar (net)** (Target Amount, net). 2. **Müşteri** (Customer): M-0019. The **Satış Kanalı** (Sales Channel) and **Para Birimi** (Currency) determine which sales orders can call off the contract: a call-off can be made only from a sales order in the same channel and currency. 3. **Geçerlilik Başlangıcı** (Valid From) 01.11.2026, **Bitiş** (Valid To) 31.10.2027. 4. Add the two products with **Ürün ekle** (Add product); on the lines, enter the **Hedef Miktar** (Target Quantity) and **Birim Fiyat (net)** (Unit Price, net). 5. Click **Taslağı Kaydet** (Save Draft). ![Create Sales Contract — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-olustur.png) 1. Type — quantity or value contract 2. Validity range 3. Add product 4. Target quantity — call-offs cannot exceed it 5. Contract price — copied to the order 6. Save Draft **Result:** **SSZ-2026-000001** — **Taslak** (Draft). A draft can be edited; no call-off can be made from it. Details: [Create a sales contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma). ## 2. Put the contract into effect In the contract details, click **Yürürlüğe Al** (Put into Effect). The status changes to **Yürürlükte** (In Effect); the buttons change to **Kapat** (Close) and **İptal Et** (Cancel). A contract in effect can no longer be edited. ## 3. Enter the call-off orders **Satış › Sipariş Yönetimi › Satış Siparişi Oluştur** (Sales › Order Management › Create Sales Order) 1. **Müşteri** (Customer) M-0019; on the line, **MAM-0008**, **Miktar** (Quantity) 300. 2. Open the line details (**10. satır ayrıntısını göster** — Show line 10 details) and select *SSZ-2026-000001 · 235,00 · kalan 2.000 ADET* from the **Sözleşme** (Contract) list. The unit price changes to 235, the line discount is reset to zero, and "Fiyat sözleşmeden gelir; hedef aşılamaz" (The price comes from the contract; the target cannot be exceeded) is shown next to it. 3. Click **Siparişi Oluştur** (Create Order), then **Siparişi Onayla** (Approve Order) in the details. ![Call-off order — contract selected on the line](https://erpdocs.corexlogic.com/en/en/img/screens/satis/cagri-siparisi.png) 1. Line details — expanded 2. Contract — number, price and remaining 3. Price from contract, no discount **Result:** **SS-2026-000005** is approved. The second sales order, **SS-2026-000009** (400 units), was entered the same way. Although the customer's special price (239 TRY) is shown below the line, on a contract line the price comes from the contract. Details: [Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis). ## 4. Monitor consumption Contract details — **Kalemler** (Items) and **Çağrı Siparişleri** (Call-off Orders): ![Sales contract detail — released, call-offs](https://erpdocs.corexlogic.com/en/en/img/screens/satis/sozlesme-detay.png) 1. Status: Released — call-offs allowed 2. Called off — from approved orders 3. Remaining target 4. Call-off orders 5. Close — remainder no longer callable | Item | Target | Called off | Remaining | |---|---|---|---| | MAM-0008 Sıvı Deterjan 5 LT | 2,000 ADET | 700 | 1,300 | | MAM-0009 Yüzey Temizleyici 1 LT | 3,000 ADET | 0 | 3,000 | - **Çağrılan** (Called Off) is counted only from sales orders in **Onaylandı** (Approved) status; a draft or cancelled sales order does not consume the contract. - If a sales order or line is closed, only the shipped quantity counts as called off; the rest returns to the contract. - The sales order selection list shows the contract's current remaining quantity (e.g. "kalan 1.300 ADET" — 1,300 units remaining). A sales order that exceeds the target is not saved. Example: with 700 units already called off, a new line of 1,500 units → "MAM-0008: SSZ-2026-000001 hedefi 2000 ADET — çağrılan 2200." (MAM-0008: target of SSZ-2026-000001 is 2000 units — called off 2200.) Call-off orders are delivered and invoiced through the normal sales flow: [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya). ## 5. Close the contract At the end of the period, or when the agreement ends early, click **Kapat** (Close) in the details → the **Sözleşmeyi Kapat** (Close Contract) dialog ("Kalan artık çağrılmaz; geçmiş çağrılar değişmez." — The remainder can no longer be called off; past call-offs do not change.); **Gerekçe** (Reason) is required. The status changes to **Kapandı** (Closed). A contract that has never been called off can be cancelled with **İptal Et** (Cancel); a contract with call-offs cannot be cancelled. ## FAQ / Troubleshooting | What happened | Cause and what to do | |---|---| | The **Sözleşme** (Contract) field is not shown on the sales order line | For the line's product and unit, the customer has no contract that is in effect, valid on the order date and in the order's channel; or the currency is different. Make sure the line details are open. | | "MAM-0008: SSZ-2026-000001 hedefi 2000 ADET — çağrılan 2200." (target of SSZ-2026-000001 is 2000 units — called off 2200) | The approved call-offs together with this sales order exceed the target. Reduce the quantity, or open a line without a contract for the rest. | | "SSZ-2026-000001 yürürlükte değil — çağrı yapılamaz." (SSZ-2026-000001 is not in effect — no call-off can be made) | The contract is in draft, closed or cancelled. | | "SSZ-2026-000001 sipariş gününde geçerli değil." (SSZ-2026-000001 is not valid on the order date) | The order date is outside the validity period. | | "MAM-0008: fiyat sözleşmeden gelir (235 TRY, satır iskontosu yok)." (the price comes from the contract — 235 TRY, no line discount) | The price or discount was changed on a contract line. | | "MAM-0008: bedelsiz kalem sözleşmeden çağrılmaz." (a free-of-charge item cannot be called off from a contract) | A free-of-charge item category cannot be linked to a contract. | | "Sözleşmeye bağlı sipariş satırı var — iptal yerine kapatın." (There are sales order lines linked to the contract — close it instead of cancelling) | A contract with call-offs cannot be cancelled; use **Kapat** (Close). | | "Yalnız taslak sözleşme düzenlenir." (Only a draft contract can be edited.) | A contract in effect cannot be changed; open a new contract. | ## Step-by-step tasks - [1. Create a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesme-olusturma) — Type, customer, validity, item and target. - [2. Order from a contract](https://erpdocs.corexlogic.com/en/satis/islemler/sozlesmeden-siparis) — Selecting the contract on the line. - [3. Approve the sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) — An approved sales order consumes the contract. --- # Sales return > Goods coming back from the customer — return request, approval, receiving the return from the delivery into stock (warehouse, stock status, batch) and what follows. URL: https://erpdocs.corexlogic.com/en/surecler/satis-iadesi In CoreX ERP, goods that were shipped to a customer and come back are handled with two documents: a **return request** to agree on the quantity and reason before the goods come back, and a **sales return** to take the goods into stock when they arrive at the warehouse. The request is optional; the return is always received from the **delivery** with which the goods were shipped. > **Scenario** **M-0004 Trakya Et ve Et Ürünleri A.Ş.** reports that 12 cans from batch **DET-2609-002** of the item **MAM-0008 Sıvı Deterjan 5 LT**, received with delivery **SV-2026-000001** dated 01.11.2026, arrived with cracked caps. On 02.11.2026 the sales team opens a return request for 12 units; when the goods arrive at the warehouse they are received into **Mamul Deposu / RAF-M2** (Finished Goods Warehouse / RAF-M2) in the **Karantina** (Quarantine) stock status, because they will await quality inspection. ``` Delivery SV-2026-000001 ──► Return Request IT-2026-000001 ──► Approval ──► Sales Return SI-2026-000001 (Goods Issue Posted) (Awaiting Approval) (Approved) (stock +12, Quarantine) │ │ └── Reject / Cancel (final status) └── Reverse Return (for a wrong posting) ``` ## 1. Find the delivery **Lojistik Yönetimi › Giden Teslimat › Teslimatlar** (Logistics › Outbound Delivery › Deliveries) — open the delivery details. The return buttons appear only on a delivery in **Mal Çıkışı Kaydedildi** (Goods Issue Posted) status: **İade Talebi Aç** (Open Return Request) and **İade Al** (Receive Return). **İade Geçmişi** (Return History) at the bottom of the page lists the returns received from this delivery. ![Delivery detail — return actions and return history](https://erpdocs.corexlogic.com/en/en/img/screens/satis/teslimat-iade-dugmeleri.png) 1. Returns only after goods issue 2. Open Return Request — agree first 3. Receive Return — goods arrived 4. Returns taken from this delivery ## 2. Open the return request On the delivery details, click **İade Talebi Aç** (Open Return Request) → **Yeni İade Talebi** (New Return Request): 1. **Talep Tarihi** (Request Date) (cannot be earlier than the delivery date) and **İade Nedeni** (Return Reason): *Hasarlı teslim* (Damaged on delivery). 2. **Açıklama** (Description): "Müşteri DET-2609-002 lotundan 12 bidonun kapağının çatlak geldiğini bildirdi." (The customer reported that 12 cans from batch DET-2609-002 arrived with cracked caps.) 3. In the **Kalemler** (Items) table, enter **12** in the **Talep** (Requested) cell of line 20 (batch DET-2609-002, **Dönebilir** (Returnable) 220). 4. Click **Talebi Aç** (Open Request). ![New Return Request form](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-olustur.png) 1. Return reason 2. Returnable — shipped − reversed − returned 3. Requested quantity 4. Open Request — stock unchanged **Result:** **IT-2026-000001** — **Onay Bekliyor** (Awaiting Approval). The request is a decision document; **stock does not change**. Details: [Open a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma). ## 3. Decide on the request **Satış › İade Yönetimi › İade Talepleri** (Sales › Returns Management › Return Requests) — the approver sees their queue with the **Durum: Onay Bekliyor** (Status: Awaiting Approval) filter and opens the request. ![Return request detail — awaiting approval](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-detay.png) 1. Status 2. Approve — someone other than the requester 3. Reject — with a reason 4. Segregation of duties 5. Quantity returned against the request The screenshot above is the screen of the person who opened the request (Demo Kullanıcı): **Onayla** (Approve) is disabled. The decision is made by another approval authority — in the demo environment **Demo Onaylayıcı** (Sales Manager): ![Return request — approver’s view](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-onayci.png) 1. Status 2. Approve — someone other than the requester 3. Reject — with a reason 4. Requested · Returned · Remaining - **Onayla** (Approve) → **Onaylandı** (Approved) (no dialog opens): the return can be received from this request, for the request's items and up to its remaining quantity. The **Karar** (Decision) field records who made the decision and when; the buttons become **İade Al** (Receive Return) and **Kapat** (Close). - **Reddet** (Reject) (a **Red gerekçesi** — rejection reason — is required) → **Reddedildi** (Rejected); **İptal Et** (Cancel) (an **İptal gerekçesi** — cancellation reason — is required) → **İptal Edildi** (Cancelled). Both are final statuses. ![Approved return request — Receive Return and Close](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-talebi-onaylandi.png) 1. Status 2. Receive Return — form linked to the request 3. Close — remainder not expected, with a reason 4. Who decided and when The person who opened the request cannot approve it: the button is disabled and reads "Kendi açtığınız talebi onaylayamazsınız; kararı başka bir yetkili verir." (You cannot approve a request you opened yourself; another authorized user makes the decision.) Details: [Approve or reject a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama). > **In the demo environment** IT-2026-000001 was approved by Demo Onaylayıcı on 02.11.2026. The example return SI-2026-000001 (step 4) was received directly from the delivery before the request was approved, so it is not linked to the request: the request's **Dönen** (Returned) quantity is 0 and **Kalan** (Remaining) is 12. The **İade Al** (Receive Return) button of the approved request opens the same form with the line "IT-2026-000001 onaylı iade talebinden — yalnız talebin kalemleri, talebin kalanı kadar." (From approved return request IT-2026-000001 — only the request's items, up to the request's remaining quantity.); the line's **İade edilebilir** (Returnable) quantity is the request's remaining quantity (12), and no return can be received from a delivery line that is not in the request. ![New Sales Return — from an approved request](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al-talepten.png) 1. Request link — only its items, up to the remainder 2. Line with nothing left to return 3. Return this line 4. Return quantity — up to the request remainder 5. Stock status — e.g. Quarantine 6. Save — stock increases at once ## 4. Receive the return into stock when the goods arrive On the approved request, click **İade Al** (Receive Return), or on the delivery details click **İade Al** → **Yeni Satış İadesi** (New Sales Return): 1. **İade Tarihi** (Return Date) and **İade Nedeni** (Return Reason): *Hasarlı teslim* (Damaged on delivery); **Açıklama** (Description): "12 bidon kapağı çatlak geldi; kalite kontrolü için karantinaya alındı." (12 can caps arrived cracked; placed in quarantine for quality inspection.) 2. On line 20, click **Bu satırı iade al** (Return this line) → **İade Miktarı** (Return Quantity) 12. 3. **Giriş Deposu** (Receiving Warehouse) *MAMUL — Mamul Deposu*, **Lokasyon** (Storage Location) *RAF-M2 — Mamul Rafı 2*, **Stok Durumu** (Stock Status) *KARANTINA — Karantina*. 4. Click **İadeyi Kaydet ve Stoğa Al** (Save Return and Receive into Stock). ![New Sales Return — return from delivery](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-al.png) 1. Return reason 2. Return this line 3. Return quantity — up to the returnable 4. Receiving warehouse and location 5. Stock status — e.g. Quarantine 6. Save — stock increases at once **Result:** **SI-2026-000001** is saved and the goods **enter stock at the same time**. The document cannot be changed. ![Sales return detail](https://erpdocs.corexlogic.com/en/en/img/screens/satis/iade-detay.png) 1. Receiving warehouse / location 2. Stock status received into 3. Returned lot or serial 4. Reverse Return — for a wrong entry **Stock effect:** | | MAM-0008 · batch DET-2609-002 | |---|---| | Before the return | On hand 0 (all 220 units had been shipped) | | After the return | **MAMUL / RAF-M2 / Karantina: on hand 12, available 0** | | Value | 1.500,00 TRY — the goods come in at the cost at which they left with the delivery (125,00 TRY/unit) | Stock in the quarantine status is not counted as available; it is not allocated to sales or shipments. After the quality decision, change the stock status with **Stok Yönetimi › Mal Hareketleri › Stok Durumu Değişimi** (Inventory › Goods Movements › Stock Status Change). **Other effects:** - Sales order **SS-2026-000001** stays **shipped** (a return means the delivery did take place; it is not a correction). - The returnable quantity of the delivery line drops from 220 to 208; SI-2026-000001 appears in **İade Geçmişi** (Return History). - If the return was received from a request, the request's **Dönen** (Returned) quantity increases; when all items have come back, the request automatically becomes **Kapandı** (Closed). - The return amount (3.528,00 TRY, approximately from the order price) is deducted from the customer's rebate basis — in the example, **İadeler −2.940,00 TRY** (Returns, net) in rebate agreement PRA-2026-000001. - The invoice side of the return is in Finance. Details: [Receive a return from a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma). ## 5. Wrong posting: reverse the return On the return details, click **İadeyi Geri Al** (Reverse Return) → **İade geri alınsın mı?** (Reverse the return?): the stock receipt is reversed with today's date, the document remains as "geri alınmış" (reversed) and the goods can be received as a return again. **Geri Alma Gerekçesi** (Reversal Reason) is required. If a return received from a request is reversed, the quantity goes back to the request. ## FAQ / Troubleshooting | What happened | Cause and what to do | |---|---| | **İade Talebi Aç** (Open Return Request) / **İade Al** (Receive Return) is missing on the delivery | The delivery is **Açık** (Open) or **İptal Edildi** (Cancelled) (the goods did not leave), or you do not have the permission (`erp-sales-return-requests.create`, `erp-sales-returns.create`). | | **Onayla** (Approve) is disabled: "Kendi açtığınız talebi onaylayamazsınız; kararı başka bir yetkili verir." (You cannot approve a request you opened yourself; another authorized user makes the decision.) | Segregation of duties. Another approval authority must open or approve the request. Server message: "Kendi açtığınız iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli." (You cannot approve a return request you opened yourself. Another authorized user must make the decision.) | | "İade talebi henüz onaylanmadı; onaysız talepten iade alınamaz." (The return request has not been approved yet; a return cannot be received from an unapproved request.) | The request is Onay Bekliyor (Awaiting Approval). A decision must be made first — or receive the return from the delivery without a link to the request. | | "İade talebi kapalı; bu talepten iade alınamaz." (The return request is closed; a return cannot be received from this request.) | The request is Kapandı (Closed), Reddedildi (Rejected) or İptal Edildi (Cancelled). | | "10. talep satırı: iade miktarı (15) talebin kalanını (12) aşıyor." (Request line 10: the return quantity (15) exceeds the request's remaining quantity (12).) | A return received from a request cannot exceed the requested quantity (the numbers are examples). | | "20. teslimat satırı daha önce tamamen iade edilmiş ya da geri alınmış." (Delivery line 20 has already been fully returned or reversed.) | No returnable quantity is left on the line. | | "Yalnız karar bekleyen talep iptal edilebilir; onaylanmış talep kapatılır." (Only a request awaiting a decision can be cancelled; an approved request is closed.) | If the remaining quantity is no longer expected on an approved request, use **Kapat** (Close). | | "İade tarihi teslimat tarihinden önce olamaz." (The return date cannot be earlier than the delivery date.) | Correct the date. | | "'MAMUL' deposunda lokasyon seçimi zorunlu." (A storage location must be selected in warehouse 'MAMUL'.) | In a warehouse with storage location tracking, select a **Lokasyon** (Storage Location) (the warehouse code is an example). | | "Stok bu sırada başka bir işlemle değişti. Sayfayı yenileyip tekrar deneyin." (Stock was changed by another transaction in the meantime. Refresh the page and try again.) | Another transaction at the same time; update the form with **İade bilgilerini yenile** (Refresh return information). | | "İade faturalanmış (fatura, fatura referansı ya da gelen iade faturası bağlı) — geri almadan önce o bağı kaldırın." (The return has been invoiced (an invoice, invoice reference or incoming return invoice is linked) — remove that link before reversing.) | An invoiced return cannot be reversed. | ## Step-by-step tasks - [1. Open a return request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebi-acma) — From the delivery, before the goods come back. - [2. Decide on the request](https://erpdocs.corexlogic.com/en/satis/islemler/iade-talebini-onaylama) — Approval, rejection, closing. - [3. Receive a return from a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/iade-alma) — Warehouse, stock status, batch and serial number. - [Return without a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimatsiz-iade) — Goods coming back without a delivery. --- # From requisition to goods receipt > The steps of the procurement process, from the purchase requisition to the request for quotation, comparison, order, approval, partial goods receipt and return to supplier, with a sample scenario. URL: https://erpdocs.corexlogic.com/en/surecler/talepten-mal-kabule The path of a purchase in CoreX ERP: the need is reported as a **purchase requisition**, purchasing collects prices from suppliers with a **request for quotation**, **compares** the quotations and selects the winner; the decision creates a **draft order**. Once the order is **finalized** (after approval, if required), the goods are expected; the goods that arrive are received into stock with a **goods receipt**; defective goods are returned to the supplier with a **goods receipt reversal**. > **Scenario** The demo company's panel production line needs **200 units of HAM-0001 KONTAKTÖR 9A 4KW 220V AC** for November (need date 20.11.2026). Purchasing asks two suppliers: **T-0001 Ege Şalt Malzemeleri Elektrik Ticaret Ltd. Şti.** and **T-0002 Marmara Otomasyon Teknolojileri San. ve Tic. A.Ş.** Ege Şalt wins; the goods arrive at the **RAF-A** storage location of **HAMMADDE — Hammadde Deposu** in two shipments (120 + 80). Because the 80 units of the second shipment arrive with the wrong coil voltage, they are returned to the supplier and a replacement is received. Documents (in the demo environment, 02.11.2026): TLP-2026-000001 → TKL-2026-000001 → SA-2026-000001 → MK-2026-000001, MK-2026-000002 → MKG-2026-000001 → MK-2026-000003. ``` Purchase Requisition ──► Request for Quotation ──► Comparison and Decision ──► Purchase Order TLP (Talep Edildi) TKL (Teklif Bekleniyor) (Karara Bağlandı) SA (Taslak) │ Siparişi Kesinleştir (Finalize Order) │ (with an approval template: Onaya Gönder → Onayla) ▼ SA (Sipariş Verildi) ── stock: in transit +200 │ ┌─────────────────── Goods Receipt MK-1 (120) ─────────────────────┤ stock +120 → SA Kısmi Teslim │ Goods Receipt MK-2 (80) ──────────────────────┤ stock +80 → SA Teslim Alındı │ Reversal MKG-1 (80, reopen) ──────────────────┤ stock −80 → SA Kısmi Teslim │ Goods Receipt MK-3 (80) ──────────────────────┘ stock +80 → SA Teslim Alındı └── Requisition: Siparişe Bağlandı · Document Flow "teslim 200/200" ``` ## 1. Open and submit the requisition **Satın Alma › Talep Yönetimi › Satınalma Talebi Oluştur** (Procurement › Requisition Management › Create Purchase Requisition) The production planning user selects HAM-0001 with **Kalem Ekle** (Add Item); **Miktar** (Quantity) 200, **Ne Zaman Lazım** (Needed By) 20.11.2026, **Açıklama** (Description) "Kumanda panosu üretimi için" (For control panel production). With **Kaydet ve Gönder** (Save and Submit), the requisition becomes **Talep Edildi** (Requested) with the number **TLP-2026-000001** and enters purchasing's agenda. ![New purchase requisition — item, quantity and need date](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-olustur.png) 1. Requisition date (required) 2. Add Item — pick from the item list 3. Quantity — click the cell and type 4. Needed by 5. Save Draft — stays editable 6. Save and Submit — hands over to purchasing - **Status:** Taslak (Draft) → Talep Edildi (Requested). (If an approval template were defined for the requisition, it would first be **Onay Bekliyor** (Pending Approval).) - **Stock / planning:** No effect. A requisition is a request; supply is created with the order. - Details: [Create a purchase requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talep-olusturma). ## 2. Send a request for quotation The purchasing specialist clicks **Teklif İsteği Oluştur** (Create Request for Quotation) in the requisition details. The form opens with the requisition's remaining line (200 ADET, "talepten" (from requisition)). T-0001 and T-0002 are invited with **Tedarikçi Seç** (Select Supplier); **Son Teklif Tarihi** (Quotation Deadline) 06.11.2026, **Konu** (Subject) "Kontaktör 9A — kasım pano ihtiyacı" (Contactor 9A — November panel requirement). With **Kaydet ve Gönder** (Save and Send), **TKL-2026-000001** becomes **Teklif Bekleniyor** (Awaiting Quotations); the item list can no longer change. ![New RFQ from a requisition — invitees and lines](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-istegi-olustur.png) 1. Select Suppliers — invitees 2. Quote deadline — informational 3. Subject (required) 4. Currency — all quotes in this currency 5. Line from the requisition; quantity = remainder 6. Save and Send - The **Teklifte** (In RFQ) mark is shown in the requisition details and the request for quotation appears in the Belge Akışı (Document Flow). - Details: [Create a request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma). ## 3. Enter the quotations, compare them and decide The prices received are entered with **Teklif Gir** (Enter Quotation) on the invitee cards: | Supplier | Unit price | Disc. % | Net unit | Lead time | Payment | |---|---|---|---|---|---| | T-0001 Ege Şalt | 1,150.00 TRY | 3 | **1,115.50 TRY** | 5 days | 30 days' term | | T-0002 Marmara Otomasyon | 1,196.00 TRY | — | 1,196.00 TRY | 8 days | 45 days' term | In the **Karşılaştırma** (Comparison) table, the best net price is colored and marked. **En Uygun Teklifleri Seç** (Select Best Quotations) selects T-0001; "En düşük net fiyat ve en kısa termin" (Lowest net price and shortest lead time) is entered in **Gerekçe (zorunlu)** (Reason (mandatory)) and **Karara Bağla (1)** (Decide (1)) is clicked. ![Quote comparison and award](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-karsilastirma.png) 1. Enter Quote — per supplier 2. Best net price highlighted 3. Winner — supplier per line 4. Selection reason required 5. Selects the best quotes 6. Award — draft order is created ![Awarded RFQ and the resulting order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teklif-karara-baglandi.png) 1. Status: Awarded 2. Winner and reason 3. Order created by the award - **Status:** TKL → **Karara Bağlandı** (Decided). The draft order **SA-2026-000001** is created for the winner: 200 ADET × 1,150.00 TRY, 3% discount, net 223,100.00 TRY, VAT 20%, grand total 267,720.00 TRY; expected delivery 06.11.2026 (the longest lead time), payment terms "30 gün vade" (30 days' term; from the quotation), payment term 45 days and Incoterms DAP (from the supplier card). - **Master data:** The HAM-0001 / T-0001 supplier price is updated to 1,115.50 TRY and a lead time of 5 days. - The example shown on the screen (TKL-2026-000002) is an open request for quotation going through the same steps. - Details: [Compare quotations](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma). ## 4. Complete and finalize the order In the order details, **Teslim Deposu** (Delivery Warehouse) "HAMMADDE — Hammadde Deposu" is selected with **Düzenle** (Edit), followed by **Değişiklikleri Kaydet** (Save Changes). Then **Siparişi Kesinleştir** (Finalize Order) → in the window, **Siparişi Kesinleştir** again. ![Confirm purchase order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kesinlestir.png) 1. Confirm Order - **Status:** Taslak (Draft) → **Sipariş Verildi** (Ordered). Supplier, item, quantity, price and VAT are locked. - The requisition becomes **Siparişe Bağlandı** (Fully Ordered) (Siparişte (Ordered) 200). - Because a delivery warehouse was selected, the inbound delivery **GLT-2026-000001** is opened and the responsible persons of the HAMMADDE warehouse are notified. - **Planning:** 200 units are counted as in-transit supply in Malzeme İhtiyaçları (Material Requirements); stock does not change yet. - The order PDF is delivered to the supplier with **Çıktı › PDF İndir** (Output › Download PDF) or **E-posta ile Gönder** (Send by E-mail) ([Send an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme)). ### If approval is required If there is an active approval template for Satın Alma Siparişi (Purchase Order) (example in the demo data: "Satın alma siparişi — 50.000 TRY ve üzeri" (Purchase order — 50,000 TRY and above); stage 1 Satın Alma Müdürü (Purchasing Manager), stage 2 Yönetici (Executive)), **Onaya Gönder** (Submit for Approval) is shown instead of **Siparişi Kesinleştir** (Finalize Order). The submitted order becomes **Onay Bekliyor** (Pending Approval) and is locked; the approvers click **Onayla** (Approve) in turn, and with the last approval the order automatically becomes **Sipariş Verildi** (Ordered). In the demo environment, this path was tested with SA-2026-000005 (T-0002, 4 × HAM-0010, 71,040.00 TRY), approved in two stages by a second user ("Demo Onaylayıcı" (Demo Approver)). ![Order awaiting approval — approver view](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-onay-bekliyor.png) 1. Status: Awaiting approval — locked 2. Approve — approver of the current stage 3. Reject — back to draft 4. Current stage 5. Stage 1 decision and note Details: [Finalize an order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme). ## 5. First shipment: partial goods receipt (120 units) The supplier delivers 120 units with delivery note EGE-2026-4471. In the order details: **Mal Kabul Gir** (Enter Goods Receipt) → **Tedarikçi İrsaliye No** (Supplier Delivery Note No) EGE-2026-4471 → the item's **Mal Kabul Ekle** (Add Goods Receipt) → **Miktar** (Quantity) 120, **Depo** (Warehouse) HAMMADDE, **Lokasyon** (Storage Location) RAF-A → **Mal Kabulü Kaydet** (Save Goods Receipt). ![Goods receipt — allocation, warehouse and location](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/mal-kabul-olustur.png) 1. Purchase order 2. Delivery note no. — unique per supplier 3. Remaining order quantity 4. Received quantity — may be partial 5. Warehouse and location 6. Save Goods Receipt — stock is posted - Document **MK-2026-000001**; the order is **Kısmi Teslim** (Partially Received) (Received 120, Remaining 80). - **Stock:** HAM-0001 +120 in HAMMADDE / RAF-A (Sıfır (New) status); a "Mal Kabul" (Goods Receipt) receipt in Stok Hareketleri (Stock Movements). The stock value increases by the order's net price (120 × 1,115.50 TRY). - **Planning:** The in-transit quantity drops to 80. - Details: [Create a goods receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma). ![Partially received order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-kismi.png) 1. Status: Partially Received 2. Post Goods Receipt — for the rest 3. Close Order — rest not expected 4. Received quantity 5. Remaining quantity The screen above shows an order in Kısmi Teslim (Partially Received) (SA-2026-000002): **Mal Kabul Gir** (Enter Goods Receipt) is used for the remainder, **Siparişi Kapat** (Close Order) if the remainder will not arrive. ## 6. Second shipment: goods receipt from the inbound delivery (80 units) The remaining 80 units arrive with delivery note EGE-2026-4502. The warehouse clerk clicks the **Mal Kabulü Oluştur** (Create Goods Receipt) button of the GLT-2026-000001 line in **Satın Alma › Mal ve Hizmet Kabulü › Teslim Alınacaklar** (Procurement › Goods and Service Receipt › Due for Receipt). The form opens filled in with the delivery (warehouse locked to HAMMADDE); because the quantity is filled with the delivery's remainder (200), it is corrected to **80**, the order's remainder, storage location RAF-A is selected and the receipt is saved. ![Expected receipts](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/teslim-alinacaklar.png) 1. Open order without inbound delivery 2. Overdue only 3. Create Goods Receipt — from the row - Document **MK-2026-000002**; the order is **Teslim Alındı** (Received); stock +80 (200 units in total from this order). > **Do not mix the two paths** For an order with a delivery warehouse, make the goods receipt from the inbound delivery. A receipt made directly from the order (here MK-2026-000001) does not reduce the delivery's open quantity; that is why the delivery form proposed 200. At the end of the process, the unused GLT-2026-000001 was closed with **İptal Et** (Cancel) and a reason in **Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar** (Logistics Management › Inbound Delivery › Inbound Deliveries). ## 7. Return the defective goods to the supplier During quality inspection, it is found that the coil voltage of the second shipment is 24V DC. The goods receipt line is returned as a whole: **Satın Alma › İade Yönetimi › Mal Kabulünü Geri Al** (Procurement › Return Management › Reverse Goods Receipt) → **Mal Kabul** (Goods Receipt) MK-2026-000002 → the line is selected → **Gerekçe** (Reason) "Hatalı sevkiyat: bobin gerilimi 24V DC geldi, tedarikçiye iade" (Wrong shipment: coil voltage arrived as 24V DC, returned to supplier) → **Siparişi yeniden aç** (Reopen order) stays selected (a replacement will come) → **Geri Almayı Kaydet** (Save Reversal). ![Goods receipt reversal detail](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/geri-alma-detay.png) 1. Reason 2. Reversed receipt line 3. Source receipt - Document **MKG-2026-000001**; the order is **Kısmi Teslim** (Partially Received) again (Remaining 80). - **Stock:** −80 from RAF-A with a "Giriş Geri Alma" (Receipt Reversal) issue. - **Planning:** 80 units are counted as in transit again. If approval is required for the return, a **Tedarikçi İade Talebi** (Supplier Return Request) is first opened from the goods receipt details; the person who opened the request cannot approve it, another authorized person clicks **Onayla** (Approve), and the reversal is posted from the request with **Tedarikçiye İade Et** (Return to Supplier). In the demo environment, this path was tested with TIT-2026-000001 (the 50-unit damaged drum line of MK-2026-000004) → approval → MKG-2026-000002; when the last line was returned, the request became **Kapandı** (Closed). ![Closed return request with reversal](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/iade-talebi-kapandi.png) 1. Status: Closed — all lines returned 2. Decided by 3. Returned quantity 4. Reversal written from the request Details: [Return to supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade). ## 8. Receive the replacement and check the closure The correct 80 units sent by the supplier are received with delivery note EGE-2026-4535 as **MK-2026-000003**. The order is **Teslim Alındı** (Received); the requisition's Belge Akışı (Document Flow) shows "SA-2026-000001 · Teslim Alındı · teslim 200/200" (SA-2026-000001 · Received · delivered 200/200). ![Fully received order](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/siparis-teslim-alindi.png) 1. Status: Received 2. Delivery warehouse 3. Received = ordered 4. Source RFQ ![Fully ordered requisition — document flow](https://erpdocs.corexlogic.com/en/en/img/screens/satin-alma/talep-siparise-baglandi.png) 1. Status: Ordered 2. On order — quantity on confirmed orders 3. RFQ 4. Order and receipt status **Final stock position:** HAM-0001 in HAMMADDE / RAF-A is +200 units compared with before the process (120 + 80 − 80 + 80). Invoicing is outside this guide: the receipt waits for the invoice in **Tedarikçi Faturaları › Faturalanmamış Kabuller** (Supplier Invoices › Uninvoiced Receipts). ## FAQ / Troubleshooting | What happened | Cause and what to do | |---|---| | "Taslak talep siparişe bağlanamaz. Talebi önce gönderin." (A draft requisition cannot be linked to an order. Submit the requisition first.) | The requisition is still Taslak (Draft). Use **Satın Almaya Gönder** (Submit to Purchasing) in the details. | | **Teklif İsteği Oluştur** (Create Request for Quotation) is not shown on the requisition | The requisition is not Talep Edildi (Requested) / Kısmen Siparişte (Partially Ordered), has no remainder, or you do not have the `erp-procurement-rfqs.create` permission. | | "Teklif isteği en az bir tedarikçiye gönderilmelidir." (The request for quotation must be sent to at least one supplier.) | Add invitees with **Tedarikçi Seç** (Select Supplier). | | "'T-0002' 10. kaleme fiyat vermedi — karara bağlanamaz." ('T-0002' did not quote item 10 — it cannot be decided.) | That supplier's quotation does not include this item; select another supplier or enter its quotation. | | "10. satır için seçim gerekçesi zorunludur." (A selection reason is mandatory for line 10.) | Fill in the **Gerekçe (zorunlu)** (Reason (mandatory)) field. | | The order has no **Siparişi Kesinleştir** (Finalize Order), but **Onaya Gönder** (Submit for Approval) | The amount matches an active approval template. Submit it for approval; the approver decides. | | "Bu sipariş onay gerektiriyor — doğrudan kesinleştirilemez, onaya gönderin." (This order requires approval — it cannot be finalized directly; submit it for approval.) | Same cause; the server rejects direct finalization. | | **Onayla** (Approve) is not shown on an order in Onay Bekliyor (Pending Approval) | You are not in the role of the stage whose turn it is, or you submitted the order yourself. | | "'X' için kaynak listesi zorunlu — tedarikçi listede yok (Kaynak Bulma › Tedarikçi Fiyatları'nda tanımlayın)." (A source list is mandatory for 'X' — the supplier is not in the list (define it in Sourcing › Supplier Prices).) | The item's source list is mandatory. Open a supplier price record or select a supplier in the list. | | The order has no **Mal Kabul Gir** (Enter Goods Receipt) | The order is Taslak (Draft), Onay Bekliyor (Pending Approval), Teslim Alındı (Received), Kapatıldı (Closed) or İptal (Cancelled); or you do not have the `erp-procurement-receipts.create` permission. | | "'HAM-0001' için kalan miktar aşılıyor. Kalan: 80, girilen: 200." (The remaining quantity for 'HAM-0001' is exceeded. Remaining: 80, entered: 200.) | The form opened from the inbound delivery proposed the delivery's remainder; reduce the quantity to the order's remainder. | | "'EGE-2026-4471' irsaliye numarası bu tedarikçi için zaten kaydedilmiş." (Delivery note number 'EGE-2026-4471' has already been saved for this supplier.) | The same delivery note was entered twice; check the number. | | "'HAMMADDE' deposuna mal kabul gelen teslimatla yapılır — Gelen Teslimatlar'dan teslimatı açıp mal kabule oradan geçin." (Goods receipts into the 'HAMMADDE' warehouse are made with an inbound delivery — open the delivery from Inbound Deliveries and proceed to the goods receipt from there.) | The warehouse has the "Mal kabul yalnız gelen teslimattan" (Goods receipt only from inbound delivery) setting. Use the delivery line in Teslim Alınacaklar (Due for Receipt). | | The goods receipt date was rejected: "Belge tarihi (…) bugünden (…) eski olamaz. …" (The document date (…) cannot be earlier than today (…). …) | You do not have the back-dated posting permission; use today's date. | | I cannot return part of a line | A reversal is per line and in full. Reverse the line and receive the remainder again; in future, enter the part at risk of return as a separate allocation. | | "Kendi açtığınız tedarikçi iade talebini onaylayamazsınız. Kararı başka bir yetkili vermeli." (You cannot approve a supplier return request you opened yourself. Another authorized person must make the decision.) | Segregation of duties; another authorized person gives the approval. | | The supplier will not send the remainder | Use **Siparişi Kapat** (Close Order) in the order details (Kapatma Nedeni (Closing Reason) mandatory). If nothing has been received, use **Siparişi İptal Et** (Cancel Order). | | "Hiç teslim alınmamış sipariş kapatılmaz; tedarikçiyle ilişki gerçekleşmediyse siparişi iptal edin." (An order with nothing received cannot be closed; if the transaction with the supplier did not take place, cancel the order.) | Closing is possible only in Kısmi Teslim (Partially Received). | ## Step-by-step tasks - [1. Create a requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talep-olusturma) — Report the need and submit it. - [1a. Approve the requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talebi-onaylama) — If there is an approval template. - [2. Create a request for quotation](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklif-istegi-olusturma) — Ask the suppliers. - [3. Compare quotations](https://erpdocs.corexlogic.com/en/satin-alma/islemler/teklifleri-karsilastirma) — Quotation entry and decision. - [3a. Order from requisition](https://erpdocs.corexlogic.com/en/satin-alma/islemler/talepten-siparis-olusturma) — Without quotations: Requisition Source Assignment. - [4. Finalize the order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kesinlestirme) — Approval and finalization. - [4a. Send the order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-gonderme) — PDF and e-mail. - [5. Create a goods receipt](https://erpdocs.corexlogic.com/en/satin-alma/islemler/mal-kabulu-olusturma) — Full or partial receipt. - [6. Return to supplier](https://erpdocs.corexlogic.com/en/satin-alma/islemler/tedarikciye-iade) — Return request and reversal. - [7. Close the order](https://erpdocs.corexlogic.com/en/satin-alma/islemler/siparisi-kapatma-iptal) — Give up the remainder or cancel. --- # Physical inventory count > The physical inventory process, from opening and freezing the count scope to count entry, posting the difference with a second signature, and the stock effect. URL: https://erpdocs.corexlogic.com/en/surecler/stok-sayimi The path of a physical inventory in CoreX ERP: the count is **opened** and its scope is frozen, the counter **enters** what is found on the shelf, the count is **completed**, the approver reviews the difference and **posts it with a second signature**; the difference is written to the stock ledger as an adjustment movement and the freeze is lifted. > **Scenario** In the demo company's **HAMMADDE** (raw materials) warehouse, a monthly count is performed on 02.11.2026 for the **Sarf Malzemeleri** (Consumables) category (SARF-0001 … SARF-0007, 7 items) in the **RAF-B** storage location. The warehouse clerk counts and completes the count; the **Stok Yöneticisi** (Inventory Manager) posts the difference. The count reveals three differences: | Product | Ledger | Counted | Difference | |---|---|---|---| | SARF-0003 TAŞLAMA DİSKİ 115 MM | 70 ADET | 66 ADET | −4 | | SARF-0004 KESME DİSKİ 115 MM | 120 ADET | 125 ADET | +5 | | SARF-0007 KABLO BAĞI 200 MM | 2,200 ADET | 2,150 ADET | −50 | The other four items match the ledger. Document: **SAY-2026-000001**. ## Flow ``` New Count ──► Counting ─────────────► Count Completed ──► Post Difference ──► Posted (scope) (scope frozen, │ (count ends) (second signature) (adjustment movements, quantities entered) │ freeze lifted) ▲ │ └── Send for Recount Counting / Count Completed ──► Cancel Count ──► Cancelled (not written to the ledger, freeze lifted) ``` ## 1. Open the count **Stok Yönetimi › Fiziksel Envanter › Stok Sayımları › Yeni Sayım** (Inventory › Physical Inventory › Physical Inventories › New Count) ![New stock count dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-yeni.png) 1. Warehouse — required 2. Location — all locations if empty 3. Category — includes subcategories 4. ABC class — class stored on the item 5. Summary of the scope to freeze 6. Start Count Select **Depo** (Warehouse) HAMMADDE, **Lokasyon** (Storage Location) RAF-B, **Kategori** (Category) Sarf Malzemeleri, **Açıklama** (Description) "Kasım ayı sarf malzemesi sayımı" (November consumables count), and click **Sayımı Başlat** (Start Count). The summary at the bottom of the dialog shows the scope that will be frozen. - **Document status:** SAY-2026-000001 · **Sayımda** (Counting). - **Stock effect:** None; but the scope is **frozen** — until the count is posted or cancelled, no delivery, goods receipt, production or adjustment can be posted to the stock of these 7 items in the HAMMADDE warehouse. If a movement is attempted on a frozen item: "'SARF-0003' kartı 'HAMMADDE' deposunda sayımda (SAY-2026-000001) — sayım kaydedilene ya da iptal edilene kadar stok hareketi yazılamaz." (Item 'SARF-0003' is being counted in warehouse 'HAMMADDE' (SAY-2026-000001) — no stock movement can be posted until the count is posted or cancelled.) Step by step: [Open a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/stok-sayimi-acma). ## 2. Enter the counted quantities **Stok Sayımları › SAY-2026-000001** (Physical Inventories › SAY-2026-000001) ![Counting — entering counted quantities](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-girisi.png) 1. Scope frozen — no movements for these items 2. Counted — empty = not counted, 0 = none on shelf 3. Book and Difference — approvers only 4. Found Item — goods not on the list 5. Save Entries 6. Complete Count — when every line is counted In the **Sayılan** (Counted) cell of each line, the counter enters the quantity found on the shelf in the base unit (60, 4, 66, 125, 18, 5000, 2150) and clicks **Girişleri Kaydet** (Save Entries). An empty cell means "not counted"; 0 means "not on the shelf". Goods found on the shelf but not on the list are added with **Bulunan Ürün** (Found Item); on a serial-tracked line, serial numbers are entered with **Seri Gir** (Enter Serials). A counter without approval permission does not see the **Defter** (Ledger) and **Fark** (Difference) columns (blind count). The image above shows another, partially counted demo count (SAY-2026-000002, MERKEZ · Yedek Parçalar — spare parts; 2 of 4 lines counted). - **Document status:** Sayımda (Counting) ("7 / 7 sayıldı" — 7 / 7 counted). - **Stock effect:** None. Step by step: [Enter a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma). ## 3. Complete the count When all lines have been counted, click **Sayımı Tamamla** (Complete Count). The button is disabled while there are uncounted lines; the server also responds with "\{n\} satır sayılmadı. Sayılmayan satır "yok" demek değildir — rafta yoksa sıfır girin." (\{n\} lines were not counted. An uncounted line does not mean "none" — if it is not on the shelf, enter zero.) - **Document status:** **Sayım Tamamlandı** (Count Completed) — "Sayım tamamlandı. Farkı, bu sayımda miktar girmemiş bir yetkili kaydeder." (The count is completed. The difference is posted by an authorized user who did not enter quantities in this count.) - **Stock effect:** None; the scope is still frozen. ## 4. Review the difference ![Count completed — awaiting difference posting](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-tamamlandi.png) 1. Second signature — another approver posts 2. Difference summary 3. Book · Counted · Difference 4. Send Back for Recount 5. Post Difference — writes stock adjustments The Inventory Manager opens the count. With approval permission, the **Defter** (Ledger), **Sayılan** (Counted) and **Fark** (Difference) columns are visible; the summary shows "Fazla 1 · eksik 2 · farksız 4 satır" (1 surplus · 2 shortage · 4 lines without difference). The **Farklılar** (Differences only) switch shows only lines with a difference. If a difference is suspicious, **Yeniden Saymaya Gönder** (Send for Recount) returns the count to **Sayımda** (Counting) and the lines are counted again. ## 5. Post the difference (second signature) The difference is posted by an approver who is different from the user who entered and completed the count — in the demo environment, **Demo Onaylayıcı** (Demo Approver). The approver opens the count and clicks **Farkı Kaydet** (Post Difference): ![Post difference — second signature](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-kaydi.png) 1. Increase and decrease lines to post 2. Post Difference — writes the adjustments The **Farkı Kaydet — SAY-2026-000001** (Post Difference) dialog ("Fark bugünün tarihiyle deftere yazılır ve dondurma kalkar. Belge bundan sonra değişmez." — The difference is written to the ledger with today's date and the freeze is lifted. The document cannot change after this.): "1 satır stok artırma, 2 satır stok azaltma olarak yazılacak; 4 satır farksız." (1 line will be posted as a stock increase, 2 lines as a stock decrease; 4 lines without difference.) Once confirmed: - **Document status:** **Kaydedildi** (Posted) — the document never changes again; the **Farkı Kaydeden** (Difference Posted By) field is filled. - **Stock effect** (with today's date, source document "Stok Sayımı" (Physical Inventory), description SAY-2026-000001): | Product | Movement | Quantity | |---|---|---| | SARF-0003 | Stok Eksiği Düzeltmesi (Stock Shortage Adjustment — issue) | −4 ADET | | SARF-0004 | Stok Fazlası Düzeltmesi (Stock Surplus Adjustment — receipt) | +5 ADET | | SARF-0007 | Stok Eksiği Düzeltmesi (Stock Shortage Adjustment — issue) | −50 ADET | Lines without a difference do not create movements. The freeze is lifted; the items are open to movements again. The top of the document shows "Fark deftere yazıldı. Belge artık değişmez." (The difference was written to the ledger. The document can no longer change.) ![Count posted — difference written to the ledger](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-kaydedildi.png) 1. Status — document is final 2. Freeze lifted 3. Second signature — who posted and when 4. Difference — turned into adjustments The movements can be seen in **Stok Hareketleri** (Stock Movements) with the **Kaynak Belge = Stok Sayımı** (Source Document = Physical Inventory) filter (Source "Stok Sayımı #1"; in the movement details, Description SAY-2026-000001). ![Stock Movements — count difference adjustments](https://erpdocs.corexlogic.com/en/en/img/screens/stok/sayim-fark-hareketleri.png) 1. Source document = Stock Count 2. Surplus — receipt 3. Shortage — issue 4. Source — the count document > **The counter cannot post the difference** A user who entered quantities in this count or completed it cannot post the difference. In the demo document, when the user who entered the count tried **Farkı Kaydet** (Post Difference), the server rejected it: "Sayımı tamamlayan kişi farkı kaydedemez — ikinci imza başka bir kullanıcıdan gelmeli." (The person who completed the count cannot post the difference — the second signature must come from another user.) The difference was therefore posted by the second user (Demo Onaylayıcı); the stock effect above is the result of that posting. Step by step: [Post a physical inventory difference](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme). ## Cycle counting For regular counts, define an interval (days) per warehouse, category and ABC class in **Stok Yönetimi › Fiziksel Envanter › Dönemsel Sayım › Sayım Döngüleri** (Inventory › Physical Inventory › Cycle Counting › Count Cycles). Scopes that are due appear on the **Sayımı Gelenler** (Due for Count) tab, and **Sayım Aç** (Open Count) opens the dialog of step 1 of this process pre-filled. The ABC class is written to the item by **ABC Analizi › Karta Yaz** (ABC Analysis › Write to Item). ## FAQ / Troubleshooting | Situation | Cause and solution | |---|---| | "Bu kapsamla çakışan açık bir sayım var: \{no\}. Aynı rafı iki sayım birden donduramaz — önce onu kaydedin ya da iptal edin." (There is an open count overlapping this scope: \{no\}. Two counts cannot freeze the same shelf at once — post or cancel that one first.) | There is an open count in the same warehouse/storage location/category. Finish it first, or narrow the scope. | | A shipment, goods receipt or production is rejected with "… sayımda (\{no\}) — sayım kaydedilene ya da iptal edilene kadar stok hareketi yazılamaz." (… is being counted (\{no\}) — no stock movement can be posted until the count is posted or cancelled.) | The item is in the scope of an open count. Post the count, or cancel it with a reason. | | "\{X\} sınıfında ürün yok — önce ABC Analizi'nden sınıfları karta yazın." (There are no items in class \{X\} — first write the classes to the items from ABC Analysis.) | For a count by ABC class, first run **ABC Analizi › Karta Yaz** (ABC Analysis › Write to Item). | | **Sayımı Tamamla** (Complete Count) is disabled | There are uncounted lines. Find them with the **Sayılmayanlar** (Uncounted) switch; if an item is not on the shelf, enter 0. | | "Satır \{n\} defterden geldi — silinemez. Rafta yoksa sıfır sayın." (Line \{n\} came from the ledger — it cannot be deleted. If it is not on the shelf, count zero.) | A ledger line cannot be deleted; enter 0. | | "Sayımı tamamlayan kişi farkı kaydedemez — …" / "Bu sayımda miktar giren kişi farkı kaydedemez — …" (The person who completed the count / entered quantities in this count cannot post the difference — …) | Second signature: the difference is posted by another approver. | | "Sayım açıldıktan sonra şu satırların defter miktarı değişti: … . Sayımı iptal edip yeniden açın." (The ledger quantity of the following lines changed after the count was opened: … . Cancel the count and open it again.) | A document that was being processed while the count was opened changed the ledger. Cancel the count and open it again. | | A shortage line is not posted; allocation warning | The missing stock is allocated to a document. Release the allocation with a reason in **Stok Tahsisleri** (Stock Allocations). | | "İptal gerekçesi zorunludur." (A cancellation reason is required.) | Enter a reason in **Sayımı İptal Et** (Cancel Count). | ## Step-by-step tasks - [1. Open a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/stok-sayimi-acma) — Scope selection and freezing. - [2–3. Enter a physical inventory count](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-girisi-yapma) — Counted quantity, found item, serial numbers, completion. - [4–5. Post a physical inventory difference](https://erpdocs.corexlogic.com/en/stok/islemler/sayim-farkini-kaydetme) — Review, recount, posting with a second signature, cancellation. - [Physical inventories screen](https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-sayimlari) — Statuses, fields, all rejection messages, cycle counting. --- # Batch and serial number tracking > End-to-end batch and serial number tracking, from a batch-managed goods receipt through quarantine and the quality decision, blocking and FEFO issue, to tracing the batch to the customer delivery. URL: https://erpdocs.corexlogic.com/en/surecler/lot-ve-seri-izleme The path of a batch-managed item: the goods arrive with a **batch number and expiry date**; on an item with quality inspection they go into **quarantine** and are released for use by a quality decision; a faulty batch is **blocked**; at issue, batches are selected in **FEFO** order; and because every movement stays linked to its batch, you can later trace **where a batch came from and where it went**. On a serial-number-managed item the same path runs unit by unit (by serial number). > **Scenario** The demo company uses the raw material **HAM-0070 SLES %70** in detergent production; the item is batch-managed and requires **quality inspection at receipt**. On 02.11.2026 two drum batches arrive from the supplier: - **SLES-2611-004** — 400 KG, produced 20.10.2026, expiry 20.04.2028, supplier batch AK-261020-09 - **SLES-2611-005** — 50 KG, same delivery, drum dented The laboratory asks for a 20 KG sample on the same day. In addition, following a customer complaint, someone asks where batch **DET-2609-001** of the finished product **MAM-0008 SIVI DETERJAN 5 LT** went. ## Flow ``` Goods Receipt (batch + expiry) ──► KARANTINA stock status + Inspection Lot (KP-…) │ Quality Inspection ─┼─► Release ──► SIFIR (new, unrestricted) ──► Goods Issue (FEFO) (second signature) └─► Reject ───► RED ──► Scrap / Return to Supplier Batches ──► Change Status ──► Blocked (issue and transfer closed) Batch/Serial Traceability ──► Forward: delivery and customer · Backward: production order and supplier ``` ## 1. Receive the goods with their batch **Stok Yönetimi › Mal Hareketleri › Mal Girişi** (Inventory › Goods Movements › Goods Receipt) (for purchase-order-based receipts, the goods receipt in Purchasing) ![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 Item HAM-0070, warehouse KIMYA / IBC-ALANI, quantity 400 KG; **Lot Numarası** (Batch Number) SLES-2611-004, **Üretim Tarihi** (Production Date), **Son Kullanma Tarihi** (Expiry Date), **Tedarikçi Lot No** (Supplier Batch No). Leave **Stok Durumu** (Stock Status) empty. Enter the second batch (SLES-2611-005, 50 KG) the same way. - **Document status:** Movement No 301 and 305 (Mal Kabul — goods receipt, inbound). - **Stock effect:** Because the item requires quality inspection, both receipts were posted to the **KARANTINA** (Quarantine) stock status and the inspection lots **KP-2026-000001** and **KP-2026-000002** were opened. The batches were created with the **Aktif** (Active) batch status. Breakdown by status in KIMYA / IBC-ALANI: SIFIR (new, unrestricted) 320 KG (old batch SLES-2609-011), KARANTINA 450 KG. - Stock in quarantine cannot be shipped, consumed or transferred. Step by step: [Post a goods receipt](https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma). ## 2. Make the quality decision **Stok Yönetimi › Kalite Yönetimi › Kalite Kontrol** (Inventory › Quality Management › Quality Inspection) ![Quality Control — quarantine queue](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-kontrol.png) 1. Awaiting decision 2. Rejected stock — scrap or return 3. Inspection lot 4. Release 5. Reject The two quarantined lines are on the **Karar Bekleyenler** (Awaiting Decision) tab. The quality specialist reviews the certificate of analysis: ![Release dialog](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar.png) 1. Quantity — partial decision allowed 2. Reason — required 3. Reference — report, certificate no 4. Release - **Serbest Bırak** (Release) (SLES-2611-004, 400 KG, with a reason and reference): the quantity moves from KARANTINA to **SIFIR** and becomes available for use. Movement: Stock Status Change (source "Kalite Kararı" — Quality Decision). - **Reddet** (Reject): the quantity moves to the **RED (Reddedildi)** (Rejected) status; it leaves stock from the **Reddedilen Stok** (Rejected Stock) tab with **Hurdaya Ayır** (Scrap) or **Tedarikçiye İade** (Return to Supplier). > **Second signature** The user who put the goods into quarantine cannot make the decision: "Bu stoğu karantinaya siz aldınız — kalite kararını başka bir kullanıcı vermelidir. Malı içeri alan ile serbest bırakan aynı kişi olamaz." (You put this stock into quarantine — the quality decision must be made by another user. The person who received the goods and the person who releases them cannot be the same.) In the demo environment the receipts were posted by Demo Kullanıcı, so the decision was made by a second user, **Demo Onaylayıcı** (the Quality Specialist in the scenario). The decision made for KP-2026-000001 in the demo environment (reason "Analiz sertifikası şartnameye uygun; aktif madde %70,2." — Certificate of analysis meets the specification; active substance 70.2%; **Referans** (Reference) AK-261020-09): ![Release — with reason and reference](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kalite-karar-onayci.png) 1. Quantity — partial decision allowed 2. Reason — required 3. Reference — certificate of analysis 4. Release — quarantine → unrestricted - **Decision document:** KLT-2026-000001 — Serbest Bırakıldı (Released), 400. - **Inspection lot:** KP-2026-000001 **Karara Bağlandı** (Decided) (Released · Rejected · Open: 400 · 0 · 0). - **Stock effect:** a pair of **Stok Durumu Değişimi** (Stock Status Change) movements with the source **Kalite Kararı** (Quality Decision) — KIMYA / IBC-ALANI, batch SLES-2611-004: 400 KG out of KARANTINA, 400 KG into SIFIR. KP-2026-000002 (SLES-2611-005, 50 KG) stays in quarantine. ![Inspection lot — decided](https://erpdocs.corexlogic.com/en/en/img/screens/stok/kontrol-partisi-karara-baglandi.png) 1. Inspection lot status 2. Released · Rejected · Open 3. Usage decision and target stock status > **Order in the demo environment** In the demo data this decision was made after the laboratory issue in step 4 (Movement No 309); at the time of that issue the new batches were still in quarantine. Step by step: [Make a quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme). ## 3. Block the faulty batch **Stok Yönetimi › Stok Görünümü › Lotlar › SLES-2611-005 › Durumu Değiştir** (Inventory › Stock Overview › Batches › SLES-2611-005 › Change Status) ![Blocked lot detail](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-detay.png) 1. Blocked — not usable in issue or transfer 2. Opens the traceability report 3. Change Status — Active / Blocked 4. Stock distribution — warehouses and locations Set the batch of the dented drum to **Bloke** (Blocked). A batch status change does not post a stock movement; the stock stays where it is but cannot be selected in goods issues, transfers or deliveries. If an issue is attempted: "'SLES-2611-005' lotu bloke — çıkış yapılamaz." (Batch 'SLES-2611-005' is blocked — it cannot be issued.) Unblocking (**Aktif** — Active) requires a separate permission. - **Batch status:** Bloke (Blocked). **Stock effect:** None. Step by step: [Change the batch status](https://erpdocs.corexlogic.com/en/stok/islemler/lot-durumu-degistirme). ## 4. Issue with FEFO **Stok Yönetimi › Mal Hareketleri › Mal Çıkışı** (Inventory › Goods Movements › 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 For the laboratory sample, select HAM-0070, KIMYA / IBC-ALANI, **Stok Durumu** (Stock Status) SIFIR. The batch list is in FEFO order; the only available batch, **SLES-2609-011** (expiry 10.03.2028), carries the **FEFO önerisi** (FEFO suggestion) badge. The new batches in quarantine are not in the list. Enter 20 KG and click **Mal Çıkışı Kaydet** (Post Goods Issue). - **Document status:** Movement No 309 (Sarf / Çıkış — consumption / issue). - **Stock effect:** batch SLES-2609-011 goes from 320 → 300 KG. The same batch selection applies to sales deliveries and production consumption (in a delivery, **FEFO ile Dağıt** — Allocate by FEFO). ## 5. Trace where the batch went **Stok Yönetimi › Analitik › Lot/Seri İzlenebilirlik** (Inventory › Analytics › Batch/Serial Traceability) ![Lot/Serial traceability — forward trace](https://erpdocs.corexlogic.com/en/en/img/screens/stok/lot-izleme.png) 1. Lot or serial number 2. Direction — forward / backward 3. Document — delivery 4. Counterparty — customer 5. Export to Excel **Lot / Seri** (Batch / Serial) DET-2609-001, **Yön** (Direction) İleri (Forward) — where it went. Result (1 node · 2 movements): | Date | Movement | Warehouse | Quantity | Document | Counterparty | |---|---|---|---|---|---| | 01.10.2026 | Açılış Bakiyesi (Opening Balance) | MAMUL | +160 ADET | Opening Balance AB-2026-000003 | — | | 01.11.2026 | Sarf / Çıkış (Consumption / Issue) | MAMUL | −160 ADET | Delivery SV-2026-000001 | Trakya Et ve Et Ürünleri A.Ş. | The entire batch went to **M-0004 Trakya Et ve Et Ürünleri A.Ş.** with delivery **SV-2026-000001**; the same delivery also contains another 220 ADET from batch **DET-2609-002**. The batch details show Mevcut (Available) 0 ADET; a batch whose stock is used up stays in the list. The **Geri** (Backward) direction — where it came from — goes down to the production orders that produced a finished-product batch, to the raw material batches consumed by that order, and to the suppliers that delivered them. The link is at order level: every batch the order consumed is related to every batch it produced. Step by step: [Trace a batch or serial number](https://erpdocs.corexlogic.com/en/stok/islemler/lot-izleme). ## Serial-number-managed item On a serial-number-managed item (demo: TIC-0005 Frekans İnvertörü — frequency inverter), each unit is received, issued and traced with its own number: - At receipt the serial numbers are scanned; the quantity is the number of serials. A serial number is unique within the item: "'\{seri\}' seri numarası zaten stokta — ikinci kez giriş yapılamaz." (Serial number '\{seri\}' is already in stock — it cannot be received a second time.) - For unlabelled units use **Fiziksel Envanter › Seri Etiketleri › Seri Üret ve Etiket Bas** (Physical Inventory › Serial Labels › Generate Serials and Print Labels); the serial is created as "Etiketlendi" (Labelled) and enters stock when it is scanned in a count or a goods receipt. - At issue, serials in stock are selected; in the traceability report, enter the serial number in the **Lot / Seri** (Batch / Serial) field. ## FAQ / Troubleshooting | Situation | Cause and solution | |---|---| | "'\{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).) | The goods are awaiting a quality decision. Another user makes the decision in **Kalite Kontrol** (Quality Inspection). | | "'\{kod\}' kalite kontrolü şartlı — giriş yalnız karantina durumuna yazılabilir. …" ('\{kod\}' requires quality inspection — receipts can only be posted to the quarantine status. …) | A receipt with a status other than quarantine was attempted on an item with quality inspection. Leave the status empty. | | "'\{lot\}' lotu bloke — çıkış yapılamaz." (Batch '\{lot\}' is blocked — it cannot be issued.) | The batch is blocked. If appropriate, an authorized user sets it to **Aktif** (Active); otherwise select another batch. | | "'\{kod\}' lot takipli — lot numarası zorunludur." ('\{kod\}' is batch-managed — a batch number is required.) | No batch was entered/selected for a batch-managed item. | | A batch past its expiry date can be selected | Expiry does not block issue (scrapping and returns are posted with this batch); to stop its use, block the batch. | | A batch appears in the batch list but its quantity is 0 | A batch whose stock is used up is not deleted; it stays in the list for traceability. | | "Lot numarasında '\{ayraç\}' kullanılamaz — etiketin ayracı." ('\{ayraç\}' cannot be used in a batch number — it is the label separator.) | The label separator was used in the batch number; remove the character. | | The quality decision is rejected with "Bu stoğu karantinaya siz aldınız — …" (You put this stock into quarantine — …) | Second signature: the person who received the goods cannot make the decision. | ## Step-by-step tasks - [1. Post a goods receipt](https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma) — Receipt with batch, expiry date and serial numbers. - [2. Make a quality decision](https://erpdocs.corexlogic.com/en/stok/islemler/kalite-karari-verme) — Release or rejection. - [3. Change the batch status](https://erpdocs.corexlogic.com/en/stok/islemler/lot-durumu-degistirme) — Block and unblock. - [4. Post a goods issue](https://erpdocs.corexlogic.com/en/stok/islemler/mal-cikisi-yapma) — FEFO batch selection. - [5. Trace a batch or serial number](https://erpdocs.corexlogic.com/en/stok/islemler/lot-izleme) — Forward and backward tracing. - [Batches and serial labels](https://erpdocs.corexlogic.com/en/stok/ekranlar/lotlar) — Batch statuses, expiry dates, serial labels. --- # Order to production > From the sales order of a configurable product to delivery — sales order, approval, Open Production Order, resolving the super BOM, sub-order, material consumption, confirmation, output and shipment. URL: https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime In make-to-order production, the product is produced with the values the customer selected. In CoreX ERP the path is: the **sales order** for the configurable product is entered with its values and approved; a production order is opened from the sales order with **Üretim Emri Aç** (Open Production Order); when the order is **released**, the super bill of materials and super routing are resolved with these values; make-to-order subassemblies are opened as **sub-orders**; materials are **consumed**; operations are **confirmed**; the finished product enters stock as **output**; and the **delivery** is made from the same sales order. > **Scenario** The demo customer **M-0010 Bursa Otomotiv Yan Sanayi Parça A.Ş.** wants **1 unit of DMO-KSL-01 Demo ölçülü bantlı konveyör** (Demo custom-size belt conveyor) for its assembly line: length **12.5 m**, belt width **800 mm**, belt type **PVC Endüstriyel** (PVC Industrial), protective cover **Evet** (Yes). Unit price 385.000 TRY, requested delivery 27.11.2026. The conveyor's drive unit (**DMO-KSL-05**) is a make-to-order semi-finished product; the other materials come from the raw material warehouse. The product's BOM and routing rules: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) (Examples 1–8 and 24). ``` Sales Order ──► Production Order ──Release──► Sub-Order (drive unit) ──► Consumption · Confirmation · Output ──► Completed SS-2026-000017 UE-2026-000009 UE-2026-000012 MS / TYD / UC │ (Approved) (Draft→Released) (Released→Completed) │ │ │ └──► Consumption (MS-…17, MS-…18) · Confirmation (TYD-…17…22) · Output (UC-…06) ──► Completed │ Delivery SV-2026-000009 (goods issue) ◄──────────────────┘ ``` ## 1. Enter and approve the configured sales order **Satış › Sipariş Yönetimi › Satış Siparişi Oluştur** (Sales › Order Management › Create Sales Order) 1. Select the customer and enter **DMO-KSL-01** on the line. Because the item is configurable, the configurator opens on the line; enter the values. A characteristic with a precondition is asked only when its condition is met; a calculated characteristic (**Ayak Çifti Sayısı** — Number of Leg Pairs) is filled from its rule. 2. Constraint and range rules are applied when the line is saved. Example: PU belt with a length of 24 m is rejected with `PU gıda bandı en çok 20 m boyda üretilir.` (PU food belt is produced in lengths of at most 20 m.) 3. Save the sales order and click **Siparişi Onayla** (Approve Order). Sales order **SS-2026-000017**, status **Onaylandı** (Approved). Details: [Create a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparis-olusturma), [Approve a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama). ![Approved sales order — configured line and Open Production Order](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-siparis-onayli.png) 1. Open Production Order — make to order 2. Configuration of the line 3. Shipped and remaining quantity **Planning effect:** the approved sales order line enters planning as demand. Because the item has the **Siparişe Üretim** (Make-to-Order) strategy, the demand is covered by a production order linked to this sales order. ## 2. Open a production order from the sales order On the approved sales order's details, click **Üretim Emri Aç** (Open Production Order). The order form opens with the sales order: the sales order line to be produced (with its configuration text — `Boy: 12,5 m · Bant Genişliği: 800 mm · Bant Tipi: PVC Endüstriyel · Koruma Kapağı: Evet · Ayak Çifti Sayısı: 10`) and the item's released BOM (**Rev 1**) are selected; **Üretim Emrini Kaydet** (Save Production Order) saves the order with number **UE-2026-000009** in **Taslak** (Draft) status. ![Production order from sales order — line and BOM selection](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-emir-ac.png) 1. Sales order line and its configuration 2. Released super BOM 3. Save Production Order — draft order A draft order has no materials or operations yet; the BOM and routing are resolved at release. Details: [Open a production order from a sales order](https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma). ## 3. Release the order — the super BOM and routing are resolved On the order details, click **Yayınla** (Release). The order becomes **Yayınlandı** (Released) and the material requirements and operations resolved with the configuration are written to the order. The result of the scenario (10 lines out of the 12-line BOM): | Line | Material | Rule | On the order | |---|---|---|---| | 1 | HAM-0035 Aluminium conveyor profile | `2 * BOY * 1.02` | 25,5 M | | 2 | HAM-0056 PVC belt | Bant Tipi (Belt Type): PVC · `2 * BOY` + 0,6 | 25,6 M | | 3 | HAM-0057 PU belt | Bant Tipi (Belt Type): PU | not included | | 4 | HAM-0058 Carrier roller | 1 + `TAVAN(BOY / 0.5)` | 26 ADET | | 5 | DMO-KSL-05 Drive unit | unconditional | 1 ADET | | 6 | HAM-0054 Motor 0,75 kW | `BOY <= 10` | not included | | 7 | HAM-0055 Motor 1,5 kW | `BOY > 10` | 1 ADET | | 8 | HAM-0049 Levelling foot | `2 * (TAVAN(BOY / 1.5) + 1)` | 20 ADET | | 9 | HAM-0030 Stainless steel sheet | `KORUMA = EVET` · `BOY * 2.4` | 30 KG | | 10 | HAM-0032 Box profile | `BANT_GENISLIGI = '800' VE BOY > 12` · `TAVAN(BOY / 3) * 0.8` | 4 M | | 11 | HAM-0064 Bolt (backflush) | `EGER(BANT_GENISLIGI IN ('600', '800'), 8, 4) * TAVAN(BOY / 1.5)` | 72 ADET | | 12 | HAM-0026 Cable | fixed | 5 M | Operations from the super routing: Profile cutting machine 20 min, Chassis and roller assembly 105 min, Belt assembly 50 min, **Protective cover assembly** 37.5 min (included by condition), Motor connection 30 min, Running test 30 min. ![Released order — resolved BOM and sub-order proposal](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-emir-yayinlandi.png) 1. Configuration from the sales order 2. Open Sub-orders — make-to-order subassembly 3. Sub-order quantity to open 4. Consumption, output and confirmation 5. Materials selected by the conditions ![Order operations — times computed from the super routing](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-emir-operasyonlar.png) 1. Operation selected by condition 2. Labour formula 30 + 6 × LENGTH = 105 min The screenshots are from a second order opened with the same configuration (UE-2026-000011, sales order SS-2026-000024); the scenario's order had the same content at this step. Details: [Release a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama). **Stock effect:** release does not change stock quantities. The **Malzeme** (Material) box at the top shows the missing items. ## 4. Open and produce the sub-order The order's **Alt Emirler** (Sub-Orders) section suggests the make-to-order components: for **DMO-KSL-05**, **Gereken** (Required) 1, **Stoktan** (From Stock) 0, **Açılacak** (To Open) 1. **Alt Emirleri Aç** (Open Sub-Orders) opens **UE-2026-000012**; the sub-order is linked to the parent order and is created in **Yayınlandı** (Released) status. Only components with the **Siparişe Üretim** (Make-to-Order) strategy and a released BOM are suggested; a semi-finished product with the **Stoğa Üretim** (Make-to-Stock) strategy is expected from stock. Details: [Sub-order suggestion](https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi). On the sub-order: 1. **Sarf Kaydet** (Post Consumption) — MS-2026-000016: HAM-0037 0,65 M, HAM-0036 0,9 M, HAM-0053 2 ADET (Hammadde Deposu — Raw Material Warehouse). 2. **Teyit Gir** (Enter Confirmation) — 10 Tube and shaft cutting (TYD-2026-000015) and 20 Welding and bearing assembly (TYD-2026-000016), final confirmation. 3. **Çıktı Kaydet** (Post Output) — UC-2026-000005: 1 ADET DMO-KSL-05 to Mamul Deposu / Mamul Rafı 2 (Finished Goods Warehouse / Finished Goods Shelf 2). The order becomes **Üretimde** (In Production). 4. **Tamamla** (Complete) — the sub-order becomes **Tamamlandı** (Completed). ## 5. Consumption, confirmation and output on the main order 1. **Sarf Kaydet** (Post Consumption) — MS-2026-000017: raw materials from their own storage locations (profile and sheet from Sac ve Profil Alanı — Sheet and Profile Area; belt/roller/motor/bolt from Raf B — Shelf B; foot from Raf C; cable from Raf A); MS-2026-000018: the drive unit produced by the sub-order (Mamul Rafı 2). Details: [Post material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme). 2. **Teyit Gir** (Enter Confirmation) — the six operations with final confirmation (TYD-2026-000017 … 000022). Details: [Enter an operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme). 3. **Çıktı Kaydet** (Post Output) — UC-2026-000006: 1 ADET DMO-KSL-01, Mamul Deposu / Mamul Rafı 1. Details: [Post production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme). 4. **Tamamla** (Complete) — the order becomes **Tamamlandı** (Completed). If the correction period should also be closed, use **Kesin Kapat** (Technically Close) ([Close a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma)). ![Completed order — consumptions, output and sub-order](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-emir-tamamlandi.png) 1. Close Finally — closes for corrections too 2. Sub-order — drive unit 3. Consumption documents 4. Output document > **Backflush and storage location** The HAM-0064 bolt line is **backflushed**: it is reduced automatically in the planned ratio when the output is posted. In a warehouse where the storage location is not mandatory, backflush is taken from stock **without a storage location**; because the demo stock is in shelf locations, the bolt was added manually to the consumption document in the scenario. If the backflush cannot be posted, the record goes to **Hatalı Geri Sarflar** (Failed Backflushes): [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar). ## 6. Make the delivery On the sales order details, click **Teslimat Oluştur** (Create Delivery): warehouse **Mamul Deposu**, storage location **Mamul Rafı 1**, 1 ADET. Delivery **SV-2026-000009** is saved together with the goods issue; the sales order's **Sevk Edilen** (Shipped) quantity becomes 1, and the production order and the delivery appear in **Bağlantılı Belgeler** (Linked Documents). Details: [Create a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma). ![Shipped order — linked production order and delivery](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-siparis-teslim.png) 1. Shipped quantity 2. Linked production order 3. Delivery and goods issue ## Stock effect summary | Document | Movement | |---|---| | MS-2026-000016 | HAM-0037, HAM-0036, HAM-0053 leave the Hammadde Deposu (Raw Material Warehouse) | | UC-2026-000005 | DMO-KSL-05 +1, Mamul Deposu / Mamul Rafı 2 | | MS-2026-000017 | 9 raw material items are issued (e.g. HAM-0035 48 → 22,5 M, HAM-0056 40 → 14,4 M, HAM-0055 1 → 0) | | MS-2026-000018 | DMO-KSL-05 −1, Mamul Rafı 2 | | UC-2026-000006 | DMO-KSL-01 +1, Mamul Deposu / Mamul Rafı 1 | | SV-2026-000009 | DMO-KSL-01 −1 (goods issue) | ## FAQ / Troubleshooting | Message / situation | Cause and solution | |---|---| | `'DMO-KSL-01' yapılandırılabilir kart — üretim emri yalnız yapılandırılmış bir satış siparişi satırından açılır.` ('DMO-KSL-01' is a configurable item — a production order can only be opened from a configured sales order line.) | An attempt was made to open a free-standing order for a configurable item. Open the order from the approved sales order with **Üretim Emri Aç** (Open Production Order). | | `Bu ürün ağacı konfigürasyona göre çözülür — emir yapılandırılmış bir satış siparişi satırından açılmalı.` (This BOM is resolved by configuration — the order must be opened from a configured sales order line.) | An attempt was made to open a free-standing order for a configurable item. Open the order from the approved sales order with **Üretim Emri Aç** (Open Production Order). | | `Konfigürasyon ürün ağacının hiçbir satırını seçmiyor — ağacın koşullarını düzeltin.` (The configuration selects no line of the BOM — correct the BOM's conditions.) | With these values, the BOM's conditions select no line. Test the BOM with the same values using **Yapılandırarak Dene** (Try with Configuration). | | `N. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (…)` (The quantity formula of line N is unknown — one of the values it reads is not in the configuration (…)) | The formula reads an empty characteristic (optional or not asked). Protect the formula with `EGER`: [Example 12](https://erpdocs.corexlogic.com/en/uretim/kosullar#ornek-12). | | `N. satırın konfigürasyona göre hesaplanan miktarı sıfırdan büyük değil.` (The quantity of line N calculated from the configuration is not greater than zero.) | Fixed + formula result is 0 or negative. If the line should not be included, write a condition: [Example 5](https://erpdocs.corexlogic.com/en/uretim/kosullar#ornek-5). | | `Konfigürasyon aynı kartı iki ürün ağacı satırından seçiyor — ağacın koşullarını düzeltin.` (The configuration selects the same item from two BOM lines — correct the BOM's conditions.) | The conditions of two lines were met at the same time. Set up the conditions so that they exclude each other. | | `N numaralı operasyonun işçilik formülü hesaplanamadı — konfigürasyonda gereken değer yok.` (The labour formula of operation N could not be calculated — a required value is missing from the configuration.) | The value read by the duration formula is empty. | | `Konfigürasyon rotanın hiçbir operasyonunu seçmiyor — rotanın seçim koşullarını düzeltin.` (The configuration selects no operation of the routing — correct the routing's selection conditions.) | All of the routing's operations are conditional and none returned Yes. | | `… satırın bileşeni yapılandırılabilir — çıktının konfigürasyon profili ürün ağacını çok seviyeli patlatmalı.` (The component of line … is configurable — the output's configuration profile must explode the BOM multi-level.) | The BOM contains a configurable component; make the output's configuration profile multi-level. | | `'Kabin Eni' yalnız Kabin: Özel Ölçü (En x Boy) olduğunda girilir.` ('Kabin Eni' is entered only when Kabin is Özel Ölçü (En x Boy).) | A value was given for a characteristic whose precondition is not met (sales line). | | `'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım).` (The 'Boy' value is not in the allowed range (2–30 m, 0.5 m step).) | The value does not match the characteristic's range or step. | | A semi-finished product is missing from the sub-order suggestion | The component does not have the **Siparişe Üretim** (Make-to-Order) strategy or has no released BOM; it is expected from stock. If there is no stock, consumption is rejected with the message `… kartının 'SIFIR' durumunda yeterli stok yok.` (There is not enough stock of item … in status 'SIFIR'.) Set the item's planning strategy to **Siparişe Üretim**, or produce the semi-finished product to stock first. | | No material lines appear on the order | The order is still **Taslak** (Draft); requirements are written with **Yayınla** (Release). | ## Step-by-step tasks - [1. Create a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparis-olusturma) — The line for a configurable product. - [2. Approve a sales order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) — Demand enters planning. - [3. Open a production order from a sales order](https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma) — Üretim Emri Aç (Open Production Order). - [4. Release the order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama) — The BOM and routing are resolved. - [5. Open sub-orders](https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi) — Make-to-order subassembly. - [6. Material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) — From stock to the order. - [7. Operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) — Duration and quantity. - [8. Production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) — The finished product enters stock. - [9. Close the order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) — Complete, Technically Close. - [10. Delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma) — Delivery and goods issue. --- # Make-to-stock production > From forecast to MRP, from planned order to production order, consumption, confirmation and output into finished goods stock — the end-to-end make-to-stock flow. URL: https://erpdocs.corexlogic.com/en/surecler/stoga-uretim In make-to-stock production, the product is manufactured **without waiting for a sales order**; sales orders are fulfilled from existing stock. **MRP** decides when and how much to produce: it looks at the item's minimum/maximum stock, open orders and the entered **forecast**, and proposes planned orders for the shortfall. The planner converts the planned order into a production order; production is completed with consumption, operation confirmation and output. > **Scenario** The demo company produces **MAM-0005 Dosya Dolabı 80X40X200 Beyaz** (filing cabinet, white) to stock (planning strategy *Stoğa Üretim* (Make-to-Stock), procurement type *Üret* (Make)). The item's planning data: **6 units** on hand, minimum stock **2**, maximum stock **8**, lead time **7 days**. For a dealer campaign, the sales team forecasts sales of **6** units in December 2026 and **4** units in January 2027. Date: 02.11.2026. ``` Forecast (MAM-0005: Dec 6, Jan 4) │ ▼ MRP Run ──► TLP-2026-000002 (draft purchase requisition, purchased items) │ ▼ PLO-2026-000001 (planned order, 8 ADET, Open) ──Convert to Production Order──► Converted │ ▼ UE-2026-000002 (Draft) ──Release Order──► Released ──consumption/confirmation/output──► In Production │ │ │ MS-2026-000005 consumption · TYD-2026-000005…8 confirmation · UC-2026-000002 output │ ▼ ▼ Completed ──Technically Close──► Closed MAMUL / RAF-M1: 6 → 14 ADET ``` ## 1. Enter the forecast **Üretim › Üretim Planlama › Planlı Bağımsız İhtiyaçlar › Tahmin Gir** (Production › Production Planning › Planned Independent Requirements › Enter Forecast) For item **MAM-0005**, period type **Ay** (Month), enter **6** units for the 01.12.2026 period (note "Bayi kampanyası öngörüsü" — dealer campaign forecast) and **4** units for the 01.01.2027 period, then save. ![Enter Forecast dialog — monthly periods](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-tahmin-gir.png) 1. Item — planned stock item 2. Period type — Day, Week, Month 3. Period quantity (base unit) 4. Add next N periods 5. Propose from history — statistical proposal 6. Save — replaces unfinished periods - Two lines are created in the list: Forecast 6 / Consumed by Orders 0 / Remaining (MRP) 6, and 4 / 0 / 4. - No stock or document effect. If an approved sales order arrives in the period, it consumes the forecast; MRP plans only the remainder. Details: [Enter a planned independent requirement](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme). ## 2. Review and run MRP **Üretim › Üretim Planlama › MRP Koşusu** (Production › Production Planning › MRP Run) The list is a simulation. The **Stok/İhtiyaç Listesi** (Stock/Requirements List) of MAM-0005 shows: | Date | Element | Quantity | Available | |---|---|---|---| | 02.11.2026 | Stock on hand | | 6 | | 01.12.2026 | Forecast 01.12.2026–31.12.2026 | −6 | 0 | | 01.12.2026 | MRP proposal | +8 | 8 | | 01.01.2027 | Forecast 01.01.2027–31.01.2027 | −4 | 4 | On 01.12.2026 the available quantity is 0, below the minimum (2); because a maximum is defined, the proposal is 8 − 0 = **8 units**. Start = 01.12.2026 − 7 days = **24.11.2026**. In January 8 − 4 = 4 ≥ 2, so there is no proposal. Run MRP with **MRP'yi Çalıştır › Çalıştır** (Run MRP › Run). ![Run MRP confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-calistir.png) 1. Unfirmed MRP orders are rebuilt 2. Make to order: order pegged to sales item 3. Run The result section shows: "130 planlı ürün · 24 satın alma önerisi taslak talebe yazıldı · 3 planlı üretim emri açıldı." (130 planned items · 24 purchase proposals written to a draft requisition · 3 planned production orders opened.), **Açılan taslak talep: TLP-2026-000002** (Draft requisition opened), **Açılan planlı emirler: PLO-2026-000001, PLO-2026-000002, PLO-2026-000003** (Planned orders opened). The run plans all planned items together; the planned order of MAM-0005 is **PLO-2026-000001**. - **Document effect:** a draft purchase requisition (it remains a draft until you submit it) and planned orders. Stock does not change. - Because the components of MAM-0005 are sufficiently in stock, no proposals were created for them. Details: [Run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma). ## 3. Convert the planned order to a production order **Üretim › Üretim Planlama › Planlı Emirler › PLO-2026-000001** (Production › Production Planning › Planned Orders › PLO-2026-000001) The details show Source *MRP koşusu* (MRP run), Firmed *Hayır* (No), Start 24.11.2026, End 01.12.2026, and the **Bileşen Önizlemesi** (Component Preview): HAM-0038 31.68 M2 · HAM-0041 14.08 M2 · HAM-0042 117.6 M · HAM-0045 32 · HAM-0046 16 · HAM-0049 32 · HAM-0066 256 · AMB-0010 8 ADET (scrap included). Click **Üretim Emrine Dönüştür › Dönüştür** (Convert to Production Order › Convert). ![Planned Orders list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-listesi.png) 1. Open Planned Order — manually 2. Source — MRP or Manual 3. Firm — MRP does not rebuild 4. Resulting production order - The draft production order **UE-2026-000002** is opened (MAM-0005 · Rev 1, 8 ADET; its header shows "Planlı emir PLO-2026-000001" — Planned order PLO-2026-000001). - The planned order becomes **Dönüştü** (Converted); in the list, the Production Order column shows a link to UE-2026-000002. - The next MRP run no longer rebuilds a converted order. Details: [Convert a planned order to a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme). ## 4. Release the production order **Üretim › Üretim Yürütme › Üretim Emirleri › UE-2026-000002 › Yayınla › Emri Yayınla** (Production › Production Execution › Production Orders › UE-2026-000002 › Release › Release Order) - The order becomes **Yayınlandı** (Released); **8 material requirements** from the current BOM revision and **4 operations** from the routing are frozen (10 Panel sizing and drilling — EBATLAMA, planned 8.16 units including scrap; 20 Edge banding — BANTLAMA; 30 Assembly — MONTAJ; 40 Packaging — PAKETLEME). - The **Malzeme** (Material) box shows "Hazır — Açık gereksinimler stokla karşılanıyor" (Ready — open requirements are covered by stock). - Release does not create stock movements and does not reserve material. Details: [Release a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama). ## 5. Post the material consumption **UE-2026-000002 › Sarf Kaydet** (Post Consumption) The six components that are not backflushed are consumed from their warehouse and storage location: HAM-0038 and HAM-0041 from Hammadde Deposu (raw materials warehouse) / PANEL-ALANI; HAM-0042, HAM-0045, HAM-0046 from Hammadde Deposu / RAF-C; AMB-0010 from Kimya Deposu (chemicals warehouse) / AMBALAJ. Document **MS-2026-000005**. - **Stock effect:** HAM-0038 −31.68 M2, HAM-0041 −14.08 M2, HAM-0042 −117.6 M, HAM-0045 −32, HAM-0046 −16, AMB-0010 −8 ADET. - HAM-0049 (Ayar Ayağı — leveling foot) and HAM-0066 (Sunta Vidası — chipboard screw) are **backflushed**: the consumption form shows "geri sarf — çıktıyla düşer" (backflush — reduced with the output); they are expected to be reduced automatically when the output is posted. Details: [Post a material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme). ## 6. Confirm the operations **UE-2026-000002 › Teyit Gir** (Enter Confirmation) (or **Üretim › Üretim Yürütme › Operasyon Teyidi Gir** — Production › Production Execution › Enter Operation Confirmation) The four operations are posted as final confirmations with 8 good and 0 scrap; because the times are left empty, the server proposes them: **TYD-2026-000005** (10), **TYD-2026-000006** (20), **TYD-2026-000007** (30), **TYD-2026-000008** (40). - No stock effect; the confirmed quantity and actual time of the operations are updated, and the capacity load decreases. - If scrap had been entered, it would appear in the **Fire Raporu** (Scrap Report). Details: [Enter an operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme). ## 7. Post the production output **UE-2026-000002 › Çıktı Kaydet** (Post Output) 8 units of MAM-0005 are received into **Mamul Deposu / RAF-M1** (finished goods warehouse); the backflush warehouse is Hammadde Deposu. Document **UC-2026-000002**. - **Stock effect:** MAM-0005 **6 → 14 ADET**. The order is **Üretimde** (In Production), Produced 8 ADET (100%). - The system attempts to reduce the backflushed components with the output. In this scenario they **could not be reduced** — see the troubleshooting below. Details: [Post a production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme). ### Backflush error and its resolution ![Backflush Errors — component not found in stock without location](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/stoga-geri-sarf-hatasi.png) 1. Order whose output was posted 2. Server error message 3. Status — Open, Resolved, Closed The output was posted, but two components could not be backflushed and were placed in the **Üretim › Üretim Yürütme › Hatalı Geri Sarflar** (Production › Production Execution › Failed Backflushes) queue: ``` 6. satır: 'HAM-0049' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 32,000000. 7. satır: 'HAM-0066' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 256,000000. ``` (Line 6/7: item 'HAM-0049' / 'HAM-0066' does not have enough stock in 'SIFIR' (new) status. Available: 0, requested: 32 / 256.) The queue screen shows the same sentence without the line number. The image above shows the record after resolution (**Durum** (Status) filter *Tümü* (All), record status **Kapatıldı** (Closed)); while it is open, the line has the **Yeniden Dene** (Retry) and **Kapat** (Close) buttons. **Cause:** Storage locations are not mandatory in Hammadde Deposu. In a warehouse where storage locations are not mandatory, backflush reduces stock **without a storage location**; but the stock of these components is in shelf bins (RAF-C, RAF-B). In a warehouse where storage locations are mandatory, backflush uses the item's **default storage location** in that warehouse. **Resolution (in this scenario):** the two components were consumed manually from the order's **Sarf Kaydet** (Post Consumption) form by selecting the shelf bins (**MS-2026-000009**: HAM-0049 −32 RAF-C, HAM-0066 −256 RAF-B), and the records in the queue were closed with **Kapat** (Close) with the reason "Raf gözünden elle sarf edildi — MS-2026-000009" (Consumed manually from the shelf bin — MS-2026-000009). Alternative: transfer the stock to the breakdown without a storage location and click **Yeniden Dene** (Retry) (the warehouse and stock status can be changed). The output is not reversed. Details: [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar). ## 8. Complete and close the order **UE-2026-000002 › Tamamla › Emri Tamamla** (Complete › Complete Order), then **Kesin Kapat › Kesin Kapat** (Technically Close › Technically Close) ![Make-to-stock order — closed](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/stoga-emir-kapandi.png) 1. Created from the planned order 2. Stage strip — Draft → Closed 3. Consumptions and outputs - **Tamamlandı** (Completed): no new consumption or output can be posted; historical corrections remain possible. - **Kapatıldı** (Closed): no postings at all can be made, including consumption, output, confirmations and corrections; this cannot be undone. - The stage bar shows Taslak (Draft) → Yayınlandı (Released) → Üretimde (In Production) → Tamamlandı (Completed) → Kapatıldı (Closed), each stage stamped 02.11.2026. Details: [Close a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma). ## Result | Item | Before | After | Document | |---|---|---|---| | MAM-0005 Dosya Dolabı | 6 ADET | 14 ADET | UC-2026-000002 | | HAM-0038 Melamin Sunta 18 mm Beyaz | 85 M2 | 53.32 M2 | MS-2026-000005 | | HAM-0041 MDF 8 mm Ham | 35 M2 | 20.92 M2 | MS-2026-000005 | | HAM-0042 PVC Kenar Bandı 2 mm Beyaz | 450 M | 332.4 M | MS-2026-000005 | | HAM-0045 Menteşe 110° Frenli | 80 ADET | 48 ADET | MS-2026-000005 | | HAM-0046 Kulp 128 mm | 60 ADET | 44 ADET | MS-2026-000005 | | AMB-0010 Mobilya Kolisi | 34 ADET | 26 ADET | MS-2026-000005 | | HAM-0049 Ayar Ayağı M8 | 260 ADET | 228 ADET | MS-2026-000009 | | HAM-0066 Sunta Vidası 4X40 | 5,200 ADET | 4,944 ADET | MS-2026-000009 | The quantities are the values at the time the scenario was performed; other scenarios in the demo environment may have posted movements to the same items later. When MRP was recalculated at the time of the scenario, MAM-0005 showed: 14 − 6 (December) = 8, 8 − 4 (January) = 4; both are above the minimum, so there is no new proposal. ## FAQ / Troubleshooting | Situation | Cause and solution | |---|---| | The item is not in the MRP list | The planning strategy is *Planlama Yok* (No Planning) or the item is not stock-managed: "Kart MRP'de planlanmıyor — planlama stratejisi "planlama yok" ya da kart stok tutmuyor." (The item is not planned in MRP — planning strategy is "no planning" or the item is not stock-managed.) Correct the item's Planning Data. | | Status **Planlanmıyor** (Not Planned), "Tedarik yolu belirlenmemiş." (Procurement type not defined.) | The item's **Varsayılan tedarik yolu** (Default procurement type) is empty. Select *Üret* (Make) or *Satın Al* (Buy). | | The forecast cannot be entered | "'KOD' planlanmıyor (planlama stratejisi "planlama yok") — tahmin MRP'ye girmez." ('CODE' is not planned (planning strategy "no planning") — the forecast does not enter MRP.) or "N. dönem bitmiş — geçmiş döneme tahmin girilmez." (Period N has ended — no forecast can be entered for a past period.) | | Exception **Ağaç yok ya da uygun alternatif/geçerli revizyon yok** (No BOM, or no suitable alternative/valid revision) | "Yayınlanmış ürün ağacı yok — üretim önerisi patlatılamadı, bağımlı ihtiyaç doğmadı." (No released BOM — the production proposal could not be exploded, no dependent requirement was created.) Release the BOM. | | Exception **Yetişmiyor** (Late) | The lead time does not reach the requirement date; the proposal was scheduled for today + lead time. Accept the date or move the demand. | | A planned order disappeared / its number changed after a run | An MRP planned order that is not firmed is cancelled and rebuilt in every run. To keep it, use **Sabitle** (Firm) or convert it. | | Convert was rejected | "'KOD' için yayınlanmış üretim ağacı yok — planlı emir ağaçtan üretim emri açar; ağaçsız emri Üretim Emirleri ekranından açın." (There is no released production BOM for 'CODE' — a planned order opens a production order from the BOM; open an order without a BOM from the Production Orders screen.) or "'KOD' için N parti büyüklüğünü kapsayan üretim alternatifi yok — alternatiflerin parti büyüklüğü aralığını düzenleyin ya da miktarı değiştirin." (There is no production alternative for 'CODE' covering lot size N — edit the lot size range of the alternatives or change the quantity.) | | "Planlı emir bu arada değişti — sayfayı yenileyip yeniden deneyin." (The planned order has changed in the meantime — refresh the page and try again.) | Someone else changed the planned order, or MRP rebuilt it. Refresh the page. | | The backflush was placed in the queue | See the "Backflush error and its resolution" section above. If there is no default storage location in a warehouse where storage locations are mandatory, the message is: "'DEPO' lokasyon istiyor ve 'KOD' kartının bu depoda varsayılan lokasyonu yok." ('WAREHOUSE' requires a storage location, and item 'CODE' has no default storage location in this warehouse.) | ## Step-by-step tasks - [1. Enter a forecast](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme) — Sales forecast period by period. - [2. Run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma) — Proposals to requisitions and planned orders. - [3. Convert to a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme) — Draft production order from a planned order. - [4. Release](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama) — Requirements and operations are frozen. - [5. Material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) — Components are reduced from stock. - [6. Operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) — Good quantity, scrap, time. - [7. Production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) — The finished product enters stock; backflush runs. - [8. Close the order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) — Complete and technically close. --- # Shipment planning > From approved sales order to delivery — open delivery, picking, packing, shipment and carrier, goods issue, transit, proof of delivery and freight settlement. URL: https://erpdocs.corexlogic.com/en/surecler/sevkiyat-planlama How do the goods of approved sales orders leave the warehouse, get loaded onto a vehicle and reach the customer? This guide walks end to end through a shipment that sends two sales orders to Ankara on the same carrier trip. The sales order itself and the single-step delivery are covered in the [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya) guide; the screens are detailed in the [Logistics](https://erpdocs.corexlogic.com/en/lojistik/) section. > **Scenario** On 02.11.2026 **CoreX Demo Endüstri** (Istanbul, Ümraniye) sends the approved sales orders of two of its customers in Ankara with the same vehicle: - **SS-2026-000007** — Başkent Mimarlık ve İç Mimari Ltd. Şti. (M-0015): 2 units of MAM-0005 DOSYA DOLABI 80X40X200 BEYAZ, 1 unit of MAM-0004 TOPLANTI MASASI 240X120 CEVİZ. - **SS-2026-000008** — Güneş Enerji Sistemleri Mühendislik A.Ş. (M-0006): 2 units of MAM-0002 AYDINLATMA DAĞITIM PANOSU 12 GRUP. The goods are in bin RAF-M1 of **MAMUL — Mamul Deposu** (Finished Goods Warehouse). Transport is carried out by the carrier **Hızlı Hat Nakliyat ve Lojistik Ltd. Şti.** (T-0018); its rate is **HIZLIHAT-2026**: 1.500 TRY per trip + 12 TRY per km (10 TRY above 500 km). The distance is 450 km. The second customer refuses one of the panels because it is damaged. ``` SS-2026-000007 ┐ ┌─ DLG-2026-000001 (wave) ─ DG-…001..003 (picking, Approved) SS-2026-000008 ┴─► SV-2026-000003 ─────┤ (Approved) SV-2026-000004 ├─ TB-2026-000001 · TB-2026-000002 (pallet) (Open → Picked │ → Packed) └─► TSM-2026-000001 (Planned) │ Select Carrier → Assign (freight 6.900,00 TRY) Goods issue ◄────────┤ (Goods Issue Posted) │ Loaded → Dispatch (In Transit) │ Delivered × 2 → Complete (Completed) Proof of delivery ◄─────────┘ (Confirmed; SV-4: 1/2 accepted) └─► NHS-2026-000001 (Saved, 8.280,00 TRY incl. VAT) ``` ## Step-by-step tasks - [Create an open delivery](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma) — Collective delivery from due lines. - [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama) — Waves and picking tasks. - [Pack a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma) — Handling unit and label. - [Create a shipment document](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma) — Trip plan and deliveries. - [Select the carrier for a trip](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-secme) — Ranking, assignment, freight. - [Post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme) — Stock is reduced at this step. - [Dispatch a trip](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma) — The plan is frozen. - [Record a trip event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme) — Loading, delivery, delay. - [Complete a trip](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama) — Arrival and closing. - [Record proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme) — Accepted quantity. - [Create a freight settlement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma) — The carrier's freight. ## Preparation: master data Done once: the carrier profile ([Define a carrier](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasiyici-tanimlama)), the carrier's vehicle **34DMO002** and driver ([Vehicle](https://erpdocs.corexlogic.com/en/lojistik/islemler/arac-tanimlama), [Driver](https://erpdocs.corexlogic.com/en/lojistik/islemler/surucu-tanimlama)) and the carrier's rate ([Create a freight agreement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-anlasmasi-olusturma)). Without a carrier rate the trip can be planned, but the freight cannot be calculated. ## 1. Create open deliveries from due lines The **Lojistik Yönetimi › Giden Teslimat › Giden Teslimat Oluştur** (Logistics › Outbound Delivery › Create Outbound Delivery) screen lists the approved sales order lines to be delivered by the **Vadesi gelen (en geç)** (Due by (latest)) date. Select the three lines (SS-2026-000007/10, /20 and SS-2026-000008/10), select **MAMUL — Mamul Deposu** as the **Depo** (Warehouse) and click **Teslimat Oluştur** (Create Delivery). ![Create Outbound Delivery — due items](https://erpdocs.corexlogic.com/en/en/img/screens/satis/giden-teslimat-olustur.png) 1. Due by — items to deliver up to this date 2. Select the item to deliver 3. Warehouse 4. Create Delivery — opens an open delivery The **Sonuç** (Result) field shows two deliveries: **SV-2026-000003 · SS-2026-000007 · 2 kalem** (2 lines) and **SV-2026-000004 · SS-2026-000008 · 1 kalem** (1 line) — the lines are split into two deliveries because the recipient and address differ. The deliveries are created as **Açık** (Open): the lines are allocated on the sales order, but **stock is not reduced yet**. Details: [Create an open delivery](https://erpdocs.corexlogic.com/en/satis/islemler/acik-teslimat-olusturma). ## 2. Pick the goods In **Stok Yönetimi › Depo Yürütme › Dalgalar › Dalga Oluştur** (Inventory › Warehouse Execution › Waves › Create Wave), select **Depo** (Warehouse) MAMUL and **Kaynak** (Source) **Açık teslimatlar** (Open deliveries); select the three lines and click **Dalgayı Oluştur** (Create Wave). ![Create Wave — picking from open deliveries](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/dalga-olustur.png) 1. Warehouse — the delivery warehouse 2. Source: Open deliveries 3. Delivery item to pick 4. Create Wave — picking tasks are created Wave **DLG-2026-000001** is created, with one picking task per line in the RAF-M1 → SEVK direction (**DG-2026-000001…000003**). The warehouse worker opens each task and saves it with **Onayla** (Confirm); when all three tasks are confirmed, the wave becomes **Tamamlandı** (Completed). ![Wave detail — picking tasks](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/dalga-detay.png) 1. The wave completes when all tasks are confirmed 2. The wave line carries the delivery number 3. Picking task — from source bin to SEVK The picked goods are allocated to the sales order line in the SEVK (shipping) area. The picking status in the header of both deliveries becomes **Toplandı** (Picked). Details: [Pick a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-toplama). ## 3. Pack On each delivery's details, open a pallet with **Taşıma Birimi Oluştur** (Create Handling Unit) on the **Paketleme** (Packing) card: **Kap Cinsi** (Packaging Type) **Palet (PX)** (Pallet), **Dara (kg)** (Tare (kg)) 25, **Kalanın Tamamı** (All of the remaining), **Oluştur** (Create). **TB-2026-000001** (total gross 295 kg) is created for SV-2026-000003 and **TB-2026-000002** (97 kg) for SV-2026-000004, and the packing status becomes **Paketlendi** (Packed). Labels are printed as PDF with **Etiketleri Yazdır** (Print Labels). ![Open delivery — picked and packed](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/acik-teslimat-paketlendi.png) 1. Picking status 2. Packing status 3. Picked quantity per item 4. New handling unit (carton, pallet…) 5. Handling unit labels (PDF) Packing is not a precondition for the goods issue; but the pallet tare and the number of pallets go into the trip's load calculation. Details: [Pack a delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-birimi-olusturma). ## 4. Plan the trip In **Lojistik Yönetimi › Taşıma › Taşıma Belgesi Oluştur** (Logistics › Transportation › Create Shipment Document), enter **Yürütücü** (Executed By) **Taşıyıcı** (Carrier), **Planlanan Çıkış** (Planned Departure) 02.11.2026 08:00, **Planlanan Varış** (Planned Arrival) 18:00, **Planlanan Mesafe (km)** (Planned Distance (km)) 450; add SV-2026-000003 and SV-2026-000004 with **Teslimat Ekle** (Add Delivery) (order: first Başkent Mimarlık, then Güneş Enerji) and click **Oluştur** (Create). ![Create Transport Document — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-olustur.png) 1. Executor — own fleet or carrier 2. Carrier 3. Planned departure — required 4. Distance — basis for per-km freight 5. Deliveries — order is stop order 6. Create The trip opens with number **TSM-2026-000001** in **Planlandı** (Planned) status. The **Yük ve Kapasite** (Load and Capacity) card shows the gross weight (392 kg) and the number of pallets (2); the capacity is shown once a vehicle is selected. Details: [Create a shipment document](https://erpdocs.corexlogic.com/en/lojistik/islemler/tasima-belgesi-olusturma). For deliveries without a trip that will be transported with our own vehicles, [Load Planning](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/yuk-planlama) suggests loads for vehicles. ## 5. Select the carrier and see the freight On the trip details, the **Taşıyıcı Seç** (Select Carrier) dialog ranks the active carriers by the agreement valid on the trip's departure day. The Hızlı Hat line shows **HIZLIHAT-2026** and **6.900,00 TRY**; click **Ata** (Assign). ![Select Carrier dialog — ranking by tariff](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasiyici-sec.png) 1. Ranking: cost or priority 2. Freight from the agreement 3. Assign — carrier is written to the trip 4. Tender with the selected carriers The header shows the carrier's name, and the **Navlun** (Freight) card shows *Sefer başı 1 sefer × 1.500 = 1.500,00 TRY* (Per trip: 1 trip × 1.500) and *Km başı 450 km × 12 = 5.400,00 TRY* (Per km: 450 km × 12), **Toplam 6.900,00 TRY** (Total). Then select the carrier's vehicle **34DMO002** and driver with **Düzenle** (Edit); the load is compared with the capacity (*392 kg / 18.000 kg*, *2 / 18* pallets). If quotations are to be requested from several carriers, open a tender from the same dialog: [Open a carrier tender](https://erpdocs.corexlogic.com/en/lojistik/islemler/ihale-acma). If the plan changes later (departure day, distance, deliveries), use **Yeniden Hesapla** (Recalculate) on the Navlun (Freight) card. ## 6. Post the goods issue On each delivery's details, open **Mal Çıkışını Kaydet** (Post Goods Issue). Because the delivery has been picked, the form says *"Teslimat toplandı — toplanan mal dağılımlara yazıldı; gerekirse değiştirebilirsiniz."* (The delivery has been picked — the picked goods were written to the allocations; you can change them if needed.): the allocations are filled with the SEVK bin and the SIFIR status. Click **Mal Çıkışını Kaydet**. ![Post Goods Issue — physical allocation](https://erpdocs.corexlogic.com/en/en/img/screens/satis/mal-cikisi.png) 1. Goods issue date — stock is reduced on this date 2. Allocation — location, status, lot or serial 3. Post Goods Issue Stock is reduced, the deliveries become **Mal Çıkışı Kaydedildi** (Goods Issue Posted) and can no longer change; packing becomes read-only. The delivery note is printed from the delivery's **Çıktı** (Output) menu (if e-Delivery Note is enabled in the installation, **e-İrsaliye Oluştur** — Create e-Delivery Note — appears). Details: [Post the goods issue](https://erpdocs.corexlogic.com/en/satis/islemler/mal-cikisi-kaydetme). > **Order matters** A trip cannot be dispatched before the goods issue of its deliveries is posted. In the scenario, when **Yola Çıkar** (Dispatch) was attempted before the goods issue, the server returned: *"Mal çıkışı kaydedilmemiş ya da iptal edilmiş teslimatla sefer yola çıkamaz: SV-2026-000003, SV-2026-000004."* (A trip cannot be dispatched with a delivery whose goods issue has not been posted or that has been cancelled: SV-2026-000003, SV-2026-000004.) ## 7. Load and dispatch On the trip details, record the **Yüklendi** (Loaded) event with **Olay Kaydet** (Record Event) (**Durak** (Stop) *Seferin geneli* (Whole trip), **Zaman** (Time) 07:30, **Konum** (Location) "Dudullu OSB — sevk rampası" (Dudullu OIZ — shipping ramp), **Not** (Note) "2 palet yüklendi" (2 pallets loaded)). Then, in the **Yola Çıkar** (Dispatch) dialog, enter **Yola çıkış** (Departure) 08:15 and click **Yola Çıkar**. ![Dispatch dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/yola-cikar.png) 1. Departure time — now if empty 2. Dispatch The trip becomes **Yolda** (In Transit): the plan and the deliveries are frozen, and the **Olaylar** (Events) card shows *Yüklendi* (Loaded) and *Yola çıktı* (Dispatched). In Delivery Tracking the deliveries move to the **Yolda** (In Transit) stage. ![Trip in transit — events](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-yolda.png) 1. Status: In transit 2. Complete — arrival is written, trip closes 3. Record Event — arrival, delivery, delay, problem 4. Event timeline A delay or problem on the road is recorded with the **Gecikme bildirildi** (Delay reported) / **Sorun bildirildi** (Problem reported) event (the screenshot above is from the Izmir trip TSM-2026-000002). Details: [Dispatch a trip](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-yola-cikarma). ## 8. Record the deliveries and complete the trip At each stop, record **Teslim edildi** (Delivered) with **Olay Kaydet** (Record Event): stop 1 SV-2026-000003, **Teslim Alan** (Received By) "Depo Sorumlusu" (Warehouse Supervisor), 13:40; stop 2 SV-2026-000004, "Mal Kabul Sorumlusu" (Goods Receipt Supervisor), 15:10, **Not** (Note) "1 panonun kapağı ezik" (the cover of 1 panel is dented). ![Record Event dialog — delivered](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/olay-kaydet.png) 1. Event 2. Stop (delivery) 3. Received by — required on delivery 4. Time — now if empty After the last stop, enter **Varış** (Arrival) 17:30 in the **Tamamla** (Complete) dialog. The trip becomes **Tamamlandı** (Completed); the **Teslim** (Delivery) column shows the delivery time and recipient for each stop. ![Completed trip — deliveries and freight](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/tasima-tamamlandi.png) 1. Status: Completed 2. Load compared with capacity 3. Delivery and receiver per stop 4. Settled freight is not recalculated Details: [Record a trip event](https://erpdocs.corexlogic.com/en/lojistik/islemler/sefer-olayi-kaydetme), [Complete a trip](https://erpdocs.corexlogic.com/en/lojistik/islemler/seferi-tamamlama). ## 9. Record the proof of delivery When the signed delivery notes come back, open **Alındı Teyidi Kaydet** (Record Proof of Delivery) on each delivery's details. The dialog suggests the delivery day and the recipient from the trip's delivery event. - **SV-2026-000003:** the accepted quantities are the same as the delivered quantities; **Kaydet** (Save). - **SV-2026-000004:** for MAM-0002, **Kabul edilen** (Accepted) 1, **Sebep** (Reason) **Taşımada hasar** (Damaged in transit), **Not** (Note) "1 pano kapağı ezik geldi; müşteri teslim almadı" (1 panel cover arrived dented; the customer did not accept it); **Kaydet**. ![Proof of Delivery dialog](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/alindi-teyidi-kaydet.png) 1. Delivery date — cannot be in the future 2. Received by — required 3. Accepted quantity — prefilled with delivered 4. Reason for short acceptance The card becomes **Teyit edildi** (Confirmed); SV-2026-000004 shows *Teslim edilen 2 · Kabul edilen 1 · Fark 1 · Taşımada hasar* (Delivered 2 · Accepted 1 · Difference 1 · Damaged in transit). ![Delivery with recorded proof of delivery — short acceptance](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/alindi-teyidi.png) 1. Confirmation status 2. Undo — only for unbilled deliveries 3. Delivered vs accepted difference 4. Difference reason With a partial acceptance, the invoice is issued for the accepted quantity. In the **Zamanında-Tam Teslim** (On-Time In-Full) report, Güneş Enerji's line shows *Zamanında %100 · Tam %0* (On time 100% · In full 0%). Taking the returned panel back into stock is a separate document ([delivery correction](https://erpdocs.corexlogic.com/en/lojistik/islemler/teslimat-duzeltmesi-olusturma) or İade Al — Receive Return). If **Alındı teyidinden sonra faturala** (Invoice after proof of delivery) had been selected on the customer record, the deliveries would have been **Teyit bekleniyor** (Awaiting confirmation) before the confirmation and would not have been invoiced. Details: [Record proof of delivery](https://erpdocs.corexlogic.com/en/lojistik/islemler/alindi-teyidi-kaydetme). ## 10. Settle the freight In **Lojistik Yönetimi › Taşıma › Navlun Hesaplaşması Oluştur** (Logistics › Transportation › Create Freight Settlement), select the **Taşıyıcı** (Carrier) Hızlı Hat; select TSM-2026-000001 (6.900,00 TRY), enter the **Not** (Note) "Kasım 1. hafta — Ankara seferi" (November week 1 — Ankara trip) and click **Hesaplaşmayı Kaydet** (Save Settlement). ![Create Freight Settlement](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-olustur.png) 1. Carrier 2. Currency — one per document 3. Settlement date 4. Completed trip with calculated freight 5. Save Settlement **NHS-2026-000001** opens in **Kaydedildi** (Saved) status: Amount (excl. VAT) 6.900,00 TRY, VAT 1.380,00 TRY (KDV20 · 20%), **Genel Toplam 8.280,00 TRY** (Grand Total). The trip's Navlun (Freight) card now says *"Hesaplaşıldı: NHS-2026-000001 — navlun yeniden hesaplanmaz."* (Settled: NHS-2026-000001 — the freight is not recalculated.) The carrier's invoice is linked to this document in Finance. ![Freight settlement detail](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/navlun-hesaplasmasi-detay.png) 1. Status 2. Total incl. VAT 3. Cancel — if not linked to an invoice Details: [Create a freight settlement](https://erpdocs.corexlogic.com/en/lojistik/islemler/navlun-hesaplasmasi-olusturma). ## Monitoring the process **Lojistik Yönetimi › Giden Teslimat › Teslimat İzleme** (Logistics › Outbound Delivery › Delivery Tracking) counts the deliveries stage by stage: awaiting goods issue, not assigned to a trip, planned trip, in transit, awaiting proof of delivery. Overdue deliveries appear with the **Gecikmiş** (Overdue) badge. ![Delivery Monitor — stages](https://erpdocs.corexlogic.com/en/en/img/screens/lojistik/teslimat-izleme.png) 1. Warehouse filter 2. Look-back window 3. Stage card — count and overdue 4. Overdue delivery 5. Reference check — shows, does not fix For freight and delivery performance, see [Logistics analytics](https://erpdocs.corexlogic.com/en/lojistik/ekranlar/analitik) (Freight Cost, On-Time In-Full). ## FAQ / Troubleshooting | Message or situation | Cause and solution | |---|---| | *"Mal çıkışı kaydedilmemiş ya da iptal edilmiş teslimatla sefer yola çıkamaz: …"* (A trip cannot be dispatched with a delivery whose goods issue has not been posted or that has been cancelled: …) | Post the goods issue of the deliveries on the trip; remove the cancelled delivery from the trip. | | *"Taşıyıcıya verilen sefer taşıyıcı seçilmeden yola çıkamaz."* (A trip given to a carrier cannot be dispatched before a carrier is selected.) | Select the carrier with **Taşıyıcı Seç › Ata** (Select Carrier › Assign) or **Düzenle** (Edit). | | *"Kendi filomuzla yapılan sefer araç ve sürücü olmadan yola çıkamaz."* (A trip with our own fleet cannot be dispatched without a vehicle and driver.) | Select the vehicle and driver with **Düzenle** (Edit). | | *"Belgesiz sefer yola çıkamaz — en az bir teslimat atayın."* (A trip without documents cannot be dispatched — assign at least one delivery.) | Add a delivery to the trip. | | *"Şu belgeler başka bir seferde: …"* (These documents are on another trip: …) | A delivery can be on only one trip at a time; remove it from the other trip. | | The Navlun (Freight) card shows *"Seferde taşıyıcı yok."* (The trip has no carrier.) | Select the carrier; freight is calculated only for a carrier trip. | | *"Taşıyıcının seferin çıkış gününde geçerli navlun anlaşması yok."* (The carrier has no freight agreement valid on the trip's departure day.) | Check the agreement's validity period or the trip's departure day. | | *"Ölçüsü bilinmeyen dayanak hesaba girmez: …"* (A basis with an unknown measure is not included in the calculation: …) | Enter the distance on the trip and the weight and volume on the item record; **Yeniden Hesapla** (Recalculate). | | *"Sefer ya da anlaşma hesaptan sonra değişti — navlunu yeniden hesaplayın."* (The trip or the agreement changed after the calculation — recalculate the freight.) | **Yeniden Hesapla** (Recalculate) on the Navlun (Freight) card. | | *"Varış ve teslim bir durağın (belgenin) olayıdır — durağı seçin."* (Arrival and delivery are events of a stop (document) — select the stop.) | Select the **Durak** (Stop) in the event dialog. | | *"Teslim tarihi bugünden sonra olamaz."* (The delivery date cannot be later than today.) | The delivery date of the proof of delivery must be today or earlier. | | *"TSM-… tamamlanmadı — yalnız tamamlanmış sefer hesaplaşır."* (TSM-… has not been completed — only a completed trip can be settled.) | **Tamamla** (Complete) the trip first. | | *"Seferin navlunu NHS-… hesaplaşmasında — önce hesaplaşmayı iptal edin."* (The trip's freight is in settlement NHS-… — cancel the settlement first.) | Settled freight is not recalculated; cancel the settlement if necessary. | | *"Yalnız planlanan sefer iptal edilir — yola çıkmış sefer tamamlanır."* (Only a planned trip can be cancelled — a dispatched trip is completed.) | A trip in transit cannot be cancelled. | | In Load Planning a delivery shows *"Ağırlığı ya da hacmi bilinmiyor (ölçüsü tanımsız ürün) — kapasitesi tanımlı araca konamaz."* (Weight or volume unknown (item without defined measures) — it cannot be put on a vehicle with a defined capacity.) | Enter weight/volume on the item record, or create the trip manually. | --- # Approval workflow > From approval template to decision — submitting a discounted sales quotation for approval, rejecting it, resubmitting it and approving it. URL: https://erpdocs.corexlogic.com/en/surecler/onay-akisi The approval journey of a document: an administrator defines the **approval template**, the sales representative **submits for approval** a document that the template catches, and the approver **approves** the document or **rejects it with a reason**; a rejected document is corrected and resubmitted. The same flow applies to purchase orders, purchase requisitions, journal entries and engineering change requests; only the status of the document after approval differs. Concepts and all fields: [Approvals](https://erpdocs.corexlogic.com/en/ayarlar/onaylar). > **Scenario** The demo company wants sales quotations with a discount of 10% or more to go through management approval. The sales representative prepares a quotation for **M-0019 Lara Kıyı Otelcilik ve Turizm A.Ş.** for 200 units of **MAM-0008 Sıvı Deterjan 5 LT** at a unit price of 239 TRY with a **12% discount** (customer reference LKO-2026-118, grand total 50.476,80 TRY). The template catches the quotation, the manager rejects the first submission asking for the delivery date to be confirmed, and the quotation is resubmitted. Document: **ST-2026-000005**. ``` Approval Template ──► Sales Quotation ──Submit for Approval──► Awaiting Approval ──Reject──► Draft ──Submit for Approval──► Awaiting Approval ──Approve──► Sent (active, 10%) (Draft, 12%) (round 1) (reason) (correct) (round 2) (to customer) ``` ## 1. Define the approval template **Yönetim › Onay Süreci › Onay Şablonları › Yeni Şablon** (Administration › Approval Process › Approval Templates › New Template) | Field | Value | |---|---| | Belge Türü (Document Type) | Satış Teklifi (Sales Quotation) | | Şablon Adı (Template Name) | Satış teklifi — iskonto %10 ve üzeri (Sales quotation — discount 10% or more) | | Hangi belgeler (Which documents) | **Yalnız iskontosu belirli bir oranı aşan belgeler** (Only documents whose discount exceeds a given rate), **İskonto eşiği (%)** (Discount threshold (%)) 10 | | Stage 1 | Name "Yönetim onayı" (Management approval), **Bir rol** (A role) › Yönetici (Manager), 1 approval required, 1 rejection rejects | After you save, the Satış Teklifi (Sales Quotation) card shows "1 etkin şablon — onaydan geçer" (1 active template — goes through approval). Because no amount condition was added, only the discount is decisive, whatever the quotation amount. In a real installation the stage is usually set up with the **Satış Müdürü** (Sales Manager) role and escalated to a higher role if it goes unanswered (**Cevapsız kalırsa** — If unanswered — in the dialog). ![Approval Templates — coverage cards and template table](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-sablonlari.png) 1. New Template 2. Document type card — does the type go through approval 3. Condition — amount range / discount threshold 4. Stages are asked in order 5. Active / Inactive Detailed steps: [Create an approval template](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-sablonu-olusturma). ## 2. Prepare the quotation **Satış › Teklif Yönetimi › Satış Teklifi Oluştur** (Sales › Quotation Management › Create Sales Quotation) — customer, item, quantity, and 12 in the line's **İskonto %** (Discount %) field. **Teklifi Oluştur** (Create Quotation) saves the quotation as **Taslak** (Draft) ([Create a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma)). On the draft's details, the send button is named **Onaya Gönder** (Submit for Approval) and the reason is shown below it: "Bu teklif onay şablonuna takılıyor (tutar ya da iskonto). **Onaya Gönder** teklifi kilitler; son onayda kendiliğinden gönderildi olur." (This quotation is caught by an approval template (amount or discount). **Onaya Gönder** locks the quotation; on final approval it becomes sent automatically.) The template matches because the highest effective discount on the lines, 12%, is ≥ 10%. ![Draft quotation matching a template — Send for Approval](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onaya-gonder.png) 1. Send for Approval instead of Send 2. Why it needs approval ## 3. Submit for approval **Onaya Gönder** (Submit for Approval) › dialog "Teklif onaya gönderilsin mi?" (Submit quotation for approval?) › **Onaya Gönder**. ![Send quotation for approval confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onaya-gonder-penceresi.png) 1. Quotation locks, approval round opens - The quotation becomes **Onay Bekliyor** (Awaiting Approval) and is **locked**: it cannot be edited, cannot be converted to an order and is not considered sent to the customer. The only action is **İptal Et** (Cancel) (the open round is closed). - Round 1 opens; the template's stage is copied into the round. Approvers with the Yönetici (Manager) role receive the notification "Onayınız bekleniyor" (Your approval is awaited) ("ST-2026-000005 numaralı satış teklifi 1. onay aşamasında sizi bekliyor." — Sales quotation ST-2026-000005 is waiting for you at approval stage 1.). - The document enters the approvers' **Onayımı Bekleyenler** (My Pending Approvals) list. It does not appear in the submitter's own list. ## 4. The approver decides — rejection The approver opens the document from the notification or from **Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › My Pending Approvals). The top of the document reads "Teklif onay bekliyor — sırada 1. aşama: Yönetici." (Quotation awaiting approval — next: stage 1: Manager.) In this scenario the approver wants the delivery date confirmed: **Reddet** (Reject) › **Red gerekçesi** (Rejection reason) "Teslim tarihini müşteriyle teyit edip yeniden gönderin." (Confirm the delivery date with the customer and resubmit.) › **Reddet**. ![Reject confirmation — reason required](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-reddet.png) 1. Rejection reason — sent to the submitter 2. Reject — document returns to draft at the threshold - Because the stage has reached its rejection threshold (1), round 1 becomes **Reddedildi** (Rejected). - The quotation returns to **Taslak** (Draft) and can be edited again. - The submitter is notified: "Satış teklifi reddedildi — ST-2026-000005 numaralı teklifi … reddetti: Teslim tarihini müşteriyle teyit edip yeniden gönderin." (Sales quotation rejected — … rejected quotation ST-2026-000005: Confirm the delivery date with the customer and resubmit.) > **Segregation of duties** The person who **submitted** the quotation for approval and the quotation's **sales representative** cannot approve it — only **Reddet** (Reject) appears on the details. If they try to approve, the system says "Onaya kendiniz gönderdiğiniz ya da satış temsilcisi olduğunuz teklifi onaylayamazsınız. Kararı başka bir onaycı vermeli." (You cannot approve a quotation that you submitted for approval yourself or for which you are the sales representative. Another approver must make the decision.) Rejecting (pulling it back to draft) is allowed. ## 5. Correct and resubmit The sales representative corrects the quotation (**Düzenle** — Edit — if needed) and clicks **Onaya Gönder** (Submit for Approval) again. **Round 2** opens; round 1 and its reason remain as they were on the **Onaylar** (Approvals) card. ![Quotation pending approval — current stage and rounds](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onay-bekliyor.png) 1. Decision buttons — server decides (submitter cannot approve) 2. Who it is waiting for 3. Current round — awaiting decision 4. Previous round — rejection and reason kept The card shows the rounds newest first: round 2 "Onay Bekliyor — Karar bekleniyor" (Awaiting Approval — Decision pending), round 1 "Reddedildi — Demo Kullanıcı · Reddetti · tarih" (Rejected — Demo Kullanıcı · Rejected · date) with the reason below. ## 6. Approval Approval is given by **another** user with the Yönetici (Manager) role — in the demo environment **Demo Onaylayıcı** (neither the submitter nor the sales representative of the quotation). The document is in their **Yönetim › Onay Süreci › Onayımı Bekleyenler** (Administration › Approval Process › My Pending Approvals) list: **Belge** (Document) ST-2026-000005 (Satış Teklifi — Sales Quotation), **Gönderen** (Submitted By) Demo Kullanıcı and the submission time, **Tutar** (Amount) 50.476,80 TRY, **Aşama** (Stage) "Tek aşama" (Single stage) with "Satış teklifi — iskonto %10 ve üzeri — Yönetim onayı" below it. ![Pending My Approval — the approver’s queue](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-kuyrugu.png) 1. Document — click to open 2. Submitter and date 3. Stage, template and stage name 4. How long the stage has waited The approver clicks the document number to open the quotation; on the approver's details **Onayla** (Approve) and **Reddet** (Reject) appear together. **Onayla** › the "Onay verilsin mi?" (Give approval?) dialog shows the document and its amount ("ST-2026-000005 · 50.476,80 TRY") › **Not (isteğe bağlı)** (Note (optional)) "Teslim tarihi müşteriyle teyit edildi; %12 iskonto yıllık anlaşma kapsamında." (Delivery date confirmed with the customer; the 12% discount is covered by the annual agreement.) › **Onayla**. ![Approve confirmation — optional note](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/onay-ver.png) 1. Document and amount being approved 2. Note — saved with the approval 3. Approve — last stage moves the document on - The stage has reached the required approvals and there is no other stage: the round becomes **Onaylandı** (Approved). On the **Onaylar** (Approvals) card, round 2 shows "Onaylandı", with "Demo Onaylayıcı · Onayladı · 02.11.2026 01:13" (Demo Onaylayıcı · Approved · 02.11.2026 01:13) and the approval note below the stage; round 1 and the rejection reason remain as they were. - The quotation automatically becomes **Gönderildi** (Sent); the sending rules (item, customer, validity) are re-evaluated at that moment. The buttons on the details are now **Kopyala** (Copy), **Siparişe Dönüştür** (Convert to Order), **Revize Et** (Revise), **Kaybedildi** (Lost), **İptal Et** (Cancel) and **Çıktı** (Output); the **Gönderim** (Sending) field shows the approval time and the person who submitted the quotation (Demo Kullanıcı). - The submitter is notified: "Satış teklifi onaylandı — ST-2026-000005 numaralı teklif tüm onayları aldı ve gönderildi olarak işaretlendi." (Sales quotation approved — quotation ST-2026-000005 received all approvals and was marked as sent.) ![Approved quotation — Sent, round closed](https://erpdocs.corexlogic.com/en/en/img/screens/ayarlar/teklif-onaylandi.png) 1. Sent automatically on final approval 2. Can now be converted to an order 3. Vote: approver, decision, time 4. Approval note - The quotation can now be sent to the customer with **Çıktı › E-posta ile Gönder** (Output › Send by Email) and, once accepted, converted to an order: [Quotation to invoice](https://erpdocs.corexlogic.com/en/surecler/tekliften-faturaya). ## After approval, by document type | Document | While Onay Bekliyor (Awaiting Approval) | On final approval | On rejection | |---|---|---|---| | Satış Teklifi (Sales Quotation) | Locked, not sent to the customer | Gönderildi (Sent) | Taslak (Draft) | | Satın Alma Siparişi (Purchase Order) | Locked, no goods receipt possible | Sipariş Verildi (Ordered) | Taslak (Draft) | | Satın Alma Talebi (Purchase Requisition) | Not on Purchasing's agenda | Talep Edildi (Requested) | Taslak (Draft) | ## FAQ / Troubleshooting | Situation | Cause and solution | |---|---| | The button reads **Gönder** (Send) and the document does not go to approval | There is no **active** template matching the document: the condition (discount threshold, amount range, **para birimi** — currency) does not match, or the template is inactive. There is no exchange-rate conversion in the amount condition. | | The approver does not see the document in **Onayımı Bekleyenler** (My Pending Approvals) | The approver does not have the stage's role, does not have the approval permission for the document type, submitted the document themselves, or has already voted at that stage. | | "Bu aşamada kararınızı zaten verdiniz — aşama diğer onaycıların oyunu bekliyor." (You have already made your decision at this stage — the stage is waiting for the other approvers' votes.) | The stage requires more than one approval; the other approvers are awaited. | | "Bu teklif onay beklemiyor." (This quotation is not awaiting approval.) | In the meantime the document was approved, rejected or cancelled — refresh the page. | | The approver is on leave | The approver or an administrator defines a delegate in **Onay Vekaletleri** (Approval Delegations): [Define an approval delegation](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-vekaleti-tanimlama). | | The approval has been waiting for days | In **Uyarı ve Bildirim Yönetimi** (Alert and Notification Management), turn on **Onay bekleyen hatırlatması** (Pending approval reminder); in the template, escalate to a higher role with **Cevapsız kalırsa** (If unanswered). | ## Step-by-step tasks - [1. Create an approval template](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-sablonu-olusturma) — Document type, condition, stages. - [2. Create a quotation](https://erpdocs.corexlogic.com/en/satis/islemler/teklif-olusturma) — Customer, line item, discount. - [3. Make an approval decision](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-karari-verme) — Approve, or reject with a reason. - [Define an approval delegation](https://erpdocs.corexlogic.com/en/ayarlar/islemler/onay-vekaleti-tanimlama) — A delegate for the duration of a leave. - [Create an alert](https://erpdocs.corexlogic.com/en/ayarlar/islemler/uyari-acma) — Pending approval reminder. --- # New user and permissions > From opening an account for a new employee to closing the account of a departing employee — role design, user invitation, role assignment, first sign-in, permission check and deactivation. URL: https://erpdocs.corexlogic.com/en/surecler/yeni-kullanici-ve-yetki An employee's access lifecycle in CoreX ERP: when the employee starts, a role is prepared and an account is opened; at first sign-in the employee sets a password and sees only the screens and buttons of their own job; when the employee leaves, the account is closed. For the concepts, first read the [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). > **Scenario** On 2 November 2026, a **sales representative** joins the demo company's sales team. The representative will write quotations and sales orders and give commercial approval to sales orders; they will not write price lists, will not close sales orders manually (that is the sales manager's job), and will not see the purchasing and administration screens. On the same day, the account of an employee leaving the team is to be closed. - Role: **Demo — Satış Temsilcisi** (Demo — Sales Representative; from the ready-made **Satış Temsilcisi** (Sales Representative) template, with `erp-sales-orders.close` removed — 113 permissions) - New user: **Demo Satış Temsilcisi** — `satis.temsilcisi@demo.corexlogic.com` - Departing user: **Demo Eski Çalışan** (Demo Former Employee) — `eski.calisan@demo.corexlogic.com` ``` Role design ──► Open account ──► (Restriction / extra permission) ──► First sign-in ──► Permission check ──► Departing employee Roles Users Users Change your menu, button, Deactivate (113 perms) Invitation Actions menu password 403, log (role and record remain) pending or Active ``` ## 1. Prepare the role **Yönetim › Kullanıcı ve Roller › Roller** (Administration › Users and Roles › Roles) The person could also have been given the ready-made **Satış Temsilcisi** (Sales Representative) role. Because the scenario does not want the permission to close sales orders, a new role is created from the template: 1. **Yeni Rol** (New Role) → **Rol adı** (Role name): `Demo — Satış Temsilcisi` → **Rol şablonu** (Role template): **Satış Temsilcisi · Eleman** (Sales Representative · Staff). ![New Role — properties and template](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yeni.png) 1. Role name — cannot be changed later 2. Role template — starting permissions 3. Scope — modules the role writes in 4. Permissions and Screens tabs 5. Create Role 2. On the **Yetkiler** (Permissions) tab, type `siparis` in the search box and clear the **Satış Siparişleri · Kapat** (Sales Orders · Close) check box. The tab counter drops from 114 to 113. ![Role — permission tree](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yetkiler.png) 1. Granted / total permissions 2. Search — module, page or action 3. Module — ticks all at once 4. Action — a single permission 5. Permission not granted in this role 6. Read Only — keeps only View permissions 3. On the **Ekranlar** (Screens) tab, the catalog comes from the template (31 screens); without changing it, click **Rolü Oluştur** (Create Role). ![Role — Screens (menu catalog)](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-ekranlar.png) 1. All screens — every permitted screen in the menu 2. Adds screens the role writes to 3. Area › section › screen — shown in the menu 4. Selected / total screens The role appears in the list in the "Kurumun rolleri" (Organization's roles) area, with the modules it writes to in the **Kapsam (yazma)** (Scope — write) column. A role created from a template is not linked to the template; all of its permissions can be changed. Details: [Create a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma). ## 2. Open the account **Yönetim › Kullanıcı ve Roller › Kullanıcılar › Yeni Kullanıcı** (Administration › Users and Roles › Users › New User) 1. **Ad** (First name) `Demo`, **Soyad** (Last name) `Satış Temsilcisi`, **E-posta** (E-mail) `satis.temsilcisi@demo.corexlogic.com`. 2. **Davet e-postası gönder — kullanıcı şifresini kendisi belirlesin** (Send an invitation e-mail — let the user set their own password) (recommended). ![New User — User Information](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici.png) 1. Tabs — information, roles, org unit 2. E-mail — login ID, cannot be changed later 3. Invitation — single-use link valid for 3 days (recommended) 4. Administrator sets the password — account opens at once 5. Lock on failed attempts 6. Send Invitation — needs e-mail settings 3. On the **Roller** (Roles) tab, select **Demo — Satış Temsilcisi**. ![New User — Roles tab](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici-roller.png) 1. Roles — count of selected in brackets 2. Search role or area 3. Tick the role; several roles allowed 4. Click **Davet Gönder** (Send Invitation). The account is opened with the **Davet bekliyor** (Invitation pending) badge; the person sets a password with a link valid for 3 days. Details: [Invite a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme). > **Invitation in the demo environment** The demo installation has no e-mail settings; **Davet Gönder** (Send Invitation) stopped with this message and the account was not opened: "E-posta gönderimi yapılandırılmamış (Yönetim › Özelleştirme › Genel › E-posta Ayarları). Davet bağlantısı gönderilemez; hesabı şifre belirleyerek açabilirsiniz." (E-mail sending is not configured (Administration › Customization › General › E-mail Settings). The invitation link cannot be sent; you can open the account by setting a password.) The scenario continued with the second option: **Şifreyi ben belirleyeyim** (I will set the password) → **Rastgele Üret** (Generate Random) → **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) selected → **Hesabın açıldığını kullanıcıya e-postayla bildir** (Notify the user by e-mail that the account was opened) cleared → **Oluştur** (Create). Notification: "Kullanıcı oluşturuldu: Demo Satış Temsilcisi" (User created: Demo Satış Temsilcisi). Details: [Create a user with a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma). ![New User — administrator sets the password](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici-sifre.png) 1. Password — 8+ characters, a digit, a lowercase letter 2. Generate and Copy 3. Change password at first login 4. Notice e-mail — password is not included 5. Create The account appears in the list in **Aktif** (Active) status, with the new role in the **Roller** (Roles) column: ![Users list](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanicilar.png) 1. New User — opens an account by invitation or password 2. Search by name or e-mail 3. Role filter 4. Status: Active · Inactive (disabled) · Locked · All 5. Row: name, roles and account (e-mail) 6. Actions — edit, permissions, password, disable ## 3. Restrictions and extra permissions, if needed Not needed for the sales representative. When needed, use the row's **İşlemler** (Actions) menu: - **Organizasyon Kısıtlaması** (Organizational Restriction) — narrows a warehouse keeper to their own warehouse, or an operator to their own work center: [Grant an organizational restriction](https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme). - **Ekstra Yetkiler** (Extra Permissions) — a permission outside the role for a single person (e.g. temporary quotation approval): [Grant an extra permission](https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme). ![User row Actions menu](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanici-islemler.png) 1. Name, phone, roles and org unit 2. Personal permissions on top of roles 3. Narrows rights to warehouses and work centers 4. Reset link or manual password 5. Disables the account — record is kept ## 4. First sign-in On the sign-in screen, the user signs in with their e-mail and the password provided to them. Because the password was set by the administrator, the application first opens the **Parolanızı değiştirin** (Change your password) screen: "Güvenliğiniz için devam etmeden önce parolanızı değiştirmeniz gerekiyor." (For your security, you need to change your password before continuing.) — **Mevcut parola** (Current password), **Yeni parola** (New password), **Yeni parola (tekrar)** (New password, again) → **Parolamı Değiştir ve Devam Et** (Change My Password and Continue). The Home page then opens; the person's role (**Demo — Satış Temsilcisi**) is shown below the greeting. For an account opened by invitation, instead of this step the **Hesabınızı etkinleştirin** (Activate your account) page from the e-mail link is used (full name and password → **Hesabımı Etkinleştir** — Activate My Account). The sign-in and the password change leave a trace on the administrator side: ![Access Log](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/erisim-gunlugu.png) 1. Event filter — login, failed login, lock, logout 2. Search by user or e-mail 3. Event type 4. Source address ![Audit Log](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/islem-kayitlari.png) 1. User filter 2. Entity type — which record 3. Create · Update · Delete 4. Changed fields 5. Old and new value ## 5. Check the permissions Verified in the demo environment by signing in as the new user: | Check | What is seen | |---|---| | Top menu | **Satış, Stok Yönetimi, Lojistik Yönetimi, Üretim, Ana Veriler, Finans** (Sales, Inventory, Logistics, Production, Master Data, Finance). **Satın Alma, Servis, Bakım, Yönetim** (Purchasing, Service, Maintenance, Administration) are absent. | | Satış › Sipariş Yönetimi › Satış Siparişleri (Sales › Order Management › Sales Orders) | **Yeni Sipariş** (New Order) is available. On a draft sales order, **Düzenle** (Edit), **Siparişi Onayla** (Approve Order) and **Siparişi İptal Et** (Cancel Order) are available. | | Satış › Teklif Yönetimi › Satış Teklifleri (Sales › Quotation Management › Sales Quotations) | On a draft quotation: **Gönder** (Send), **Düzenle** (Edit), **İptal Et** (Cancel); on a sent quotation: **Siparişe Dönüştür** (Convert to Order), **Revize Et** (Revise), **Kaybedildi** (Lost). | | Satış › Ana Veriler › Fiyat Listeleri (Sales › Master Data › Price Lists) | The list can be read; only **Dışa Aktar** (Export) is available — there is no new list button (no `erp-sales-price-lists.create`). | | The address of the purchase order list | Not in the menu, but it opens via the address and can be read (read baseline); there is no **Yeni Sipariş** (New Order) button. | | The `/users`, `/roles`, `/module-management` addresses | "Bu işlemi gerçekleştirmek için yetkiniz bulunmuyor." (You do not have permission to perform this operation.) · "Erişim gerekiyorsa sistem yöneticinizle iletişime geçin." (If you need access, contact your system administrator.) · **Ana Sayfa'ya dön** (Back to Home) | If a user says they cannot see a button, check in this order: 1. Does their role (or their unit's role, or their extra permissions) have the permission for that operation? Find the button's source in the [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi) and check it on the role's **Yetkiler** (Permissions) tab. 2. Is the feature enabled in **Modül Yönetimi** (Module Management)? If it is disabled, the message is "Bu özellik kuruluşunuzda etkin değil." (This feature is not enabled in your organization.) 3. If the screen is not in the menu, is it in the role's **Ekranlar** (Screens) catalog? 4. Does the document's status allow the button? If a rule blocks it, the button is visible but disabled; hovering over it shows the reason. ## 6. Close the departing employee's account **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) — row **Demo Eski Çalışan** › **İşlemler** (Actions) › **Devre Dışı Bırak** (Deactivate) → **Devre dışı bırak** (Deactivate). ![Disable the account?](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/devre-disi-onay.png) 1. Login closes, open session ends; roles are kept The account cannot sign in; an open session is dropped on the next request. The record is not deleted: its roles remain, past documents continue to show the account, and pending invitation and password links become invalid. The account appears under the **Durum: Pasif (devre dışı)** (Status: Inactive — deactivated) filter and, if necessary, can be reopened together with its roles with **Geri Yükle** (Restore). ![Disabled accounts and Restore](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanicilar-pasif.png) 1. Status: Inactive (disabled) 2. Disabled badge 3. Restore — reopens with its roles Details: [Deactivate a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciyi-devre-disi-birakma). ## FAQ / Troubleshooting | Message or situation | Cause | What to do | |---|---|---| | "E-posta gönderimi yapılandırılmamış (Yönetim › Özelleştirme › Genel › E-posta Ayarları). Davet bağlantısı gönderilemez; hesabı şifre belirleyerek açabilirsiniz." (E-mail sending is not configured … The invitation link cannot be sent; you can open the account by setting a password.) | There are no e-mail settings. | Have the e-mail settings configured, or open the account with **Şifreyi ben belirleyeyim** (I will set the password). | | "Hesap açıldı ama davet e-postası gönderilemedi (…)" (The account was opened but the invitation e-mail could not be sent (…)) | The account was opened; the e-mail did not go out at that moment. | **İşlemler › Daveti Yeniden Gönder** (Actions › Resend Invitation). | | "Bu davet geçersiz ya da süresi dolmuş." (This invitation is invalid or has expired.) | The link exceeded 3 days, was already used, or a newer one was sent. | **Daveti Yeniden Gönder** (Resend Invitation). | | "Bu işlemi gerçekleştirmek için yetkiniz bulunmuyor." (You do not have permission to perform this operation.) | No permission (HTTP 403). | Add the permission to the user's role or assign a suitable role; the change takes effect immediately. | | "Bu özellik kuruluşunuzda etkin değil." (This feature is not enabled in your organization.) | The role has the permission, but the feature is disabled. | Enable the feature in **Modül Yönetimi** (Module Management). | | "Devam etmeden önce parolanızı değiştirmeniz gerekiyor — bu parolayı sizden başka biri de biliyor." (You need to change your password before continuing — someone other than you also knows this password.) | A password change is required at first sign-in. | The user completes the **Parolanızı değiştirin** (Change your password) screen. | | "E-posta veya parola hatalı." (Incorrect e-mail or password.) | Wrong e-mail or password. | Check the description in **Erişim Günlüğü** (Access Log) (Hatalı parola (Wrong password) / Bilinmeyen e-posta (Unknown e-mail) / Hesap devre dışı (Account deactivated)). | | "Hesap … başarısız giriş denemesi nedeniyle kilitlendi. …" (The account was locked due to … failed sign-in attempts. …) | 5 failed attempts, 15-minute lock. | Wait, or [Unlock the account](https://erpdocs.corexlogic.com/en/yonetim/islemler/kilit-kaldirma); if the password was forgotten, send a link. | | "Çok fazla deneme yapıldı. 60 saniye sonra tekrar deneyin." (Too many attempts. Try again in 60 seconds.) | More than 10 sign-in attempts per minute from the same address. | Wait a minute and try again. | | `'' deposunda işlem yetkiniz yok.` (You do not have permission to operate in warehouse '<warehouse code>'.) | Organizational restriction. | Add the warehouse to the restriction, or leave the task to an authorized person. | | An assigned approval role does not appear in the approval inbox | The approval role is read from the session's role names. | The user should refresh the page. | | "Kendi hesabınızı devre dışı bırakamazsınız. Bunu başka bir yönetici yapmalı." (You cannot deactivate your own account. Another administrator must do this.) | You tried to close your own account. | Another administrator does it. | | "… Yönetici rolünü taşıyan son etkin hesap. …" (… the last active account with the Administrator role. …) | The role is being removed from the last administrator. | First give the Administrator role to another user. | | "Lisans en çok … etkin kullanıcıya izin veriyor; …" (The license allows at most … active users; …) | The license's user limit is reached. | Deactivate an unused account or extend the license. | ## Step-by-step tasks - [1. Create a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma) — Role from a template, permissions and screens. - [2a. Invite a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme) — Invitation by e-mail. - [2b. Create a user with a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma) — If there are no e-mail settings. - [3a. Organizational restriction](https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme) — Warehouse and work center. - [3b. Extra permission](https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme) — A permission specific to one person. - [Change a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama) — Role assignment when the job changes. - [Reset a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama) — Link or manual password. - [6. Deactivate](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciyi-devre-disi-birakma) — Departing employee. --- # Setup with data import > From an empty installation to a working company — the load order of the master data workbooks, Validate and Import for each workbook, expected results and post-setup checks. URL: https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum In a new installation, products, business partners, BOMs, prices and opening stock are not entered one by one on screens; they are loaded from Excel workbooks through **Veri Aktarımı** (Data Import). Because the workbooks are linked to each other by code, the **order** matters: a BOM needs its products, a routing needs its work centers, and the opening stock needs its warehouses. Every workbook is loaded in the same two steps: first **Kontrol Et** (Validate — writes nothing), then, if there are no errors, **Aktar** (Import). Framework and rules: [Data import](https://erpdocs.corexlogic.com/en/veri-aktarimi). > **Scenario** A fictitious industrial company (CoreX Demo Endüstri ve Ticaret A.Ş.) — it manufactures electrical panels, office furniture, stainless steel tanks, conveyors and chemicals, and sells to different sectors. The setup package consists of eleven workbooks: 141 purchased and manufactured products, 62 business partners, 13 work centers, 19 BOMs and routings, three price lists, 159 supplier prices, four warehouses, and an opening stock dated 01.10.2026 with a total value of 1,960,810 TL. The result counts below are the **Kontrol Et** (Validate) results of this package on an empty installation. ``` Empty installation ─► Master data seed ─► Company information ─► Users │ ├─► 01-02 Products ─────────────┬─► 04 Bills of materials ├─► 03 Work centers ────────────┴─► 05 Routings ├─► 06 Business partners ─► 07 Ship-to addresses and contacts │ ├─► 08 Price lists (product + business partner) │ └─► 09 Supplier prices (product + supplier) └─► 10 Warehouses and storage locations ─► 11 Opening stock (product + warehouse) └─► Checks (stock value, price, BOM) ``` ## 1. Prepare the installation | Step | Screen | What to do | Expected | |---|---|---|---| | Master data seed | Server (setup tool) | Once, on first installation: base units, main warehouse and plant, calendar. | The units (ADET, KG, M, M2, LITRE, PAKET, KUTU, SAAT …) and the MERKEZ warehouse are in the list. | | Company information | Yönetim › Şirket Bilgileri (Administration › Company Information) | Legal name, tax ID (VKN), tax office, address. | The company name appears in the document letterhead. | | Users and roles | Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) or [Users and Roles import](https://erpdocs.corexlogic.com/en/veri-aktarimi/kullanicilar-ve-roller) | The people who will perform the import and the daily work, with their roles. | Each person sees the menu of their own role. | When migrating from an existing installation, the **Kullanıcılar ve Roller** (Users and Roles) workbook is loaded first: the people who will load the other workbooks come with it. ## 2. Load the workbooks in order For each row: open the screen → **Dosya Seç** (Choose File) → **Kontrol Et** (Validate) → read the result → if **Hatalı 0** (Errors 0), click **Aktar** (Import). | Order | Workbook | Screen | Content | Validate (empty installation) | |---|---|---|---|---| | B1 | `01-urun-aktarimi.xlsx` | Ana Veriler › Ürünler › [Ürün Aktarımı](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-aktarimi) (Master Data › Products › Product Import) | Characteristics, categories, manufacturers, 98 purchased materials, unit conversions, alternatives, classification | 363 rows, Hatalı 0 | | B2 | `02-uretilen-ve-satilan-urunler.xlsx` | Ürün Aktarımı (Product Import) | Finished products, semi-finished products, trading goods, spare parts, services; configuration, size variants, barcodes | 172 rows, Hatalı 0 | | B3 | `03-is-merkezleri.xlsx` | Veri Aktarımı › [İş Merkezleri](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-merkezleri) (Data Import › Work Centers) | 13 work centers | 13 rows, Hatalı 0 | | B4 | `04-urun-agaclari.xlsx` | Veri Aktarımı › [Ürün Ağaçları](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-agaclari) (Data Import › Bills of Materials) | 19 BOMs, released; line conditions for configurable products | 251 rows, Hatalı 0 | | B5 | `05-rotalar.xlsx` | Veri Aktarımı › [Rotalar](https://erpdocs.corexlogic.com/en/veri-aktarimi/rotalar) (Data Import › Routings) | 19 routings (2 master recipes), selection conditions on operations | 92 rows, Hatalı 0 | | B6 | `06-cari-hesaplar.xlsx` | Ana Veriler › İş Ortakları › [İş Ortağı Aktarımı](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-ortagi-aktarimi) (Master Data › Business Partners › Business Partner Import) | 43 customers, 20 suppliers (one is both), 2 sole proprietorships, 4 foreign customers | 62 rows, Hatalı 0 | | B7 | `07-sevk-adresleri-ve-kisiler.xlsx` | Veri Aktarımı › [Sevk Adresleri ve İlgili Kişiler](https://erpdocs.corexlogic.com/en/veri-aktarimi/sevk-adresleri-ve-ilgili-kisiler) (Data Import › Ship-to Addresses and Contacts) | 12 ship-to addresses, 96 contacts | 108 rows, Hatalı 0 | | B8 | `08-fiyat-listesi-aktarimi.xlsx` | Veri Aktarımı › [Fiyat Listesi Aktarımı](https://erpdocs.corexlogic.com/en/veri-aktarimi/fiyat-listesi-aktarimi) (Data Import › Price List Import) | STANDART, BAYI (Standard × 0.85), IHRACAT (EUR); scales, periods, characteristic surcharges, special prices, group discounts | 109 rows, Hatalı 0 | | B9 | `09-tedarikci-fiyatlari.xlsx` | Veri Aktarımı › [Tedarikçi Fiyatları](https://erpdocs.corexlogic.com/en/veri-aktarimi/tedarikci-fiyatlari) (Data Import › Supplier Prices) | Main and alternative suppliers, lead time, minimum order; one blocked record | 159 rows, Hatalı 0 | | B10 | `10-depolar-ve-lokasyonlar.xlsx` | Veri Aktarımı › [Depolar ve Lokasyonlar](https://erpdocs.corexlogic.com/en/veri-aktarimi/depolar-ve-lokasyonlar) (Data Import › Warehouses and Storage Locations) | HAMMADDE, KIMYA, MAMUL warehouses and their bins | 14 rows, Hatalı 0 | | B11 | `11-stok-acilisi.xlsx` | Veri Aktarımı › [Stok Açılışı](https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi) (Data Import › Opening Stock) | Opening as of 01.10.2026; batch-managed chemicals (with expiry dates), serial-numbered products | 136 rows, Hatalı 0 | ![Data Import — objects in load order](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/merkez.png) 1. Load order 2. Click an object to open its import screen 3. Import/export or export only ### Loading a workbook (example: warehouses) **Yönetim › Araçlar › Veri Aktarımı › Depolar ve Lokasyonlar** (Administration › Tools › Data Import › Warehouses and Storage Locations) › **İçe Aktar** (Import) › **Dosya Seç** (Choose File) (`10-depolar-ve-lokasyonlar.xlsx`) › **Kontrol Et** (Validate). Result counters and a per-sheet summary appear; on an empty installation all rows are **Açılacak** (To Be Created). If the same workbook has been loaded before, all rows return **Değişmiyor** (Unchanged) — workbooks can be run again, and a record is never created twice. ![Import screen — file, validate, import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/ice-aktar.png) 1. Three tabs 2. 1 · File (.xlsx) 3. 2 · Validate — changes nothing 4. 3 · Import — only after a clean validation 5. Result counters If **Hatalı 0** (Errors 0), click **Aktar** (Import). The job runs on the server; you can leave the screen. When it finishes, the **Veri aktarımı tamamlandı** (Data import completed) notification arrives and the result is "Aktarım tamamlandı: N kayıt açıldı, N kayıt güncellendi, N kayıt değişmedi" (Import completed: N records created, N records updated, N records unchanged). ### If there are rows with errors The validation result lists the rows with errors with **Sayfa** (Sheet), **Satır** (Row), **Kod** (Code) and **Açıklama** (Description). Example: when an unrecognized warehouse type, a bin for a non-existent warehouse and a negative weight capacity are written in the warehouse workbook: ![Validation result — failed rows and messages](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/kontrol-hatali.png) 1. Failed row count 2. Import skipping failed rows 3. Create · Update · Unchanged · Failed 4. Error message — with row and code Correct the file and run **Kontrol Et** (Validate) again. To correct the rows with errors later, **Hatalıları Atlayarak Aktar** (Import, Skipping Errors) is also possible (not in Business Partner Import — there it is all or nothing). Details: [Read the validation result](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma). ## 3. Verify the installation | Check | Screen | Expected (demo package) | |---|---|---| | Stock value | Stok Yönetimi › Analitik › Stok Değerleme Raporu (Inventory › Analytics › Stock Valuation Report) | HAMMADDE 1,082,150 TL · KIMYA 187,270 TL · MAMUL 270,550 TL · MERKEZ 420,840 TL — total 1,960,810 TL, unvalued quantity 0 | | Price | Satış › Teklif Yönetimi › Satış Teklifi Oluştur (Sales › Quotation Management › Create Sales Quotation) | For M-0016, MAM-0003 Ofis Çalışma Masası (office desk; 160 cm, Ceviz (Walnut), Kablo kanalı (Cable duct) Var (Yes)): unit price 13,350 TL | | Bill of materials | Üretim › Ana Veriler › Ürün Ağaçları (Production › Master Data › Bills of Materials) | 19 BOMs released. | | Approval (optional) | Yönetim › Onay Süreci › Onay Şablonları (Administration › Approval Process › Approval Templates) | Purchase order over 50,000 TL → Satın Alma Müdürü (Purchasing Manager); sales quotation with a discount over 10% → Satış Müdürü (Sales Manager). If there is no template, documents proceed without approval. | Then the screens in [Settings and workflow](https://erpdocs.corexlogic.com/en/ayarlar): e-mail server, alerts and notification rules, e-Document (Test environment). ## FAQ / Troubleshooting | Situation | Cause and solution | |---|---| | "'…' ürünü bulunamadı." / "'…' iş ortağı bulunamadı." (Product '…' not found. / Business partner '…' not found.) | The workbook order was skipped. Import the linked object first, then validate this workbook again. | | "Bu referansla açılış zaten yazılmış (…) — stok ikinci kez girmez." (An opening has already been posted with this reference (…) — stock is not entered a second time.) | The opening stock was imported before. The opening is a document, not an update; the same reference is not posted twice. | | The leading zero of a code was dropped, or a tax ID turned into a scientific number | The cell is formatted as a number in Excel. The template and Export write text; set a manually added column to the **Metin** (Text) format. | | "Aktarma yetkiniz yok — kontrol edip dosyayı yetkili kişiye iletebilirsiniz." (You do not have permission to import — you can validate it and pass the file to an authorized person.) | You do not have the object's `import` permission. Validation is still possible. | | Loading on top of an old installation | If the codes match, the records are updated; if the coding has changed, the same goods are created a second time. If the coding has changed, load the package into an empty installation. | | Data coming in CSV | Not accepted. Save the file as **Excel Çalışma Kitabı (.xlsx)** (Excel Workbook). | ## Step-by-step tasks - [Download the template](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sablon-indirme) — Empty template or existing records. - [Validate a workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) — Validation without saving. - [Read the validation result](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma) — Rows with errors and correction. - [Import a workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) — Writing after an error-free validation. --- # Production > The Production module — bill of materials, routing, work center, configurable products and conditions, MRP and planned orders, production order, consumption, confirmation, output, capacity, kanban and analytics. URL: https://erpdocs.corexlogic.com/en/uretim The Production module defines **what** a product is made from (bill of materials) and **where and how** it is produced (work center, routing); it **plans** requirements (MRP, planned order) and **executes** production (production order, material consumption, operation confirmation, production output). Products manufactured with the values the customer selects use a single super BOM and super routing; lines and operations are selected by rules: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar). End-to-end flows: - [Order to production](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) — sales order for a configurable product → **Üretim Emri Aç** (Open Production Order) → sub-orders → consumption, confirmation, output → delivery. - [Make to stock](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) — forecast and stock level → MRP → planned order → production order → stock. ## Production order lifecycle ``` Taslak (Draft) ──Yayınla (Release)──► Yayınlandı (Released) ──first consumption/confirmation/output──► Üretimde (In Production) ──Tamamla (Complete)──► Tamamlandı (Completed) ──Kesin Kapat (Close Finally)──► Kapatıldı (Closed) └────────── İptal Et (Cancel; in Taslak, Yayınlandı and Üretimde statuses; reason required) ──────────► İptal (Cancelled) ``` Material requirements and operations are written to the order with **Yayınla** (Release); for a configurable product the super BOM and routing are resolved at this point. Details: [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri). ## Conditions and configurable products - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) — Language, evaluation order, messages and 25 verified examples. - [Define a configuration characteristic](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirma-ozelligi-tanimlama) — The options asked in sales. - [Define a precondition](https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama) — When a characteristic is asked. - [Add an object dependency](https://erpdocs.corexlogic.com/en/uretim/islemler/nesne-bagimliligi-ekleme) — Constraint and calculated characteristic. - [Define a line rule](https://erpdocs.corexlogic.com/en/uretim/islemler/satir-kurali-tanimlama) — Selection condition and quantity formula. - [Write a super routing rule](https://erpdocs.corexlogic.com/en/uretim/islemler/super-rota-kurali-yazma) — Operation condition and duration formula. - [Try by configuring](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme) — See the result without saving. ## Master data - [Create a work center](https://erpdocs.corexlogic.com/en/uretim/islemler/is-merkezi-olusturma) — Capacity and cost center. - [Create a routing](https://erpdocs.corexlogic.com/en/uretim/islemler/rota-olusturma) — Operations and durations. - [Create a bill of materials](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-olusturma) — Material lines. - [Open a BOM revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma) — A draft for a change. - [Publish a revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) — Validity and change number. - [Define a production version](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-versiyonu-tanimlama) — BOM and routing pairing. - [Engineering change](https://erpdocs.corexlogic.com/en/uretim/islemler/muhendislik-degisikligi-olusturma) — Change number and change request. ## Planning - [Enter a planned independent requirement](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme) — Sales forecast. - [Run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma) — Net requirements and proposals. - [Convert a planned order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme) — Üretim Emrine Dönüştür (Convert to Production Order). - [Dispatch an operation to capacity](https://erpdocs.corexlogic.com/en/uretim/islemler/kapasite-seviyelendirme) — Capacity planning table. - [Kanban control cycle](https://erpdocs.corexlogic.com/en/uretim/islemler/kanban-kontrol-dongusu-olusturma) — Replenishment with an empty signal. ## Execution - [Create a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emri-olusturma) — Make-to-stock or standalone order. - [Open a production order from a sales order](https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma) — Üretim Emri Aç (Open Production Order). - [Open sub-orders](https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi) — Components made to order. - [Release a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama) — Requirements and operations are written. - [Post a material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) — From stock to the order; backflush. - [Enter an operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) — Quantity, scrap, duration. - [Post production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) — The finished product goes into stock. - [Complete and close an order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) — Tamamla, Kesin Kapat, İptal (Complete, Close Finally, Cancel). - [Correct consumption and output](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme) — Correction document. - [Enter a repetitive manufacturing confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/seri-uretim-teyidi-girme) — Production without an order. ## Menu map | Section | Screen | Documentation | |---|---|---| | Üretim Yürütme (Production Execution) | Üretim Emirleri (Production Orders) · Üretim Emri Oluştur (Create Production Order) | [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) | | Üretim Yürütme (Production Execution) | Üretim Operasyonları (Production Operations) | [Production operations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-operasyonlari) | | Üretim Yürütme (Production Execution) | Operasyon Teyitleri (Operation Confirmations) · Operasyon Teyidi Gir (Enter Operation Confirmation) | [Operation confirmations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri) | | Üretim Yürütme (Production Execution) | Hatalı Geri Sarflar (Failed Backflushes) | [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) | | Üretim Yürütme (Production Execution) | Eksik Parça Listesi (Missing Parts List) | [Missing parts list](https://erpdocs.corexlogic.com/en/uretim/ekranlar/eksik-parca-listesi) | | Üretim Yürütme (Production Execution) | Duruş Kayıtları (Downtime Records) | [Downtime records](https://erpdocs.corexlogic.com/en/uretim/ekranlar/durus-kayitlari) | | Seri Üretim (Repetitive Manufacturing) | Seri Üretim Teyitleri (Repetitive Manufacturing Confirmations) · Seri Üretim Teyidi Gir (Enter Repetitive Manufacturing Confirmation) · Ürün Maliyet Toplayıcıları (Product Cost Collectors) | [Repetitive manufacturing](https://erpdocs.corexlogic.com/en/uretim/ekranlar/seri-uretim) | | Kapasite Planlama (Capacity Planning) | Kapasite Yükü (Capacity Load) · Kapasite Planlama Tablosu (Capacity Planning Table) · Sonlu Çizelgeleme (Finite Scheduling) | [Capacity planning](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) | | Üretim Planlama (Production Planning) | Malzeme İhtiyaçları (Material Requirements) | [Material requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/malzeme-ihtiyaclari) | | Üretim Planlama (Production Planning) | Planlı Bağımsız İhtiyaçlar (Planned Independent Requirements) | [Planned independent requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar) | | Üretim Planlama (Production Planning) | MRP Koşusu (MRP Run) | [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) | | Üretim Planlama (Production Planning) | Planlı Emirler (Planned Orders) | [Planned orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler) | | Kanban | Kanban Panosu (Kanban Board) · Kanban Kontrol Döngüleri (Kanban Control Cycles) | [Kanban](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kanban) | | Ürün Maliyetlendirme (Product Costing) | Üst Ürün Fiyatlarını Güncelle (Update Parent Product Prices) | [Parent product prices](https://erpdocs.corexlogic.com/en/uretim/ekranlar/ust-urun-fiyatlari) | | Üretim Mühendisliği (Production Engineering) | Rotalar (Routings) · Rota Oluştur (Create Routing) · Ana Reçeteler (Master Recipes) · Ana Reçete Oluştur (Create Master Recipe) | [Routings and master recipes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) | | Üretim Mühendisliği (Production Engineering) | Üretim Versiyonları (Production Versions) | [Production versions](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) | | Ana Veriler (Master Data) | Ürün Ağaçları (Bills of Materials) · Ürün Ağacı Oluştur (Create Bill of Materials) | [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) | | Ana Veriler (Master Data) | Çok Seviyeli Ürün Ağacı (Multi-Level Bill of Materials) | [Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci) | | Ana Veriler (Master Data) | Mühendislik Değişiklikleri (Engineering Changes) · Değişiklik Talepleri (Change Requests) | [Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) | | Ana Veriler (Master Data) | İş Merkezleri (Work Centers) | [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri) | | Ana Veriler (Master Data) | Ürün Ağacı Bileşen Yönetimi (BOM Component Management) | [Component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi) | | Ana Veriler (Master Data) | Ürün Ağacı Karşılaştırma (BOM Comparison) | [BOM comparison](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-karsilastirma) | | Analitik (Analytics) | Üretim Emri Durumu (Production Order Status) · Malzeme Tüketimi (Material Consumption) · İş Merkezi Yükü (Work Center Load) · Çıktı Düzeltmeleri (Output Corrections) · Fire Raporu (Scrap Report) · İşçilik Raporu (Labor Report) · OEE Raporu (OEE Report) · Üretim Maliyeti (Production Cost) | [Production analytics](https://erpdocs.corexlogic.com/en/uretim/ekranlar/analitik) | Consumption, output and correction screens have no separate leaf in the menu; they are opened from the order details. The characteristics and rules of a configurable product are on the **Yapılandırma** (Configuration) tab of the item in **Ana Veriler › Ürünler › Ürün Ana Verileri** (Master Data › Products › Product Master Data): [Configurable products](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler). ## Links between documents An order opened from a sales order is linked to the sales order and its line; the order appears in the sales order details under **Bağlantılı Belgeler** (Related Documents), and the sales order appears in the order header. A sub-order is linked to the requirement line of its parent order. An order converted from a planned order carries the planned order's number. Consumption (MS-…), confirmation (TYD-…) and output (UC-…) documents are listed on the order's tabs. --- # Conditions and formulas > The single BOM and single routing of a configurable product — line condition, expression-based selection condition, quantity formula, operation condition and duration formula, configuration precondition; the language, evaluation order, error messages and 25 verified examples. URL: https://erpdocs.corexlogic.com/en/uretim/kosullar A configurable product does not get a separate bill of materials and routing for every combination of options. The product has **one** bill of materials (super BOM) and **one** routing (super routing); rules are written on the lines and operations. The values the customer selects on the sales order (the configuration) are carried to the production order, and when the order is released the rules are resolved with these values: which material line is included, in what quantity, which operation is performed and how many minutes it takes. This page describes all of the rules. Every example was set up in the demo company and its result was verified with the BOM's **Yapılandırarak Dene** (Try by Configuring) window or with a real production order. > **Demo items** Most examples use fictitious items created in the demo company for this page: **DMO-KSL-01** Ölçülü bantlı konveyör (made-to-length belt conveyor), **DMO-KSL-02** Yapılandırılabilir dağıtım panosu (configurable distribution panel), **DMO-KSL-03** Temizlik ürünü partisi (cleaning product batch), **DMO-KSL-04** Ölçüye göre dolap (made-to-measure cabinet). Ready-made examples with option conditions: **MAM-0003** Ofis çalışma masası (office desk), **MAM-0006** Paslanmaz depolama tankı (stainless storage tank), **MAM-0001** Motor kontrol panosu (motor control panel). > **Number format** In expressions the decimal separator is always a **dot** (`1.05`). The application itself uses the Turkish number format: values typed into fields (for example **Miktar** `0,6`) and messages quoted from the screen use a decimal **comma**. In the explanatory text and result tables below, numbers are written in English format (12.24 M); option names such as **1.000 L** (1,000 L) are quoted exactly as they appear on screen. ## Map of the rules | Rule | Where it is defined | What it decides | How it is written | Result type | |---|---|---|---|---| | Configuration precondition | **Ürün Ana Verileri** (Product Master Data) › item › **Yapılandırma** (Configuration) › the characteristic's **İşlemler** (Actions) › **Koşul** (Condition) | Whether the characteristic **is asked** in sales | Values are ticked (in the import workbook `KABIN = OZEL_OLCU`) | — | | Constraint (**Sınır koy**, Set a limit) | Same tab › **Nesne Bağımlılıkları** (Object Dependencies) › **Kural Ekle** (Add Rule) | Whether a disallowed combination can be saved | Expression | Yes/No | | Procedure (**Değer hesapla**, Calculate value) | Same place | What value a characteristic gets | Expression or decision table | The characteristic's type | | Line condition (option condition) | **Ürün Ağaçları** (Bills of Materials) › revision › the line's **Kuralı Düzenle** (Edit Rule) button › **Satır Kuralı** (Line Rule) | Whether the material line **is included** in the order | Values are ticked on an option characteristic | — | | Expression-based selection condition | **Satır Kuralı** › **İfadeli koşul** (Expression condition) › **Koşul** (Condition) | Whether the material line is included in the order | Expression | Yes/No | | Formula quantity | **Satır Kuralı** › **Formüllü miktar** (Formula quantity) (**Özellik × katsayı** (Characteristic × coefficient) or **İfade** (Expression)) | The line's quantity | Coefficient or expression | Number | | Operation selection condition | **Rotalar** (Routings) › revision › the operation's **Seçim koşulu ve formüller** (Selection condition and formulas) button › **Seçim koşulu** (Selection condition) | Whether the operation is included in the order | Expression | Yes/No | | Duration formula | Same place › **Hazırlık formülü (dk)** (Setup formula, min) · **Makine formülü (dk)** (Machine formula, min) · **İşçilik formülü (dk)** (Labor formula, min) | The operation's duration | Expression | Number (minutes) | BOM line and operation rules can be written **only** in the BOM and routing of a **configurable item**. If a condition is written in the BOM of an item that is not configurable, saving is rejected with this message: `Seçim koşulu yalnız yapılandırılabilir kartın ürün ağacında kullanılır.` (A selection condition is used only in the BOM of a configurable item.) — for a quantity formula `Miktar formülü yalnız yapılandırılabilir kartın ürün ağacında kullanılır.` (A quantity formula is used only in the BOM of a configurable item.), and in a routing `Seçim koşulu ve formüllü süre yalnız yapılandırılabilir kartın rotasında kullanılır.` (Selection conditions and formula durations are used only in the routing of a configurable item.). ## When and in what order rules are evaluated {#sira} 1. **Value entry** — characteristic values are entered on the sales order line (or in the **Yapılandırarak Dene** (Try by Configuring) window). A characteristic whose precondition is not met is **not shown**; it cannot be given a value and its required setting is not applied. A required characteristic that is asked and left blank prevents the line from being saved. 2. **Object dependencies** are applied in the order of the list: procedures write the calculated value, constraints check the combination. A constraint is checked only when its result is **known**. 3. **When the production order is released** (**Yayınla**, Release), the BOM is resolved. Material requirements and operations are written to the order at this point; before release the order has no material lines. Lines are processed in line-number order, and on each line: 1. **Option condition** — for each condition characteristic, the entered value must be one of the ticked values. 2. **Expression-based selection condition** — the result must be **Yes**. If it is **No** or **unknown**, the line is not included. 3. **Quantity** — fixed, `Miktar + katsayı × değer` (quantity + coefficient × value) or `Miktar + ifadenin sonucu` (quantity + result of the expression). 4. The same item must not appear twice among the selected lines; if no line is selected, the order is not opened. 5. **The routing is resolved** — for each operation the selection condition (included if Yes), then the setup, machine and labor formulas. A duration without a formula is the fixed value in the routing. 6. **Scaling to the order quantity** — `satır miktarı × emir miktarı ÷ ağacın temel miktarı` (line quantity × order quantity ÷ base quantity of the BOM), increased by the assembly and component scrap if any. If the quantity came from a formula or there is scrap, the result is rounded **up** to the decimal precision of the component's unit (ADET (piece) 0, KG/M/M2 3 decimals). > **Difference between Try by Configuring and the order** **Yapılandırarak Dene** (Try by Configuring) and the order use **the same** resolver. The window shows values per base quantity and **without rounding**; the order adds scrap and unit rounding. Example: a sheet-metal line shown as `60,288 KG` in the window becomes `63,303 KG` on the order with 5% component scrap (60.288 × 1.05 = 63.3024 → rounded up to 63.303). ## Expression language {#ifade-dili} Constraints, procedures, expression-based selection conditions, quantity formulas, operation conditions and duration formulas use **the same language**. Rules are evaluated on the server; the **Sına** (Test) button on the screen performs the same check without saving. ### Values and notation | What | How it is written | Example | |---|---|---| | Number | Decimal separator is a **dot** | `1.05`, `2.5`, `12` | | Text, option code | **Single quotes**; a quote inside the text is doubled | `'PVC'`, `'OZEL_OLCU'`, `'Ali''nin'` | | Yes/No | `EVET` / `HAYIR` (or `TRUE` / `FALSE`) | `KORUMA = EVET` | | Characteristic | The characteristic's **code**; letters, digits and underscore | `BOY`, `CIKIS_SAYISI` | | Code with special characters | Square brackets | `[EN-1]`, `[BOY] * 2` | Codes and keywords are not case-sensitive (`bant_genisligi = '800'` also works). Text comparison also ignores case and leading/trailing spaces: `BANT_TIPI = 'pvc'` and `BANT_TIPI = ' PVC '` both return Yes. ### Value in the expression by characteristic type | Characteristic type | What the expression reads | Correct | Wrong | |---|---|---|---| | **Seçim** (Selection) | The option's **code** (text) | `BANT_GENISLIGI = '800'` | `BANT_GENISLIGI = 800` (number) · `BANT_GENISLIGI = '800 mm'` (the option's name) | | **Tam Sayı** (Integer), **Ondalık** (Decimal) | Number | `CIKIS_SAYISI > 12`, `BOY * 2` | `BOY > '10'` | | **Evet/Hayır** (Yes/No) | Yes/No | `KORUMA = EVET` | `KORUMA = 'EVET'`, `KORUMA = 1` | | **Tarih** (Date) | Text `'yyyy-MM-dd'` | `TESLIM >= '2027-01-01'` | — | | **Metin** (Text) | Text (empty text counts as not entered) | `DOLU(ACIKLAMA)` | `ACIKLAMA <> ''` (unknown if empty) | The option's **name** (shown on screen, e.g. "800 mm") is not used in expressions; comparison is made **by code**. In the rule window, the **Özellikler** (Characteristics) and **… değerleri** (… values) buttons insert the item's characteristic and option codes at the cursor position. ### Operators and precedence Precedence from lowest to highest: `VEYA` → `VE` → `DEĞİL` → comparison → `+ -` → `* /` → unary `-`. Parentheses always come first. | Operator | Meaning | Equivalent notation | Example → result | |---|---|---|---| | `+ - * /` | Arithmetic | — | `2 + 3 * 4` → 14 · `10 / 4` → 2.5 | | `+` on text | Concatenation | — | `BANT_TIPI + '-' + BANT_GENISLIGI` → PVC-600 | | `=` `<>` | Equal · not equal | `!=` = `<>` | `BOY != 6` (BOY 6) → No | | `<` `<=` `>` `>=` | Comparison | — | `BOY = 6.0` (BOY 6) → Yes | | `IN ( … )` | One of the listed values | `İÇİNDE` | `BOY IN (6, 12)` (BOY 12) → Yes | | `VE` | Both (AND) | `AND` | | | `VEYA` | Either is enough (OR) | `OR` | | | `DEĞİL` | Negation (NOT) | `DEGIL`, `NOT` | `DEĞİL BOY > 10 VE BOY > 5` (BOY 8) → Yes | - Comparisons cannot be chained: `BOY > 10 > 2` cannot be written (`Beklenmeyen '>' (konum 10).` — Unexpected '>' (position 10).). Join two conditions with `VE`. - `DEĞİL` negates only the comparison immediately to its right: `DEĞİL A VE B` = `(DEĞİL A) VE B`. To negate several conditions, use parentheses: `DEĞİL (A VEYA B)`. - Both sides of a comparison must be of the same type; Yes/No is compared only with `=` and `<>`. - Arithmetic works only with numbers: `KORUMA + 1` → `'+' yalnız sayılarla kullanılır.` ('+' is used only with numbers.) ### Functions | Function | Equivalent | What it does | Example → result | |---|---|---|---| | `EGER(koşul, a, b)` | `EĞER`, `IF` | If the condition (`koşul`) is Yes, `a`; if No, `b`; if unknown, unknown. **Only the selected branch** is evaluated | `EGER(BOY > 10, 2, 1)` (BOY 12) → 2 | | `YUVARLA(x[, n])` | `ROUND` | Rounds to n decimals (n 0–10, blank = 0); half rounds up | `YUVARLA(2.345, 2)` → 2.35 · `YUVARLA(2.5)` → 3 | | `YUKARIYUVARLA(x, adım)` | `ROUNDUP` | Rounds up to the next multiple of the step (`adım`, step > 0) | `YUKARIYUVARLA(2.37, 0.5)` → 2.5 | | `TAVAN(x)` | `CEIL` | Next integer up | `TAVAN(2.1)` → 3 · `TAVAN(-2.5)` → -2 | | `TABAN(x)` | `FLOOR` | Next integer down | `TABAN(2.9)` → 2 · `TABAN(-2.5)` → -3 | | `MIN(a, b, …)` | — | The smallest (one or more values) | `MIN(3, BOY, 8)` (BOY 5) → 3 | | `MAX(a, b, …)` | — | The largest | `MAX(0.6, CIKIS_SAYISI * 0.05)` (20) → 1 | | `MUTLAK(x)` | `ABS` | Absolute value | `MUTLAK(2 - BOY)` (BOY 5) → 3 | | `DOLU(özellik)` | `SPECIFIED` | Yes if the characteristic (`özellik`) has been entered, No if not — **never returns unknown** | `DOLU(KORUMA)` | | `TABLO('KOD')` | `TABLE` | Whether the values match a row of the variant table | Only in constraints and procedures | | `TABLODEGER('KOD', 'SÜTUN')` | `LOOKUP`, `TABLODEĞER` | The column (`SÜTUN`) value of the matching row | Only in constraints and procedures | The selection condition and quantity formula of a BOM line do not query variant tables: `Seçim koşulu varyant tablosu sorgulamaz.` (A selection condition does not query a variant table.) · `Miktar formülü varyant tablosu sorgulamaz.` (A quantity formula does not query a variant table.) If you need a value from a table, write it to a characteristic calculated by a **procedure** and read that characteristic on the line ([Example 8](#ornek-8)). An expression can be at most **1000** characters long. ### Unknown value — three-valued logic {#bilinmeyen-deger} A characteristic that has not been entered (or was not asked because its precondition was not met) is **unknown**. Arithmetic and comparisons involving an unknown value also return unknown. A result can therefore be Yes, No or **unknown**. | Expression | Values | Result | |---|---|---| | `KORUMA = EVET` | KORUMA not entered | unknown → the line is **not included** | | `KORUMA <> EVET` | KORUMA not entered | unknown → the line is **not included** (not No!) | | `BOY * 2` | BOY not entered | unknown → the quantity formula **prevents the order from opening** | | `BOY > 10 VEYA KORUMA = EVET` | BOY 12, KORUMA not entered | Yes (`EVET VEYA ?` = Yes) | | `BOY > 10 VE KORUMA = EVET` | BOY 8, KORUMA not entered | No (`HAYIR VE ?` = No) | | `DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIR` | KORUMA not entered | Yes | | `DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIR` | KORUMA Yes | No | | `EGER(KORUMA = EVET, BOY * 2.4, 0)` | BOY 10, KORUMA not entered | unknown → the order is not opened | The effect of an unknown value depends on the rule: | Rule | If the result is unknown | |---|---| | Expression-based selection condition, operation selection condition | The line / operation is **not included** (as with No) | | Quantity formula | Error: `N. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (…)` (The quantity formula of line N is unknown — one of the values it reads is not in the configuration (…)) | | Duration formula | Error: `N numaralı operasyonun işçilik formülü hesaplanamadı — konfigürasyonda gereken değer yok.` (The labor formula of operation N could not be calculated — a required value is missing from the configuration.) | | Constraint | **Not checked** (passes) | For this reason, write a rule that reads an optional (not required) characteristic with the question "what should happen if it is not entered?" in mind; use `DOLU(…)` if necessary. ### Syntax and evaluation messages {#iletiler} The **Sına** (Test) button and saving check the syntax and the codes. Value-dependent errors (division by zero, a result of the wrong type, a missing value) appear only with values — in **Yapılandırarak Dene** (Try by Configuring) or when the order is released. | Notation | Message | English meaning | When | |---|---|---|---| | `BOY >= 10 VE` | `İfade eksik bitti.` | The expression ended incomplete. | Test / save | | `(BOY + 2` | `')' bekleniyordu, ifade bitti.` | ')' was expected, the expression ended. | Test / save | | `'PVC` | `Kapanmamış metin (konum 1).` | Unclosed text (position 1). | Test / save | | `BANT_GENISLIGI = "800"` | `Beklenmeyen karakter '"' (konum 18).` | Unexpected character '"' (position 18). | Test / save | | `BOY * 1,05` | `Beklenmeyen ',' (konum 8).` | Unexpected ',' (position 8). | Test / save | | `BOY % 2` | `Beklenmeyen karakter '%' (konum 5).` | Unexpected character '%' (position 5). | Test / save | | `KAREKOK(BOY)` | `Bilinmeyen fonksiyon 'KAREKOK' (konum 1).` | Unknown function 'KAREKOK' (position 1). | Test / save | | `UZUNLUK > 10` (not on the item) | `Seçim koşulundaki 'UZUNLUK' 'DMO-KSL-01' kartının özelliği değil.` | 'UZUNLUK' in the selection condition is not a characteristic of item 'DMO-KSL-01'. | Test / save | | `TABLO('X')` on a line | `Seçim koşulu varyant tablosu sorgulamaz.` | A selection condition does not query a variant table. | Test / save | | `BOY / 0` | `Sıfıra bölme.` | Division by zero. | With values | | `EGER(BOY > 10, 2)` | `EGER(koşul, a, b) üç değer alır.` | EGER(condition, a, b) takes three values. | With values — Test reports it as valid | | `EGER(BOY, 1, 2)` | `EGER'in koşulu Evet/Hayır olmalı.` | The condition of EGER must be Yes/No. | With values | | `BANT_GENISLIGI = 800` | `'=' iki yanında aynı türde değer ister.` | '=' requires values of the same type on both sides. | With values | | `KORUMA = 'EVET'` | `'=' iki yanında aynı türde değer ister.` | '=' requires values of the same type on both sides. | With values | | `YUKARIYUVARLA(BOY, 0)` | `YUKARIYUVARLA'nın adımı sıfırdan büyük olmalı.` | The step of YUKARIYUVARLA must be greater than zero. | With values | | `YUVARLA(BOY, 11)` | `YUVARLA'nın ondalık sayısı 0–10 arası tam sayı olmalı.` | The number of decimals of YUVARLA must be an integer between 0 and 10. | With values | | `DOLU(BOY * 2)` | `DOLU(özellik) tek özellik kodu alır.` | DOLU(characteristic) takes a single characteristic code. | With values | | `MAX()` | `MAX için değer sayısı yanlış.` | Wrong number of values for MAX. | With values | | `BOY * 2` in a selection condition | `N. satırın seçim koşulu Evet/Hayır vermeli.` | The selection condition of line N must return Yes/No. | With values — Test reports it as valid | | Unknown code in the constraint / procedure form | `ifadedeki 'UZUNLUK' bu kartın özelliği değil.` | 'UZUNLUK' in the expression is not a characteristic of this item. | Test / save | The position number tells you which character of the expression is meant (counting from 1). An error that appears with values is reported on the order with the line number: `9. satırın miktar formülü: Sıfıra bölme.` (Quantity formula of line 9: Division by zero.) ## Line condition (option condition) {#satir-kosulu} In the upper part of the **Satır Kuralı** (Line Rule) window, every **Seçim** (Selection) characteristic of the item is listed with its values. - If no value is ticked for a characteristic, that characteristic is **not** a condition. - For the same characteristic, **one** of the ticked values is enough (OR): Tank Hacmi (Tank Volume) **1.000 L** or **2.000 L**. - Conditions on different characteristics are required **together** (AND): Renk (Color) **Beyaz** (White) and Masa Genişliği (Desk Width) **140 cm**. - If the characteristic has not been entered, the line is not included; Try by Configuring states the reason: `Gelmez — Tank Hacmi girilmedi (koşul: 1.000 L).` (Not included — Tank Volume not entered (condition: 1,000 L).) - A line can carry conditions on at most 10 characteristics; a characteristic can appear only once on a line. **The same item on two lines.** An item normally appears on a single line in a revision. Exception: if the option conditions of two lines **exclude each other** (the ticked values on a shared characteristic do not overlap), the same item can be on two lines — in MAM-0006, **HAM-0031** 3 mm sheet is on one line with `Tank Hacmi: 2.000 L` at 290 kg and on the other with `Tank Hacmi: 5.000 L` at 560 kg. Expression-based conditions are **not** taken into account here: the same item cannot be placed on two lines with the conditions `BOY <= 10` and `BOY > 10` (`Aynı stok kartı bir revizyonda yalnız bir malzeme satırında yer alabilir.` — The same stock item can appear on only one material line in a revision.). In such a case, use a single line and write the quantity with `EGER` ([Example 4](#ornek-4)). **Yes/No characteristics** appear in the window with the **Fark etmez / Evet / Hayır** (Doesn't matter / Yes / No) buttons; in an expression-based condition the choice is written as `UZAKTAN_IZLEME = EVET`. ## Expression-based selection condition {#secim-kosulu} The **Satır Kuralı › İfadeli koşul › Koşul** (Line Rule › Expression condition › Condition) field. Any selection that needs a numeric limit, several characteristics, `VEYA` or `DEĞİL` is written here. - If the result is **Yes**, the line is included; if it is **No** or **unknown**, it is not. - It is required **together** (AND) with the ticked option conditions. - Blank = no expression condition. ## Formula quantity {#miktar-formulu} **Satır Kuralı › Formüllü miktar** (Line Rule › Formula quantity) has one of three modes: | Mode | Quantity | Rule | |---|---|---| | **Sabit miktar** (Fixed quantity) | The line's **Miktar** (Quantity) field | The quantity must be greater than zero | | **Özellik × katsayı** (Characteristic × coefficient) | `Miktar + katsayı × özelliğin değeri` (quantity + coefficient × the characteristic's value) | The characteristic is numeric (Tam Sayı/Ondalık, Integer/Decimal); the coefficient is greater than zero | | **İfade** (Expression) | `Miktar + ifadenin sonucu` (quantity + result of the expression) | The result must be a number | > **The Quantity field is ADDED to the formula** On a formula line the **Miktar** (Quantity) field is the "fixed part" and can be zero. On a line with the formula `2 * BOY` and Miktar `0,6`, the quantity for BOY 6 m is `2 × 6 + 0,6 = 12,6` (2 × 6 + 0.6 = 12.6). If you want the quantity to come only from the formula, enter `0` in **Miktar**; if you leave 1, every order gets 1 extra unit. - The calculated quantity (fixed + formula) must be greater than zero: `N. satırın konfigürasyona göre hesaplanan miktarı sıfırdan büyük değil.` (The quantity of line N calculated from the configuration is not greater than zero.) - The formula also applies to alternative items: the alternative's own quantity + the result of the same formula. - Component scrap and assembly scrap are applied to the formula result; on the order the value is rounded up to the decimals of the unit. - In **İfade** (Expression) mode, **Sına** (Test) checks the syntax and the codes; it does not check that the result is a number. ## Configuration precondition {#on-kosul} Makes a characteristic **be asked** only when another characteristic has a certain value: "When Kabin (Cabin) **Özel Ölçü** (Custom Size) is selected, ask **Kabin Eni** (Cabin Width) and **Kabin Boyu** (Cabin Length)." - The condition characteristic must be a **Seçim** (Selection) or **Evet/Hayır** (Yes/No) characteristic of the same item; a numeric characteristic cannot be a condition. - For the same characteristic, one of the ticked values is enough (OR); different characteristics apply together (AND). - A characteristic that is not asked stays **blank** and its required setting is not applied; if it is given a value, the line is rejected: `'Kabin Eni' yalnız Kabin: Özel Ölçü (En x Boy) olduğunda girilir.` ('Kabin Eni' is entered only when Kabin is Özel Ölçü (En x Boy).) - If an asked, required characteristic is blank: `'Kabin Eni' özelliğinin değeri girilmemiş.` (No value has been entered for the characteristic 'Kabin Eni'.) - A characteristic cannot be a condition for itself (`Özellik kendisine koşul olamaz.` — A characteristic cannot be a condition for itself.); a loop cannot be created (`Bu koşul döngü kurar: koşul özelliği dolaylı olarak bu özelliğe bağlı.` — This condition creates a loop: the condition characteristic depends indirectly on this characteristic.). - A condition that would invalidate an existing variant is not saved: `'…' varyantı bu koşulla geçersiz kalır: …` (Variant '…' becomes invalid with this condition: …) - A chain can be built (A → B → C): if the condition characteristic is hidden, the characteristic that depends on it is hidden too. **Precondition and BOM rule together:** a characteristic whose precondition is not met is **unknown** in rules. Protect a formula that reads this characteristic with `EGER` ([Example 12](#ornek-12)), or tie the line to the same option condition as the precondition ([Example 9](#ornek-9)). In the import workbook (Ürün Aktarımı (Product Import) › **Yapılandırma** (Configuration) sheet), the precondition is written in the **OnKosul** column: | Notation | Meaning | |---|---| | `KABIN = OZEL_OLCU` | Asked if Kabin is Özel Ölçü | | `PERON_SAYISI = 3 / 4` | If 3 **or** 4 (values of the same characteristic separated by `/`) | | `KABIN = OZEL_OLCU; DIREK = Evet` | If Kabin is Özel Ölçü **and** Direk is Yes (different characteristics separated by `;`) | | empty cell | The condition is removed (if the column exists); if the column does not exist, the existing condition is kept | Values are written with the option **code**; a Yes/No characteristic is written with `Evet` / `Hayır`. Unreadable cell: `'…' okunamadı — biçim "ÖZELLİK = DEĞER" olmalı.` ('…' could not be read — the format must be "CHARACTERISTIC = VALUE".) · unknown characteristic: `Koşul özelliği '…' bulunamadı.` (Condition characteristic '…' not found.) · unknown value: `'…' değerlerinde '…' yok.` ('…' is not among the values of '…'.) · numeric characteristic: `'…' koşul olamaz — yalnız seçim ve Evet/Hayır özellikleri koşul olur.` ('…' cannot be a condition — only selection and Yes/No characteristics can be conditions.) ## Super routing: operation condition and duration formula {#super-rota} In a routing revision, the **Seçim koşulu ve formüller** (Selection condition and formulas) button of each operation opens four fields under the row: **Seçim koşulu** (Selection condition), **Hazırlık formülü (dk)** (Setup formula, min), **Makine formülü (dk)** (Machine formula, min), **İşçilik formülü (dk)** (Labor formula, min). - If the **Seçim koşulu** is Yes, the operation is included in the order; if it is No or unknown, it is not. Blank = always. - If a formula is filled in, the duration is calculated from the formula and **replaces** the fixed value (it is not added, unlike the BOM quantity). Blank = the fixed duration in the routing. - The formula result must be between 0 and 1,000,000 minutes; it is rounded to two decimals. - If no operation is selected: `Konfigürasyon rotanın hiçbir operasyonunu seçmiyor — rotanın seçim koşullarını düzeltin.` (The configuration does not select any operation of the routing — correct the routing's selection conditions.) - Machine and labor durations are **per base quantity**; setup is **per lot**. ## Object dependencies: constraint and procedure {#nesne-bagimliliklari} Use **Kural Ekle** (Add Rule) in the **Nesne Bağımlılıkları** (Object Dependencies) section of the item's **Yapılandırma** (Configuration) tab: - **Sınır koy (Kısıt)** (Set a limit — Constraint) — the expression must return **Yes**. If it returns No, the sales line is not saved and the rule's message is shown (if the message is blank: `Konfigürasyon kısıtı sağlanmıyor: ` — The configuration constraint is not met: expression). A rule of the form "if A, then B must hold" is written as `DEĞİL A VEYA B`: `BANT_TIPI <> 'PU' VEYA BOY <= 20`. - **Değer hesapla (Prosedür)** (Calculate value — Procedure) — the result of the expression (or decision table) is written to a characteristic. If the write mode is **Her zaman hesapla** (Always calculate), the user cannot enter a different value (`'Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.` — The value of 'Ayak Çifti Sayısı' is calculated from the rule (8); a different value cannot be entered.); if it is **Girilmezse hesapla** (Calculate if not entered), the value is written only while the characteristic is blank, and the user's value is kept. A procedure that writes a fraction to an integer characteristic is rejected — use `YUVARLA`. - **Tablodan seç (Tablo kısıtı)** (Select from table — Table constraint) — the combination of values must match a row of a variant table. A calculated characteristic is read on BOM lines and in the routing **like any other characteristic**. If the same calculation is needed on several lines, do it once in a procedure and read the result on the lines. ## Writing rules in the import workbook Instead of entering rules one by one on screen, you can also load them with an import workbook: | Workbook › sheet | Column | Content | |---|---|---| | **Ürün Aktarımı** (Product Import) workbook › **Yapılandırma** (Configuration) | `OnKosul` | Precondition (`KABIN = OZEL_OLCU`) | | Veri Aktarımı (Data Import) › **Ürün Ağaçları** (Bills of Materials) workbook › **Ağaç Satırları** (BOM Lines) | `SecimKosulu` | Expression-based selection condition (`BOY > 10`) | | Same sheet | `MiktarFormulu` | Expression quantity; quantity = `Miktar` + result of the formula | | Same workbook › **Satır Koşulları** (Line Conditions) | `SatirNo`, `OzellikKodu`, `DegerKodu` | Option condition — one row per value | | Veri Aktarımı (Data Import) › **Rotalar** (Routings) workbook › **Operasyonlar** (Operations) | `SecimKosulu`, `HazirlikFormulu`, `MakineFormulu`, `IscilikFormulu` | Super routing | ## Examples Each example gives the requirement, the characteristics, the rule, the values entered and the result, and a common mistake. The "Result" column shows what the **Yapılandırarak Dene** (Try by Configuring) window displays per base quantity (1 ADET (piece)). ![Try with Configuration — line results and quantity calculation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-simulasyon.png) 1. Characteristic values — entered as on the sales line 2. Characteristic computed by a procedure 3. How many lines come, how many do not 4. Calculation of a formula quantity 5. Why the line does not come 6. Expression condition Yes — line comes ### Example 1 — Profile by length (conveyor) {#ornek-1} **Requirement:** The two side profiles of the conveyor are as long as the conveyor, with a 2% cutting allowance. **Characteristic:** `BOY` (length; Ondalık (Decimal), m, 2–30, step 0.5). **Line:** HAM-0035 Alüminyum konveyör profili (aluminum conveyor profile), unit M, **Miktar** (Quantity) `0`. **Formula (İfade, Expression):** `2 * BOY * 1.02` | BOY | Result | |---|---| | 6 | 12.24 M | | 12.5 | 25.5 M | **Common mistake:** Leaving the Miktar field at `1` — the result becomes 13.24 M. ### Example 2 — Option condition and formula together (belt) {#ornek-2} **Requirement:** PVC or PU belt; belt length `2 × BOY` + 0.6 m allowance. **Lines:** HAM-0056 PVC belt — option condition **Bant Tipi: PVC Endüstriyel** (Belt Type: PVC Industrial); HAM-0057 PU belt — **Bant Tipi: PU Gıdaya Uygun** (Belt Type: PU Food Grade). Both have **Miktar** `0,6` and the formula `2 * BOY`. | BOY | Bant Tipi (Belt Type) | HAM-0056 | HAM-0057 | |---|---|---|---| | 6 | PVC | 12.6 M | Not included | | 12.5 | PU | Not included | 25.6 M | Try by Configuring also shows how the quantity was calculated: `2 * BOY + 0,6 = 12,6`. ### Example 3 — Count by step (carrier roller) {#ornek-3} **Requirement:** One roller every 0.5 m, plus one extra at the end. **Line:** HAM-0058 Taşıyıcı makara (carrier roller), ADET (piece), **Miktar** `1`, formula `TAVAN(BOY / 0.5)`. | BOY | Result | |---|---| | 6 | 13 ADET | | 10 | 21 ADET | | 12.5 | 26 ADET | **Common mistake:** Writing `BOY / 0.5 + 1` — if the length is not a multiple of 0.5, a fractional count results; on the order ADET is rounded up, but the intent becomes unclear. When counting pieces, write `TAVAN` / `TABAN` explicitly. ### Example 4 — Two options with a numeric limit (motor) {#ornek-4} **Requirement:** 0.75 kW motor up to 10 m, 1.5 kW motor above. **Lines:** HAM-0054 Motor redüktör 0,75 kW (gear motor 0.75 kW) — expression condition `BOY <= 10`; HAM-0055 Motor redüktör 1,5 kW (gear motor 1.5 kW) — `BOY > 10`. | BOY | HAM-0054 | HAM-0055 | |---|---|---| | 10 | 1 ADET (`koşul Evet: BOY <= 10` — condition Yes) | Not included (`koşul Hayır: BOY > 10` — condition No) | | 12.5 | Not included | 1 ADET | **Common mistake:** Writing the limit on the two lines so that they overlap or leave a gap (`BOY < 10` and `BOY > 10` — at 10 m no motor is included). Make one side `<=` and the other `>`. The same **item** cannot be used on two lines; if the item is the same and only the quantity changes, write `EGER(BOY > 10, 2, 1)` on a single line. ### Example 5 — Optional Yes/No (protective cover) {#ornek-5} **Requirement:** If a protective cover is requested, 2.4 kg of stainless sheet per meter. **Characteristic:** `KORUMA` (protection; Evet/Hayır (Yes/No), optional). **Line:** HAM-0030 Paslanmaz sac (stainless sheet), KG, **Miktar** `0`, expression condition `KORUMA = EVET`, formula `BOY * 2.4`. | BOY | KORUMA | Result | |---|---|---| | 12.5 | Yes | 30 KG | | 10 | No | Not included — `koşul Hayır: KORUMA = EVET` (condition No) | | 6 | not entered | Not included — `koşulun okuduğu değer girilmedi: KORUMA = EVET` (the value read by the condition was not entered) | **Common mistake 1:** Writing `KORUMA <> EVET` for the "without cover" case — if it has not been entered, the result is **unknown** and the line is not included. Correct: `DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIR`. **Common mistake 2:** Embedding the condition in the formula: `EGER(KORUMA = EVET, BOY * 2.4, 0)` — if KORUMA is not entered the formula is unknown and the order is not opened; in addition, when the result is 0 the error `hesaplanan miktarı sıfırdan büyük değil` (calculated quantity is not greater than zero) appears. Write whether the line is included with a **condition** and the quantity with a **formula**. ### Example 6 — Option and number together (middle support) {#ornek-6} **Requirement:** For an 800 mm belt on a conveyor longer than 12 m, 0.8 m of middle support profile every 3 m. **Line:** HAM-0032 Profil kutu 40x40 (box profile 40x40), M, **Miktar** `0`, expression condition `BANT_GENISLIGI = '800' VE BOY > 12`, formula `TAVAN(BOY / 3) * 0.8`. | Bant Genişliği (Belt Width) | BOY | Result | |---|---|---| | 800 mm | 12.5 | 4 M | | 800 mm | 12 | Not included — `koşul Hayır` (condition No) | | 600 mm | 12.5 | Not included | **Common mistake:** `BANT_GENISLIGI = 800` (without quotes) — an option code is text: `'=' iki yanında aynı türde değer ister.` ('=' requires values of the same type on both sides.) This error does not appear in Test but with values. ### Example 7 — Coefficient from a list (connecting bolt) {#ornek-7} **Requirement:** For 600 and 800 mm, 8 bolts per 1.5 m; for 400 mm, 4. Bolts are issued by backflush. **Line:** HAM-0064 Cıvata M8x20 (bolt M8x20), ADET, **Miktar** `0`, **Geri sarf** (Backflush) ticked, formula `EGER(BANT_GENISLIGI IN ('600', '800'), 8, 4) * TAVAN(BOY / 1.5)`. | Bant Genişliği (Belt Width) | BOY | Result | |---|---|---| | 600 mm | 6 | 32 ADET | | 400 mm | 10 | 28 ADET | | 800 mm | 12 | 64 ADET | | 800 mm | 12.5 | 72 ADET | ### Example 8 — Calculated characteristic (pairs of feet) {#ornek-8} **Requirement:** The number of pairs of feet is used in several places (BOM lines, routing); the calculation should be in one place. **Setup:** Add the characteristic `AYAK_CIFTI` (pairs of feet; Tam Sayı (Integer), optional) to the item; **Nesne Bağımlılıkları** (Object Dependencies) › **Kural Ekle** (Add Rule) › **Değer hesapla** (Calculate value), target **Ayak Çifti Sayısı** (Number of Pairs of Feet), **Formül (gelişmiş)** (Formula, advanced), write mode **Her zaman hesapla** (Always calculate), expression `TAVAN(BOY / 1.5) + 1`. **Line:** HAM-0049 Ayar ayağı (leveling foot), ADET, **Miktar** `0`, formula `2 * AYAK_CIFTI`. | BOY | AYAK_CIFTI (calculated) | HAM-0049 | |---|---|---| | 10 | 8 | 16 ADET (`2 * AYAK_CIFTI = 16`) | | 12.5 | 10 | 20 ADET | The calculated value also appears in the order's configuration text (`Ayak Çifti Sayısı: 10`). **Common mistake:** Entering a value manually for the calculated characteristic in sales: `'Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.` (The value of 'Ayak Çifti Sayısı' is calculated from the rule (8); a different value cannot be entered.) ### Example 9 — Dimension with a precondition and a line selected by option (panel cabinet) {#ornek-9} **Requirement:** The standard cabinet is a semi-finished product from stock; for a custom size, cabinet sheet = width × length × 2 faces × 15.7 kg/m². **Characteristics:** `KABIN` (cabinet; Seçim (Selection): **Standart (800x600)** `STD`, **Özel Ölçü (En x Boy)** (Custom Size, Width x Length) `OZEL_OLCU`); `KABIN_EN`, `KABIN_BOY` (cabinet width, length; Ondalık (Decimal), m, required, precondition `KABIN = OZEL_OLCU`). **Lines:** YM-0001 Pano kabini (panel cabinet) — option condition **Kabin: Standart (800x600)**; HAM-0029 DKP sac 2 mm (DKP sheet 2 mm), KG, **Bileşen firesi** (Component scrap) 5% — option condition **Kabin: Özel Ölçü (En x Boy)**, **Miktar** `0`, formula `KABIN_EN * KABIN_BOY * 2 * 15.7`. | Kabin | Width × Length | YM-0001 | HAM-0029 (Try) | HAM-0029 (on the order) | |---|---|---|---|---| | Standart | not asked | 1 ADET | Not included | — | | Özel Ölçü | 1.2 × 1.6 | Not included | 60.288 KG | 63.303 KG (5% scrap, rounded up) | | Özel Ölçü | not entered | Not included | Error | The sales line is not saved | In the last row the window shows two warnings: `Satış satırı bu değerlerle kaydedilemez: 'Kabin Eni' özelliğinin değeri girilmemiş.` (The sales line cannot be saved with these values: no value has been entered for the characteristic 'Kabin Eni'.) and `2. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (KABIN_EN * KABIN_BOY * 2 * 15.7).` (The quantity formula of line 2 is unknown — one of the values it reads is not in the configuration.) ### Example 10 — Fixed + characteristic-dependent count (terminal blocks) {#ornek-10} **Requirement:** 4 terminal blocks per output, plus 2 extra for ground. **Characteristic:** `CIKIS_SAYISI` (number of outputs; Tam Sayı (Integer), 1–24). **Line:** HAM-0014 Klemens (terminal block), ADET, **Miktar** `2`, formula `4 * CIKIS_SAYISI`. | CIKIS_SAYISI | Result | |---|---| | 4 | 18 ADET | | 6 | 26 ADET | | 14 | 58 ADET | | 20 | 82 ADET | The same result is obtained with the **Özellik × katsayı** (Characteristic × coefficient) mode: characteristic **Çıkış Sayısı** (Number of Outputs), coefficient `4`, Miktar `2`. ### Example 11 — Tiered quantity (cable) {#ornek-11} **Requirement:** 3 m of cable per output for the first 6 outputs, 2 m for the rest. **Line:** HAM-0024 Kablo NYAF 2,5 mm² (cable NYAF 2.5 mm²), M, **Miktar** `0`, formula `EGER(CIKIS_SAYISI <= 6, 3 * CIKIS_SAYISI, 18 + 2 * (CIKIS_SAYISI - 6))`. | CIKIS_SAYISI | Result | |---|---| | 4 | 12 M | | 6 | 18 M | | 14 | 34 M | | 20 | 46 M | For three tiers, nest `EGER`: `EGER(X <= 6, …, EGER(X <= 12, …, …))`. ### Example 12 — EGER protecting a characteristic that is not asked (DIN rail) {#ornek-12} **Requirement:** 1.2 m of rail in the standard cabinet; for a custom size, width × 2, rounded up to the half meter. **Line:** HAM-0021 DIN ray (DIN rail), M, **Miktar** `0`, formula `EGER(KABIN = 'STD', 1.2, YUKARIYUVARLA(KABIN_EN * 2, 0.5))`. | Kabin | KABIN_EN | Result | |---|---|---| | Standart | not asked | 1.2 M | | Özel Ölçü | 1.2 | 2.5 M (2.4 → 2.5) | `EGER` evaluates only the selected branch: in the standard cabinet no error occurs even though `KABIN_EN` is unknown. **Common mistake:** `YUKARIYUVARLA(KABIN_EN * 2, 0.5)` on its own — in the standard cabinet it is unknown and the order is not opened. ### Example 13 — VEYA and its complement with DEĞİL (PLC or relay module) {#ornek-13} **Requirement:** PLC module in the professional series or with more than 12 outputs, relay module otherwise. **Lines:** YM-0009 PLC modülü (PLC module) — `SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12`; YM-0008 Röle modülü (relay module) — `DEĞİL (SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12)`. | Şalt Serisi (Switchgear Series) | CIKIS_SAYISI | YM-0009 | YM-0008 | |---|---|---|---| | Ekonomik (Economy) | 6 | Not included | 1 ADET | | Ekonomik (Economy) | 14 | 1 ADET | Not included | | Profesyonel (Professional) | 4 | 1 ADET | Not included | Writing the complement with `DEĞİL ( … )` guarantees that the two lines never overlap and that no value is left uncovered. **Common mistake:** `DEĞİL SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12` without parentheses — `DEĞİL` applies only to the first comparison. ### Example 14 — Short-circuit of VE (panel fan) {#ornek-14} **Requirement:** A fan for a custom cabinet larger than 1.5 m². **Line:** HAM-0019 Pano fanı (panel fan) — `KABIN = 'OZEL_OLCU' VE KABIN_EN * KABIN_BOY > 1.5`. | Kabin | Width × Length | Result | |---|---|---| | Standart | not asked | Not included — `koşul Hayır` (condition No; even though the size is unknown) | | Özel Ölçü | 1.2 × 1.6 = 1.92 | 1 ADET | `HAYIR VE ?` returns No; that is why the standard cabinet shows a plain "No" instead of "value not entered". ### Example 15 — Characteristic × coefficient mode (circuit breaker) {#ornek-15} **Requirement:** One circuit breaker per output. **Line:** HAM-0008 Sigorta otomat C10 (circuit breaker C10), ADET, **Miktar** `0`, mode **Özellik × katsayı** (Characteristic × coefficient): characteristic **Çıkış Sayısı** (Number of Outputs), coefficient `1`. | CIKIS_SAYISI | Result (calculation shown in Try) | |---|---| | 6 | 6 ADET (`1 × Çıkış Sayısı (6) = 6`) | | 14 | 14 ADET | In **İfade** (Expression) mode, `1 * CIKIS_SAYISI` gives the same result. In Characteristic × coefficient mode the coefficient must be greater than zero (`Formül katsayısı sıfırdan büyük olmalıdır.` — The formula coefficient must be greater than zero.); the mode and an expression cannot be used together (`Miktar ya özellik × katsayı ya da ifadeli formülle hesaplanır — ikisi birden olmaz.` — The quantity is calculated either with characteristic × coefficient or with an expression formula — not both.). ### Example 16 — Quantity with a lower limit (busbar) {#ornek-16} **Requirement:** In the professional series, 5 cm of busbar per output, at least 0.6 m. **Line:** HAM-0020 Bakır bara (copper busbar), M — option condition **Şalt Serisi: Profesyonel** (Switchgear Series: Professional), **Miktar** `0`, formula `MAX(0.6, CIKIS_SAYISI * 0.05)`. | Şalt Serisi (Switchgear Series) | CIKIS_SAYISI | Result | |---|---|---| | Profesyonel (Professional) | 4 | 0.6 M | | Profesyonel (Professional) | 20 | 1 M | | Ekonomik (Economy) | 14 | Not included | For an upper limit use `MIN(upper, …)`; for both, `MIN(upper, MAX(lower, …))`. ### Example 17 — Recipe proportional to the batch quantity (chemicals) {#ornek-17} **Requirement:** Raw materials in proportion to how many kg one batch (1 ADET) produces; salt rounded to one decimal. **Characteristic:** `PARTI_KG` (batch kg; Ondalık (Decimal), kg, 100–2000, step 50). **Lines:** HAM-0070 SLES — `PARTI_KG * 0.12`; HAM-0071 Tuz (salt) — `YUVARLA(PARTI_KG * 0.015, 1)`; HAM-0075 Saf su (purified water) — `PARTI_KG * 0.865` (all with **Miktar** `0`). | PARTI_KG | SLES | Salt | Water | |---|---|---|---| | 500 | 60 KG | 7.5 KG | 432.5 KG | | 1250 | 150 KG | 18.8 KG (18.75 → 18.8) | 1081.25 KG | > **Proportional scaling does not require a formula** For a recipe that only grows proportionally, set the BOM's **Temel Miktar** (Base Quantity) to the batch (e.g. 1000 KG) and enter the order quantity as the kg to be produced; every line scales with the order quantity automatically. A formula is needed for the **non-proportional** part: a rounded packaging count, an option-dependent additive. ### Example 18 — Packaging count and cartons (packing) {#ornek-18} **Requirement:** 5 L canister (5.2 kg fill) or 1 L bottle (1.04 kg); canisters go into cartons of 4, bottles into cartons of 12. **Characteristic:** `AMBALAJ` (packaging; Seçim (Selection): **5 L bidon** (5 L canister) `B5L`, **1 L şişe** (1 L bottle) `S1L`). **Lines** (all with **Miktar** `0`): | Line | Option condition | Formula | |---|---|---| | AMB-0001 Bidon 5 LT (canister 5 L) | Ambalaj: 5 L bidon | `TAVAN(PARTI_KG / 5.2)` | | AMB-0004 Bidon kapağı (canister cap) | Ambalaj: 5 L bidon | `TAVAN(PARTI_KG / 5.2)` | | AMB-0007 Koli 4'lü (carton of 4) | Ambalaj: 5 L bidon | `TAVAN(TAVAN(PARTI_KG / 5.2) / 4)` | | AMB-0002 Şişe 1 LT (bottle 1 L) | Ambalaj: 1 L şişe | `TAVAN(PARTI_KG / 1.04)` | | AMB-0008 Koli 12'li (carton of 12) | Ambalaj: 1 L şişe | `TAVAN(TAVAN(PARTI_KG / 1.04) / 12)` | | PARTI_KG | Ambalaj (Packaging) | Canister | Cap | Carton of 4 | Bottle | Carton of 12 | |---|---|---|---|---|---|---| | 500 | 5 L bidon | 97 | 97 | 25 | Not included | Not included | | 1250 | 1 L şişe | Not included | Not included | Not included | 1202 | 101 | **Common mistake:** Writing the carton count as `TAVAN(PARTI_KG / 5.2 / 4)` — dividing into cartons before rounding the canisters to a whole number can result in too few cartons. Use nested `TAVAN`. ### Example 19 — Option-dependent additive (fragrance) {#ornek-19} **Line:** HAM-0072 Parfüm (fragrance), KG, **Miktar** `0`, expression condition `PARFUM = EVET`, formula `PARTI_KG * 0.003`. | PARTI_KG | PARFUM | Result | |---|---|---| | 1250 | Yes | 3.75 KG | | 500 | not entered | Not included — `koşulun okuduğu değer girilmedi: PARFUM = EVET` (the value read by the condition was not entered) | ### Example 20 — Panel area and color by dimensions (cabinet) {#ornek-20} **Requirement:** Body: two sides (height × 60 cm depth), top, bottom and one shelf every 40 cm (width × 60 cm); the color selects the panel item. 10% cutting scrap. **Characteristics:** `GEN_CM`, `YUK_CM` (width, height; Tam Sayı (Integer), cm), `RENK` (color; Seçim (Selection)), `KAPAK` (door; Seçim (Selection)). **Lines:** HAM-0038 / HAM-0039 / HAM-0040 Melamin sunta Beyaz / Ceviz / Antrasit (melamine chipboard White / Walnut / Anthracite), M2, **Bileşen firesi** (Component scrap) 10% — option condition **Renk: Beyaz** / **Ceviz** / **Antrasit**, **Miktar** `0`, formula `(2 * YUK_CM * 60 + (TABAN(YUK_CM / 40) + 1) * GEN_CM * 60) / 10000`. | Width × Height | Renk (Color) | Line included | Result | |---|---|---|---| | 120 × 200 | Ceviz (Walnut) | HAM-0039 | 6.72 M2 | | 180 × 160 | Beyaz (White) | HAM-0038 | 7.32 M2 | Use `/ 10000` for cm² → m². Back panel (HAM-0041 MDF) `GEN_CM * YUK_CM / 10000`: 120 × 200 → 2.4 M2. ### Example 21 — Hinges by number of doors and height (cabinet) {#ornek-21} **Lines:** HAM-0045 Menteşe (hinge) — option condition **Kapak Tipi: Menteşeli** (Door Type: Hinged), formula `EGER(YUK_CM > 180, 4, 3) * TAVAN(GEN_CM / 60)`; HAM-0046 Kulp (handle) — no condition, formula `EGER(KAPAK = 'SURGULU', 2, TAVAN(GEN_CM / 60))`; HAM-0033 Profil (sürgü rayı) (profile, sliding rail) — **Kapak Tipi: Sürgülü** (Door Type: Sliding), formula `2 * GEN_CM / 100`; HAM-0049 Ayar ayağı (leveling foot) — `EGER(GEN_CM > 120, 6, 4)`. | Width × Height | Kapak (Door) | Hinge | Handle | Rail | Foot | |---|---|---|---|---|---| | 120 × 200 | Menteşeli (Hinged) | 8 | 2 | Not included | 4 | | 180 × 160 | Sürgülü (Sliding) | Not included | 2 | 3.6 M | 6 | ### Example 22 — BOM with option conditions only (office desk, MAM-0003) {#ornek-22} A product that needs no formula, where the quantity of every combination is fixed: the panel item is selected from the combination of **Renk** (Color) × **Masa Genişliği** (Desk Width) (nine lines, each with one value on each of two characteristics); the edge band reads only the color. | Masa Genişliği (Desk Width) | Renk (Color) | Kablo Kanalı (Cable Duct) | Panel included | Band | Duct | |---|---|---|---|---|---| | 140 cm | Beyaz (White) | Var (Yes) | HAM-0038 1.47 M2 (`Renk Beyaz, Masa Genişliği 140 cm`) | HAM-0042 6 M | HAM-0048 1 ADET | ### Example 23 — The same item on two mutually exclusive lines (tank, MAM-0006) {#ornek-23} HAM-0031 3 mm sheet is on two lines: **Tank Hacmi: 2.000 L** (Tank Volume: 2,000 L) → 290 KG, **Tank Hacmi: 5.000 L** (Tank Volume: 5,000 L) → 560 KG. This is allowed because the conditions on the same characteristic do not overlap. HAM-0034 pipe is on a single line with **1.000 L / 2.000 L** (OR) → 4 M. | Tank Hacmi (Tank Volume) | Karıştırıcı (Agitator) | HAM-0031 | HAM-0034 | HAM-0059 / HAM-0060 | |---|---|---|---|---| | 2.000 L | Var (Yes) | 290 KG | 4 M | 1 / 1 ADET | ### Example 24 — Super routing: duration and operation selection (conveyor) {#ornek-24} The routing of DMO-KSL-01; durations on order **UE-2026-000009**, opened with BOY 12.5, Bant Tipi (Belt Type) PVC and Koruma (Protection) Yes: | Op. | Operation | Rule | Duration on the order | |---|---|---|---| | 10 | Profil kesim (profile cutting) | Machine formula `2 * BOY * 0.8` (setup 10, labor 5 fixed) | Machine 20 min | | 20 | Şase ve makara montajı (chassis and roller assembly) | Labor formula `30 + 6 * BOY` | 105 min | | 30 | Bant montajı ve gerdirme (belt assembly and tensioning) | Labor formula `EGER(BANT_TIPI = 'PU', 40, 25) + 2 * BOY` | 50 min | | 40 | Koruma kapağı montajı (protective cover assembly) | Selection condition `KORUMA = EVET`, labor `3 * BOY` | 37.5 min | | 50 | Motor bağlantısı (motor connection) | Fixed 30 | 30 min | | 60 | Çalışma testi (operating test) | Labor `EGER(BOY > 10, 30, 20)` | 30 min | In the panel routing (DMO-KSL-02), the labor of the cabinet fabrication included with `KABIN = 'OZEL_OLCU'` is `60 + 40 * KABIN_EN * KABIN_BOY` → 136.8 min for 1.2 × 1.6 m; `20 + 8 * CIKIS_SAYISI` → 132 min for 14 outputs; the PLC programming operation is included with `SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12` (UE-2026-000010). ### Example 25 — Constraint (disallowed combination) {#ornek-25} **Requirement:** The PU food-grade belt is produced at most 20 m long. **Rule:** **Sınır koy** (Set a limit), expression `BANT_TIPI <> 'PU' VEYA BOY <= 20`, message `PU gıda bandı en çok 20 m boyda üretilir.` (The PU food-grade belt is produced at most 20 m long.) | Bant Tipi (Belt Type) | BOY | Result | |---|---|---| | PU | 24 | The sales line is not saved — `PU gıda bandı en çok 20 m boyda üretilir.` | | PU | 12.5 | Passes | | PVC | 24 | Passes | An out-of-range value does not need a constraint; the characteristic's **En az / En çok / Adım** (Minimum / Maximum / Step) fields check it: `'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım).` (The value of 'Boy' is not within the allowed range (2–30 m, step 0.5 m).) (BOY 31 or 6.3). ## Checklist for writing rules 1. Write **whether** the line is included with a condition and its **quantity** with a formula; do not combine the two inside `EGER(…, …, 0)`. 2. On a formula line, fill in the **Miktar** (Quantity) field deliberately (usually `0`). 3. Write option codes in single quotes and Yes/No without quotes; use a dot as the decimal separator. 4. Build rules that read optional characteristics and characteristics with preconditions for the "no value" case (`DOLU`, `EGER`). 5. Write limits so that they cover every value: one side `<=`, the other `>`; for the complement use `DEĞİL ( … )`. 6. If the same item is needed on two lines, set up the conditions so that they exclude each other **by option**; an expression condition is not enough. 7. Before saving, use **Sına** (Test); after saving, use **Yapılandırarak Dene** (Try by Configuring) to try the extreme values (smallest, largest, both sides of a limit, optional field blank). ## Related - [Define a line rule](https://erpdocs.corexlogic.com/en/uretim/islemler/satir-kurali-tanimlama) - [Try by configuring](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme) - [Define a precondition](https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama) - [Write a super routing rule](https://erpdocs.corexlogic.com/en/uretim/islemler/super-rota-kurali-yazma) - [Configurable products](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler) - [Order to production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) --- # Production orders > Production order list and order details — statuses, what can be done in each status, tabs, consumption/output/confirmation and stock effects. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri A production order is a work order that states **with which BOM revision** and **in what quantity** a product is to be produced. The order is created as a draft; when it is **released**, its material requirements and operations are frozen; then material is consumed on the shop floor, operations are confirmed, the finished product enters stock as output, the order is completed and, finally, closed for good. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Üretim Emirleri · Üretim Emri Oluştur (Production › Production Execution › Production Orders · Create Production Order) - **Screen route:** `/erp/manufacturing/orders` - **Required permission:** `erp-manufacturing-orders.view (görme) · .create (oluşturma) · .edit (düzenleme, yayınlama, tamamlama, kapatma, iptal)`, `erp-manufacturing-postings.view · .create (sarf, çıktı, operasyon teyidi)`, `erp-manufacturing-corrections.view · .create (sarf ve çıktı düzeltmesi)` > **Plan and actuals are read separately** The order status is not derived from the quantity produced. Even if the full planned quantity is produced, the order does not automatically become **Tamamlandı** (Completed); completion is a separate command. Conversely, an order that falls short of the plan can also be completed. ## List **Üretim › Üretim Yürütme › Üretim Emirleri** (Production › Production Execution › Production Orders) shows all orders. ![Production Orders list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-listesi.png) 1. New order from a bill of materials 2. Order without BOM — components typed in 3. Status and work center filters 4. Planned and produced quantities side by side 5. Click the number to open the order | Column | Meaning | |---|---| | **Emir No** (Order No.) | `UE-yyyy-nnnnnn`. Clicking it opens the order details. | | **Üretilen Ürün** (Product Produced) | The output item's code and name. | | **Durum** (Status) | One of the six statuses below. | | **Planlanan** · **Üretilen** (Planned · Produced) | The order's planned quantity and the quantity for which output has been posted so far (in the output unit). | | **Revizyon** (Revision) | The BOM revision the order is based on; an order without a BOM shows **Ağaçsız** (Without BOM). | | **İş Merkezi** (Work Center) | The work center the order is planned for; if not entered, **Kaydedilmedi** (Not recorded). | | **Planlanan Bitiş** · **Yayın Tarihi** (Planned End · Release Date) | The planning date and the day the order was released. | - The **Ara** (Search), **İş Merkezi** (Work Center) and **Durum** (Status) filters narrow the list. - **Yeni Üretim Emri** (New Production Order) creates an order from a BOM: [Create a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emri-olusturma). - **Ağaçsız Emir** (Order Without BOM) creates an order for an item that has no BOM; you enter the components yourself, and the components are not scaled when the quantity changes. - You can select draft orders in the list and release them in bulk with **Yayınla** (Release). The other lifecycle commands are not in the list; they are performed in the order details. ## Statuses and available actions The step line at the top of the order shows the sequence **Taslak → Yayınlandı → Üretimde → Tamamlandı → Kapatıldı** (Draft → Released → In Production → Completed → Closed) and the date of each step. **İptal** (Cancelled) is a separate end state. | Status | What it means | Buttons in the details | |---|---|---| | **Taslak** (Draft) | The order has been saved; no requirements or operations. No stock effect. | **Düzenle** (Edit), **Yayınla** (Release), **Böl** (Split), **Tarihleri Planla** (Schedule Dates), **Malzeme Talebi** (Material Requisition), **İptal Et** (Cancel) | | **Yayınlandı** (Released) | Requirements were copied from the revision and operations from the routing, and frozen. No physical postings yet. | **Sarf Kaydet** (Post Consumption), **Çıktı Kaydet** (Post Output), **Teyit Gir** (Enter Confirmation; on an order with operations), **Malzeme Hazırla** (Stage Material), **Malzeme Talebi** (Material Requisition), **Böl** (Split), **Tarihleri Planla** (Schedule Dates), **İptal Et** (Cancel) | | **Üretimde** (In Production) | The first physical posting (consumption, output or confirmation) has been made. | **Sarf Kaydet** (Post Consumption), **Çıktı Kaydet** (Post Output), **Teyit Gir** (Enter Confirmation), **Malzeme Hazırla** (Stage Material), **Malzeme Talebi** (Material Requisition), **Tarihleri Planla** (Schedule Dates), **Tamamla** (Complete; conditional), **İptal Et** (Cancel) | | **Tamamlandı** (Completed) | Production has finished. New consumption, output and confirmations are not accepted; past postings can be corrected. | **Kesin Kapat** (Close Finally) | | **Kapatıldı** (Closed) | The order is closed for good. No postings can be made, including consumption, output, confirmations and **their corrections**. Irreversible. | None (read-only) | | **İptal** (Cancelled) | The order was cancelled; it cannot be reopened. | None | - There is no button that moves an order from **Yayınlandı** (Released) to **Üretimde** (In Production): the order becomes **Üretimde** automatically with the first consumption, output or confirmation. - **Tamamla** (Complete) is shown only on an order in **Üretimde** status for which at least one **output** and at least one **material consumption** have been posted. If there is output but no consumption, the button is replaced by "Tamamlamak için en az bir malzeme sarfı gerekir." (At least one material consumption is required to complete.) Incomplete consumption (falling short of the plan) does not prevent completion. - If the order has an **open failed backflush**, the server rejects completion: first retry it or close it with a reason on the [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) screen. - **İptal Et** (Cancel) is available on draft, released and in-production orders; if there is consumption or output that has not been reversed, the server rejects it — make a [correction](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme) first. - Buttons are shown according to permissions: lifecycle commands require `erp-manufacturing-orders.edit`, and consumption/output/confirmation require `erp-manufacturing-postings.create`; neither includes the other. ## Order details ![Released order — linked to a sales order, configured](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-yayinlandi.png) 1. Linked sales order — output reserved for this item 2. Post Consumption 3. Post Output 4. Enter Confirmation — operation confirmation 5. Configuration from the sales order 6. Availability — missing quantity The header shows the order number, status badge, output item and revision. If the order was opened from a sales order, the line **Satış siparişi SS-… · müşteri (stok tahsisli)** (Sales order SS-… · customer (stock allocated)) appears below it: when the output enters stock, it is allocated to that sales order item and cannot be shipped on another document. Summary boxes: | Box | Content | |---|---| | **Planlanan** (Planned) | The planned quantity. | | **Üretilen** (Produced) | The quantity for which output was posted, and a percentage bar. | | **Planlanan Başlangıç · Bitiş** (Planned Start · End) | The dates entered with **Tarihleri Planla** (Schedule Dates); otherwise **Planlanmadı** (Not scheduled). | | **Malzeme** (Material) | On a released order: **Hazır** (Ready; "Açık gereksinimler stokla karşılanıyor" — open requirements are covered from stock) or "**n kalem eksik**" (n items missing). | | **Plan Kaynağı** (Plan Source) | BOM and revision (`#25 · Rev 1`). | | **Yapılandırma** (Configuration) | Only for a configurable product: the characteristic values from the sales order (e.g. **Tank Hacmi 2.000 L** (Tank Volume 2,000 L), **Karıştırıcı Var** (Agitator: Yes)). | ### Tabs | Tab | What it shows | |---|---| | **Malzeme Gereksinimleri** (Material Requirements) | The component list frozen at release: **Sıra** (Seq.), **Malzeme** (Material), **Planlanan** (Planned), **Tüketilen** (Consumed), **Birim** (Unit), **Kullanılabilirlik** (Availability; Hazır / Eksik n — Beklenen tedarik, Ready / Missing n — Expected supply). A component flagged for backflush shows **Geri sarf** (Backflush) below it. Empty on a draft order. | | **Operasyonlar** (Operations) | Operations copied from the routing: **Operasyon** (Operation), **Açıklama** (Description), **İş merkezi** (Work center), **Kontrol** (Control), **Miktar** (Quantity), **Hazırlık** (Setup), **Makine** (Machine), **İşçilik** (Labor), **Plan. tarih** (Planned date), **Sağlam / fire** (Good / scrap), **Fiili süre** (Actual time) and **Teyit gir** (Enter confirmation) on the row. Machine and labor times are scaled by the order quantity; setup is fixed. | | **Malzeme Sarfları** (Material Consumptions) | The order's consumption documents (`MS-…`). | | **Üretim Çıktıları** (Production Outputs) | The order's output documents (`UC-…`). | | **Maliyet** (Cost) | The order's cost summary (with the cost view permission). | | **Ekler** (Attachments) | Files attached to the order. | ![Order in production — operations tab](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-uretimde.png) 1. Operations — plan copied from the routing 2. Confirmed yield and scrap 3. Actual time from confirmations 4. Complete — when output and consumption exist > **How the requirement quantity is calculated** Requirement = BOM line quantity × (planned quantity ÷ base output quantity of the BOM) × (1 + component scrap / 100), rounded **up** to the decimal precision of the unit. Example: on **UE-2026-000001**, 3 ADET (pieces) of MAM-0010 were planned; the BOM has HAM-0030 18 KG with 5% scrap → 18 × 3 × 1.05 = **56.7 KG**. For a configurable product, only the lines whose condition is met are included and formula quantities are calculated: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). ### Other buttons | Button | What it does | |---|---| | **Çıktı** (Print) | Print output of the order (PDF). | | **Böl** (Split) | On a draft or released order, splits part of the quantity off into a **new draft order** with the same BOM and dates. On a released order, the requirements and operations are scaled to the remaining quantity. An order with consumption, output, confirmations, an external processing requisition or by-product receipts, an order without a BOM and a linked sub-order cannot be split. | | **Tarihleri Planla** (Schedule Dates) | **Planlanan başlangıç** (Planned start) and **Planlanan bitiş** (Planned end). Does not post stock; MRP writes the component requirements to the start date and the output to the end date. | | **Malzeme Hazırla** (Stage Material) | Opens a transfer reservation from the source warehouse to the work center's **supply warehouse**; the warehouse picks the goods from the reservation. Only on released/in-production orders. | | **Malzeme Talebi** (Material Requisition) | Opens the purchase requisition form with this order preselected (`erp-procurement-requisitions.create`). | | **Dış İşlem Talebi Aç** (Open External Processing Requisition) | Shown on an order with an external processing (subcontracting) operation if the requisition could not be opened at release. | If a released order has a requirement for a semi-finished product with the **make-to-order** strategy, the **Alt Emirler** (Sub-Orders) card appears in the details: [Sub-order proposal](https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi). ## Stock effects — summary | Posting | Stock effect | |---|---| | Creating, releasing an order | None. Does not allocate material or make reservations; release only freezes the requirement list. | | **Sarf Kaydet** (Post Consumption) | The component is **issued immediately** from the selected warehouse/storage location/stock status. | | **Teyit Gir** (Enter Confirmation) | Does not post stock; records the operation's good/scrap quantity and times. | | **Çıktı Kaydet** (Post Output) | The finished product **enters** the selected warehouse; components flagged for backflush are issued at the same time with a separate consumption document. On an order linked to a sales order, the finished product enters stock allocated to that sales order item. | | **Tamamla** (Complete) | Does not post new stock; stock allocated to this order from sub-orders and not consumed is released. | | Correction | A consumption correction returns the component to stock; an output correction removes the finished product from stock. | ## Common messages | Message (from the server, verbatim) | English meaning | Cause / what to do | |---|---|---| | Yalnız Taslak durumundaki üretim emri yayınlanabilir. | Only a production order in Draft status can be released. | The order is already released or closed. | | Üretim emri en az bir malzeme gereksinimi olmadan yayınlanamaz. | A production order cannot be released without at least one material requirement. | The order without a BOM has no components, or the BOM is empty. | | 'AMB-0007' için gereksinim (12,5000000000), 'ADET' biriminin 0 ondalık basamak sınırını aşıyor. Sessiz yuvarlama yapılmaz. | The requirement for 'AMB-0007' (12.5000000000) exceeds the 0-decimal limit of the unit 'ADET'. No silent rounding is done. | The planned quantity produces a fraction for a piece-counted component. Make the quantity a multiple of the BOM's base quantity (e.g. 100 instead of 50 for MAM-0008). | | Rotanın '…' iş merkezi pasif — emir yayınlanamaz; rotayı düzeltin. | Work center '…' of the routing is inactive — the order cannot be released; correct the routing. | A work center in the routing is inactive. | | Seçili ürün ağacı revizyonu artık geçerli değil. Taslakta revizyonu yeniden seçin. | The selected BOM revision is no longer valid. Select the revision again in the draft. | The revision's validity changed. | | Yalnız Üretimde durumundaki üretim emri tamamlanabilir. | Only a production order in In Production status can be completed. | The order is still in Released status or is closed. | | Üretim çıktısı olmayan emir tamamlanamaz — önce çıktı kaydedin ya da emri iptal edin. | An order without production output cannot be completed — post output first or cancel the order. | No output. | | Malzeme sarfı olmayan emir tamamlanamaz — önce sarf kaydedin ya da emri iptal edin. | An order without material consumption cannot be completed — post consumption first or cancel the order. | No consumption. | | Emirde çözülmemiş 1 hatalı geri sarf var — tamamlamadan önce yeniden deneyin ya da gerekçeyle kapatın: 'HAM-0049' 8 ADET — … | The order has 1 unresolved failed backflush — retry it or close it with a reason before completing: 'HAM-0049' 8 pieces — … | Open failed backflush. | | Yalnız tamamlanmış üretim emri kesin kapatılabilir — önce emri tamamlayın. | Only a completed production order can be closed finally — complete the order first. | **Kesin Kapat** (Close Finally) only on a **Tamamlandı** (Completed) order. | | Emirde geri alınmamış malzeme sarfı var (…). İptalden önce sarf düzeltmesi yapılmalıdır. | The order has material consumption that has not been reversed (…). A consumption correction must be made before cancellation. | Correct the consumption before cancelling. | | Emirde geri alınmamış üretim çıktısı var (…). İptalden önce çıktı düzeltmesi yapılmalıdır. | The order has production output that has not been reversed (…). An output correction must be made before cancellation. | Correct the output before cancelling. | | İptal gerekçesi zorunludur. | A cancellation reason is required. | The reason is blank. | | Bu üretim emri bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin. | This production order was changed by another user in the meantime. Refresh the page and try again. | Someone else posted to the same order; use **Emri yeniden yükle** (Reload order). | ## Related - [Create a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emri-olusturma) · [Open a production order from a sales order](https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma) - [Release](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama) · [Material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) · [Operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) · [Production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) · [Complete and close](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) - [Order to production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) · [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Create a work center > Define a new work center (line, workshop, workbench) — code, type, supply warehouse, person responsible and shift capacity. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/is-merkezi-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › İş Merkezleri › Yeni İş Merkezi (Production › Master Data › Work Centers › New Work Center) - **Screen route:** `/erp/manufacturing/work-centers` - **Required permission:** `erp-manufacturing-work-centers.create` - **Prerequisites:** - If a supply warehouse will be used, the warehouse is defined and active. - If a parent work center will be selected, that work center is active. A work center is the place where the operations in a routing are performed. Its capacity is the calendar of the production plan and of the capacity load; the supply warehouse is the warehouse where the production order's material is staged and consumed. ## Steps 1. Open the **Üretim › Ana Veriler › İş Merkezleri** (Production › Master Data › Work Centers) screen and click **Yeni İş Merkezi** (New Work Center). 2. Enter the work center's name in the **Ad** (Name) field. The **Kod** (Code) is proposed from the name (upper case, Turkish characters simplified); overwrite it if necessary. 3. Select **Makine** (Machine), **İşçilik** (Labor) or **Diğer** (Other) from the **Tür** (Type) list. 4. If necessary, select the **Üst iş merkezi** (Parent work center), **Tesis** (Plant), **Besleme deposu** (Supply warehouse) and **Sorumlu** (Responsible); enter a **Açıklama** (Description) and **Sıra** (Sequence). 5. To define capacity, turn on the **Kapasite tanımlı** (Capacity defined) switch; enter **Vardiya** (Shift), **Mola (dk)** (Break, min), **Kullanım oranı (%)** (Utilization, %), **Bireysel kapasite** (Individual capacities) and **Çalışma günleri** (Working days). The **Günlük kapasite** (Daily capacity) is calculated. ![New Work Center dialog — with capacity](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/is-merkezi-olustur.png) 1. Code — suggested from name, unique 2. Type — Machine, Labour, Other 3. Supply warehouse — issues from here 4. Capacity defined 5. (Shift − break) × utilisation × units 6. Create 6. If there are several machines or workbenches of the same type, add each with a name and code using **Bireysel Kapasite Ekle** (Add Individual Capacity). 7. Click **Oluştur** (Create). **Result:** The work center is saved as **Aktif** (Active) and appears in the list; it can now be selected for [routing](https://erpdocs.corexlogic.com/en/uretim/islemler/rota-olusturma) operations. If capacity is defined, the [capacity load](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) uses this calendar. ## What you need to know - If no capacity is defined, planning assumes an 8-hour weekday for the work center; the capacity load does not show available time. - Daily capacity = (shift − break) × utilization × individual capacities. The break must be shorter than the shift, utilization must be greater than 0 and at most 100, and at least one working day must be selected. - If the shift end is before the start, the shift runs past midnight (night shift). - Work centers and individual capacities are not deleted; to take one out of use, turn off the **Aktif** (Active) switch. An inactive work center cannot be selected for a new routing or document; past orders are not affected. - Workstations, equipment and activity rates are added from the work center card: [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri). ## Related - [Work centers screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri) - [Create a routing](https://erpdocs.corexlogic.com/en/uretim/islemler/rota-olusturma) --- # Production operations > The shop floor's work list — operations of open orders without a final confirmation, per work center and machine; confirm from the row. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-operasyonlari This is the shop floor's daily work list: every operation of released and in-production orders that **has not received its final confirmation** is a row. The supervisor filters by their own work center, sees the next job and enters a confirmation from the row. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Üretim Operasyonları (Production › Production Execution › Production Operations) - **Screen route:** `/erp/manufacturing/operations` - **Required permission:** `erp-manufacturing-orders.view (liste)`, `erp-manufacturing-postings.create (Teyit Gir)` ![Production Operations — work list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/operasyon-listesi.png) 1. Work center filter 2. Only my work centers 3. Remaining quantity 4. Enter Confirmation — opens for this operation ## Columns | Column | Meaning | |---|---| | **Üretim emri** (Production order) | The order number (link to the order details). | | **Operasyon** (Operation) | Operation number and description (from the routing: 10 Sac ve boru kesim (sheet and tube cutting), 20 Büküm (bending)…). | | **İş merkezi** (Work center) | The operation's work center. | | **Tezgâh** (Machine) | The planned individual capacity (machine); blank if no machines are defined for the work center. | | **Planlanan** (Planned) | The planned quantity of the operation (the order quantity). | | **Sağlam / fire** (Good / scrap) | Good and scrap quantities confirmed so far. | | **Kalan** (Remaining) | Planned − (good + scrap). | | **Durum** (Status) | **Başlamadı** (Not started), **Kısmi teyit** (Partially confirmed) or **Son teyit** (Final confirmation). | **Teyit Gir** (Enter Confirmation) on the row opens the [Enter Operation Confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) form with the order and operation preselected. An operation that receives its final confirmation drops off the list. ## Filters - **Ara** (Search) — order number, product or operation text. - **İş Merkezi** (Work Center) — in work center hierarchy order; selecting a parent work center also brings its child work centers. When the work center changes, the machine filter is reset. - **Tezgâh** (Machine) — visible only in a setup with machines defined. - **Başlangıç** · **Bitiş** (Start · End) — the period that overlaps the operation's planned dates. - **Sorumlu olduğum iş merkezleri** (Work centers I am responsible for) — only jobs of the work centers you are responsible for. > **The plan, confirmation totals, remaining quantity and status come from the server; the screen does not calculate them.** The operation's planned dates come from **Tarihleri Planla** (Schedule Dates), [capacity planning](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) or finite scheduling. ## Related - [Operation confirmations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri) - [Enter an operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) --- # Create a routing > Create an operation plan (routing) or a master recipe for a produced card — work center, times, scrap; the first revision is created as a draft. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/rota-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Mühendisliği › Rota Oluştur (Production › Production Engineering › Create Routing) - **Screen route:** `/erp/manufacturing/routings/new` - **Required permission:** `erp-manufacturing-routings.create` - **Prerequisites:** - The output card is a produced (Üretim ürünü (Production item) flagged) and active card. - The work centers of the operations are defined and active ([Create a work center](https://erpdocs.corexlogic.com/en/uretim/islemler/is-merkezi-olusturma)). A routing defines the card's operations in sequence. Saving opens the first revision as a **draft**; it can be edited until it is released, and it does not change once released. ## Steps 1. Open the **Üretim › Üretim Mühendisliği › Rota Oluştur** (Production › Production Engineering › Create Routing) screen. For a process item, use **Ana Reçete Oluştur** (Create Master Recipe) (the form is the same). 2. Check the **Tür** (Type): **Rota** (Routing) or **Ana reçete** (Master recipe). The type cannot change after saving. 3. Open the **Çıktı kartı** (Output card) picker, type the code and select the card from the list. 4. If the card has another routing, this routing becomes the next alternative. Enter the **Rota adı** (Routing name) and, if necessary, the **Parti büyüklüğü** (Lot size) (minimum – maximum); an empty range means any quantity. 5. Enter the **Temel miktar** (Base quantity) (default 1). Machine and labor times apply to this quantity. 6. In the first operation row, enter a **Açıklama** (Description), select the **İş merkezi** (Work center), and enter the **Kontrol anahtarı** (Control key) (internal or external processing) and the **Hazırlık (dk)** (Setup, min), **Makine (dk)** (Machine, min), **İşçilik (dk)** (Labor, min) and **Fire (%)** (Scrap, %) values. ![Create Routing — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-olustur.png) 1. Type — fixed after saving 2. Output item — produced items only 3. Lot size — alternative selection 4. Internal or external (subcontract) 5. Minutes; machine/labour per base quantity 6. Add Operation — number +10 7. Save — revision 1 as draft 7. For the next operation, click **Operasyon Ekle** (Add Operation); the number is assigned in increments of 10. Fill in the rows the same way. 8. Click **Rotayı Kaydet** (Save Routing) (**Ana Reçeteyi Kaydet** (Save Master Recipe) for a master recipe). 9. Check the operations on the detail; when ready, click **Yayınla** (Release) and confirm with **Revizyonu Yayınla** (Release Revision). ![Routing detail — draft revision](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-detay.png) 1. Edit Draft 2. Release — with change number or from today 3. Routing name and lot size 4. Operation work center **Result:** The routing is saved as **Rev. 1 Taslak** (Draft). The draft is changed with **Taslağı Düzenle** (Edit Draft); it becomes final with **Yayınla** (Release), and from then on its operations are passed down to production orders released afterwards. In the demo environment, the draft routing **Alt. 2 · Demo — büyük parti hattı** (large lot line) (500–999 ADET (pcs)) was created for MAM-0010 with these steps. ## What you need to know - The operation number is between 1 and 9999 and unique within the routing; a routing has at least 1 and at most 99 operations. - The setup time is fixed; machine and labor times are per base quantity and scale with the quantity on the order. Times are 0 or positive, in minutes with at most two decimals. - For an **Dış işlem** (External processing, subcontracting) operation, a purchased service card is selected as the **Dış işlem hizmet kartı** (External processing service card). - To assign a tool/fixture (PRT), use the tool icon on the row (the maintenance module must be enabled). - In the routing of a configurable card, a selection condition and a time formula can be written for an operation: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). - Which routing alternative the order uses is determined by the [production version](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) or by the lot size. ## Related - [Routings and master recipes screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) - [Define a production version](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-versiyonu-tanimlama) --- # Operation confirmations > The list of operation confirmations and the Enter Operation Confirmation form — good quantity, scrap, rework, actual time, employees; cancelling a confirmation. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri An operation confirmation records **how many good units and how many scrapped units** came out of an operation and **how much time** was spent. A confirmation **does not post stock**: the finished product enters stock with [production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme), and components leave stock with [material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme). Confirmations are the source for capacity, the labor report, the scrap report, OEE and the order's activity cost. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Operasyon Teyitleri · Operasyon Teyidi Gir (Production › Production Execution › Operation Confirmations · Enter Operation Confirmation) - **Screen route:** `/erp/manufacturing/confirmations` - **Required permission:** `erp-manufacturing-postings.view (liste) · .create (teyit girme)`, `erp-manufacturing-corrections.create (teyit iptali)` ## List ![Operation Confirmations list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/teyit-listesi.png) 1. New confirmation 2. Include cancelled confirmations 3. Setup + machine + labor 4. Partial / Final / Cancelled | Column | Meaning | |---|---| | **Teyit** (Confirmation) | `TYD-yyyy-nnnnnn` and the confirmation date. | | **Üretim emri** (Production order) | Link to the order. | | **Operasyon** (Operation) | Operation number, description and work center. | | **Tezgâh** (Machine) | The machine the confirmation was posted to (if any). | | **Sağlam** · **Fire** (Good · Scrap) | The quantities of this confirmation. | | **Fiili süre** (Actual time) | Setup + machine + labor (minutes). | | **Durum** (Status) | **Kısmi** (Partial), **Son teyit** (Final confirmation) or **İptal edildi** (Cancelled). | | **Çalışanlar** · **Teyit eden** (Employees · Confirmed by) | The employees entered on the confirmation and the user who entered the record. | - Filters: **Ara** (Search), **Başlangıç** · **Bitiş** (Start · End), **Tezgâh** (Machine; in a setup with machines), **İptal edilenleri göster** (Show cancelled), **Sorumlu olduğum iş merkezleri** (Work centers I am responsible for). When opened from the order details, the list is narrowed to that order (**Tek emrin teyitleri**, Confirmations of a single order). - The row's **İşlemler** (Actions) menu has **İptal Et** (Cancel): the **Teyidi İptal Et — TYD-…** (Cancel Confirmation — TYD-…) window opens, and **Gerekçe** (Reason) is required. Cancellation reverses the operation's totals; if a final confirmation is cancelled, the operation is reopened. Cancellation is possible only for a confirmation of an order in **Yayınlandı** (Released), **Üretimde** (In Production) or **Tamamlandı** (Completed) status. ## Enter Operation Confirmation form ![Enter Operation Confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/teyit-gir.png) 1. Pick the operation — remaining = planned − (yield + scrap) 2. Yield quantity 3. Fill remaining 4. Scrap quantity 5. Actual times — server proposes when empty 6. Save Confirmation — no stock posting | Field | Rule | |---|---| | **Emir** (Order) | A released or in-production order. When opened via **Teyit Gir** (Enter Confirmation) in the order details or from the work list, it opens preselected. | | **Operasyon** (Operation; table) | The row to be confirmed. **Kalan = planlanan − (sağlam + fire)** (Remaining = planned − (good + scrap)). An operation with a final confirmation cannot be selected; to enter a new confirmation, first cancel the final confirmation. | | **Teyit tarihi** (Confirmation date) | Required; cannot be in the future and cannot be posted to a closed posting period. | | **Sağlam (birim)** (Good, unit) | The quantity that came out good. **Kalanı yaz** (Enter remaining) enters the remaining quantity. | | **Fire (birim)** (Scrap, unit) | The quantity scrapped. | | **Yeniden işlemeye (birim)** (To rework, unit) | Quantity not counted as good that is to be reworked. While some is pending, the **Yeniden işlenmiş pay** (Reworked portion) field appears. | | **Hazırlık (dk)** · **Makine (dk)** · **İşçilik (dk)** (Setup · Machine · Labor, min) | If left blank, the server proposes values: setup is the planned value on the operation's **first** confirmation; machine and labor are proportional to the quantity. The gray value is a preview of this proposal. | | **Tezgâh** (Machine) | Only if the operation's work center has active machines; the default is the planned machine. | | **Çalışanlar** (Employees) | Added with **Çalışan ekle** (Add employee). If the time is blank, the labor time is split equally among the employees; if entered, it is entered for each, and the total is the labor time. | | **Son teyit — operasyon kapanır** (Final confirmation — operation closes) | If ticked, the operation becomes **Son teyit** (Final confirmation) and drops off the work list. | | **Not** (Note) | Optional. | **Teyidi Kaydet** (Save Confirmation) posts the record; a line such as "**TYD-2026-000001 kaydedildi — operasyon 10, sağlam 3, fire 0 (son teyit).**" (TYD-2026-000001 saved — operation 10, good 3, scrap 0 (final confirmation).) appears below the form, and the form is cleared for the next confirmation. > **The confirmation of the last operation proposes the output** The production output form shows the good quantity confirmed on the last operation that has not yet been posted as output as **Son operasyonun teyidi** (Confirmation of last operation); **Öneriyi Uygula** (Apply Proposal) enters it in the quantity. A confirmation does not post output automatically. ## Common messages | Message | English meaning | Cause | |---|---|---| | Teyit edilecek operasyonu seçin. | Select the operation to confirm. | No row was selected in the table. | | Teyit tarihi zorunlu. · Teyit ileri tarihli olamaz. | The confirmation date is required. · A confirmation cannot be dated in the future. | The date is blank or after today. | | Teyit boş olamaz — miktar ya da süre girin. | A confirmation cannot be empty — enter a quantity or a time. | No field is filled in. | | Sağlam, fire ve yeniden işleme miktarı eksi olamaz. | Good, scrap and rework quantities cannot be negative. | Negative value. | | Yeniden işlenmiş miktar bu teyidin sağlam + firesini aşamaz. | The reworked quantity cannot exceed the good + scrap of this confirmation. | The portion is too large. | | Yeniden işleme bekleyen miktar var — son teyitten önce yeniden işlemeyi teyit edin. | There is quantity awaiting rework — confirm the rework before the final confirmation. | Final confirmation before rework is finished. | | Çalışanların süreleri toplamı işçilik süresine eşit olmalı. | The total of the employees' times must equal the labor time. | Employee times do not add up. | | Yalnız Yayınlandı ya da Üretimde durumundaki üretim emrine operasyon teyidi girilebilir. | Operation confirmations can be entered only for production orders in Released or In Production status. | The order is a draft, completed or closed. | | Operasyon \{n\} ara muayenesi (\{no\}) karar bekliyor — kullanım kararı verilmeden sonraki operasyon teyit edilemez. | The in-process inspection (\{no\}) of operation \{n\} is awaiting a decision — the next operation cannot be confirmed until a usage decision is made. | An in-process inspection decision is pending. | | Üretim emri bu arada değişti — bağlamı yenileyip yeniden deneyin. | The production order changed in the meantime — refresh the context and try again. | Someone else posted to the order; use **Bağlamı yenile** (Refresh context). | | İptal gerekçesi zorunlu. | A cancellation reason is required. | The reason in the cancellation window is blank. | ## Related - [Enter an operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme) - [Production operations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-operasyonlari) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) --- # Create a bill of materials > Create a bill of materials (recipe) for a produced card — base quantity, usage, material lines, scrap and backflush; draft revision 1 is opened. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağacı Oluştur (Production › Master Data › Create BOM) - **Screen route:** `/erp/manufacturing/boms/new` - **Required permission:** `erp-manufacturing-boms.create` - **Prerequisites:** - The output card is flagged "Üretim ürünü" (Production item) (semi-finished or finished product), is active and is not a service card. - The material cards are active and the units to be used can be converted to the base unit. A bill of materials is the card's recipe. A saved BOM is created with a **Taslak** (Draft) revision; releasing it is a separate operation. If the card already has a BOM for this usage, the new BOM becomes the **next alternative**. ## Steps 1. Open the **Üretim › Ana Veriler › Ürün Ağacı Oluştur** (Production › Master Data › Create BOM) screen or click **Yeni Ürün Ağacı** (New BOM) in the **Ürün Ağaçları** (Bills of Materials) list. 2. Type the card's code in the **Çıktı Kartı** (Output Card) field and press `Enter`, select the card from the list and press `Enter` again (`F4` or the magnifier opens the list). 3. Enter the **Temel Miktar** (Base Quantity) and its unit. Line quantities apply to this output quantity (e.g. 1 ADET (pc) or 100 ADET). 4. If there is a loss of finished product in the process, enter the **Montaj Firesi (%)** (Assembly Scrap, %); all components are increased by this percentage. 5. Select the **Kullanım** (Usage): **Üretim** (Production) for actual production, **Mühendislik** (Engineering) for the design phase. If necessary, enter an **Alternatif adı** (Alternative name) and **Parti büyüklüğü** (Lot size). 6. Click **Malzeme Ekle** (Add Material), check the required cards in the window and add them; each card becomes a separate line. To enter by typing a code, use **Boş Satır** (Empty Line). 7. On each line, enter the **Miktar** (Quantity) and **Birim** (Unit); if necessary, enter the **Bileşen firesi (%)** (Component scrap, %) and check **Geri sarf** (Backflush) for consumables to be deducted automatically with the output. ![Create Bill of Material — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-olustur.png) 1. Output item — produced items only 2. Base quantity — line quantities refer to it 3. Usage — Production or Engineering 4. Add Material — pick several items 5. Component scrap (%) 6. Backflush — consumed automatically with output 7. Save — draft revision 1 is created 8. If an equivalent card can be used, add an alternative with **Ekle** (Add) in the line's **Alternatif** (Alternative) column and select the **Strateji** (Strategy) (**Öncelik** (Priority) or **Kullanım olasılığı** (Usage probability)). 9. If a by-product or co-product arises together with the order's output, add it with **Yan / Ortak Ürün Ekle** (Add By-Product / Co-Product). 10. Click **Ürün Ağacını Kaydet** (Save BOM). **Result:** The BOM is saved with **draft revision 1** and its detail opens. A draft is not used in planning or on orders; to use it, [release the BOM](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama). In the demo environment, BOM #49 (Alt. 1 · Demo tasarım ağacı (Demo design BOM)) with **Mühendislik** (Engineering) usage was created for MAM-0010 with these steps. ## What you need to know - When the order is released, the requirement is scaled as `satır miktarı × planlanan miktar / temel miktar` (line quantity × planned quantity / base quantity); component scrap increases it by `(1 + fire/100)` (1 + scrap/100), and the result is rounded up to the unit's precision. - A card can appear in the BOM only once, either as primary or as alternative; the BOM's own output card cannot be a material. - For a serial-managed output, the base quantity must be an integer; for a serial-managed component, the material quantity must be an integer. - A backflushed component is consumed in the planned proportion when the output is posted; a serial-managed component is not backflushed. - Before saving, the form is validated on the server for item eligibility, unit conversion and cycles; if there is an error, the **Ürün ağacı kaydedilemedi** (BOM could not be saved) summary lists the incorrect fields. - If the output card is configurable, conditions and formulas are written on the lines: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). ## Related - [Bills of materials screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Release a BOM](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) - [Open a BOM revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma) --- # Failed backflushes > The queue of components that could not be backflushed at output — causes, Retry and Close; an open record blocks completion of the order. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar **Backflush** (geri sarf) means that a component flagged in the BOM is issued automatically **together with the output**, without a separate consumption posting (small materials such as screws, rivets, labels). If a component cannot be issued when output is posted, **the output is not reversed**; the component goes into this queue and waits until it is resolved. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Hatalı Geri Sarflar (Production › Production Execution › Failed Backflushes) - **Screen route:** `/erp/manufacturing/backflush-failures` - **Required permission:** `erp-manufacturing-postings.view (liste) · .create (Yeniden Dene)`, `erp-manufacturing-corrections.create (Kapat)` ![Backflush Errors — open record](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/geri-sarf-listesi.png) 1. Order whose output was posted 2. Error — why the backflush failed 3. Retry — with another warehouse or stock status 4. Close — with a reason, no consumption ## How backflush works - Quantity to issue = planned quantity of the requirement × (total produced ÷ planned quantity of the order) − quantity consumed so far (rounded up to the precision of the unit). Manual consumption is not counted twice. Example: on **UE-2026-000008**, planned for 2 ADET (pieces), the leveling foot requirement is 8 ADET; 1 ADET output, no consumption → **4 ADET** backflushed. - The component is issued from the **Geri sarf deposu** (Backflush warehouse) **in the output form**; if it is left blank, the warehouse of the first output line is used. If the stock status is blank, the default status (SIFIR, new). - A batch-managed component is issued with the FEFO proposal. A component without batch management: if the warehouse requires a storage location, from the item's **default storage location** in that warehouse; otherwise from stock **without a storage location**. - A serial-number-managed component is not backflushed; it must be consumed manually. - A successful backflush is recorded as a separate **material consumption document** on the order's **Malzeme Sarfları** (Material Consumptions) tab. > **Watch out for stock in storage locations** If the component's stock is in a storage location and the backflush warehouse does not require storage locations, the backflush looks at stock without a storage location and returns a "yeterli stok yok" (insufficient stock) error. Either define a **default storage location** in the item's warehouse data, or issue the component manually with a [material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) and close the record with a reason. In the demo example, HAM-0049 was in HAMMADDE / RAF-C; the backflush reported "Mevcut: 0" (Available: 0). ## Columns and filters | Column | Meaning | |---|---| | **Üretim emri** (Production order) | The order whose output was posted and the output date. | | **Bileşen** (Component) | The item that could not be issued. | | **Miktar** (Quantity) | The quantity that must be issued. | | **Hata** (Error) | The server's reason, verbatim (e.g. "'HAM-0049' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 8,000000." — Insufficient stock of item 'HAM-0049' in status 'SIFIR'. Available: 0, requested: 8.000000.). | | **Durum** (Status) | **Açık** (Open), **Çözüldü** (Resolved) or **Kapatıldı** (Closed). | - The **Durum** (Status) filter defaults to **Açık** (Open; the work queue); **Tümü** (All) also brings resolved and closed records. - **Sorumlu olduğum iş merkezleri** (Work centers I am responsible for) shows only orders of the work centers you are responsible for. - The "bu emrin hatalı geri sarfları" (failed backflushes of this order) link in the order details narrows the list to that order (**Tek emrin kayıtları**, Records of a single order). - Records are not created on this screen; they arise only from output. ## Retry ![Retry Backflush dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/geri-sarf-yeniden-dene.png) 1. Warehouse to issue the component from 2. Stock status (empty = recorded status) 3. Retry — consumption posted, record resolved If stock has arrived, or the component is to be issued from another warehouse, use **Yeniden Dene** (Retry): the window shows the last error, and you select the **Depo** (Warehouse) and **Stok durumu** (Stock status). If it succeeds, a consumption document is posted, the record becomes **Çözüldü** (Resolved) and the message "Bileşen sarf edildi — kayıt kapandı." (Component consumed — record closed.) appears. If it fails, the error is shown in the window and the record stays open. ## Close **Kapat** (Close) does not post consumption; it closes the record with a reason (**Hatalı Geri Sarfı Kapat — kart** (Close Failed Backflush — item) window, **Gerekçe** (Reason) required, at most 500 characters). Use it if you consumed the component manually or if the component was actually not used. A closed record cannot be retried. Example reason: "Bileşen RAF-C lokasyonundan elle sarf edildi." (The component was consumed manually from storage location RAF-C.) > **An open record prevents closing the order** If the order has an open failed backflush, **Tamamla** (Complete) is rejected: "Emirde çözülmemiş 1 hatalı geri sarf var — tamamlamadan önce yeniden deneyin ya da gerekçeyle kapatın: 'HAM-0049' 8 ADET — …" (The order has 1 unresolved failed backflush — retry it or close it with a reason before completing: 'HAM-0049' 8 pieces — …) ## Common messages | Message | English meaning | Cause | |---|---|---| | 'KART' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: …, istenen: … | Insufficient stock of item 'KART' in status 'SIFIR'. Available: …, requested: … | There is not enough stock in the selected warehouse/status (without storage location). | | 'DEPO' lokasyon istiyor ve 'KART' kartının bu depoda varsayılan lokasyonu yok. | 'DEPO' requires a storage location and item 'KART' has no default storage location in this warehouse. | Enter a default storage location in the item's warehouse data. | | 'KART' için depoda yeterli lot yok — eksik … | Not enough batches in the warehouse for 'KART' — missing … | FEFO was not sufficient for a batch-managed component. | | 'KART' seri takipli — geri sarf edilemez, elle sarf edin. | 'KART' is serial-number managed — it cannot be backflushed; consume it manually. | Serial-number-managed component. | | Yalnız açık hatalı geri sarf yeniden denenir. · Hatalı geri sarf zaten kapanmış. | Only an open failed backflush can be retried. · The failed backflush is already closed. | The record has been resolved or closed. | | Kapatma gerekçesi zorunlu. | A closing reason is required. | The reason is blank. | ## Related - [Post production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) - [Post a material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) - [Complete and close a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) --- # Open a BOM revision > Open a new draft revision to change a released bill of materials; the base quantity and lines are entered again. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağaçları › ağaç detayı › Yeni Revizyon (Production › Master Data › Bills of Materials › BOM detail › New Revision) - **Screen route:** `/erp/manufacturing/boms/{id}/revisions/new` - **Required permission:** `erp-manufacturing-boms.edit` - **Prerequisites:** - The BOM has no open draft revision (if it does, release or edit that one first). A released revision cannot be changed or deleted. A change is made with a new draft revision, which replaces the previous revision when it is released (or on the date of the selected change number). ## Steps 1. In the **Üretim › Ana Veriler › Ürün Ağaçları** (Production › Master Data › Bills of Materials) list, click the output card to open the BOM detail. 2. Click **Yeni Revizyon** (New Revision) in the header. The button is visible only when the BOM has no draft. ![Released production BOM — new revision](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-detay-uretim.png) 1. New Revision — only when no draft exists 2. Multi-level explosion 3. Revision status 3. Enter the **Temel Miktar** (Base Quantity). The form opens empty: nothing is copied from the previous revision. ![New Revision form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-yeni-revizyon.png) 1. Output item is locked 2. Base quantity — entered again 3. Lines are entered from scratch 4. Create Revision — draft 4. Enter the lines with **Malzeme Ekle** (Add Material) or **Boş Satır** (Empty Line); on each line, set the **Miktar** (Quantity), **Birim** (Unit), **Bileşen firesi (%)** (Component scrap, %) and **Geri sarf** (Backflush). 5. Click **Revizyonu Oluştur** (Create Revision). ![Draft revision — edit and release](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-revizyon-taslak.png) 1. Edit — draft only 2. Release 3. Component scrap 4. Backflushed line **Result:** The new revision is saved as **Taslak** (Draft); the released revision remains effective as it is. Change the draft with **Düzenle** (Edit) and [release it](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama). In the demo environment, the Revision 2 draft for BOM #49 was opened with these steps. ## What you need to know - A BOM can have only one draft at a time. While there is a draft, **Yeni Revizyon** (New Revision) is not visible; the server also rejects it with "Bu ürün ağacında zaten düzenlenebilir bir taslak revizyon var. Önce mevcut taslağı yayınlayın ya da güncelleyin." (This BOM already has an editable draft revision. Release or update the existing draft first.) - In the BOM form, a new revision opens **empty**; enter the unchanged lines again as well. To change a component in many BOMs at the same time, [BOM component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi) opens a new revision by copying the latest released revision. - If the Base Quantity is left empty, the **Revizyon kaydedilemedi** (Revision could not be saved) summary says "Temel çıktı miktarı zorunlu." (The base output quantity is required.) - Decimal quantities are entered in Turkish format (with a comma): `4,2`. - The output card does not change in a new revision; for a different card, a new BOM is opened. - A new revision is different for a routing: it opens prefilled with the operations of the highest-numbered revision ([Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar)). ## Related - [Bills of materials screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Release a BOM revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) - [Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) --- # Missing parts list > Materials of released and in-production orders that cannot be covered from stock, in requirement date order, with expected supply. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/eksik-parca-listesi Collects the material requirements of open orders that **cannot be covered from stock** in a single list. Stock is allocated to orders **in requirement date order**: the order that starts earliest takes the stock first, and the remaining shortage is written to the next order. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Eksik Parça Listesi (Production › Production Execution › Missing Parts List) - **Screen route:** `/erp/manufacturing/missing-parts` - **Required permission:** `erp-manufacturing-orders.view` ![Missing Parts List](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/eksik-parca.png) 1. Requirement date 2. Missing = required − covered 3. Expected supply (purchase, sub-order) 4. Work center filter | Column | Meaning | |---|---| | **İhtiyaç** (Requirement) | The requirement date; the list is allocated in this order. | | **Üretim emri** (Production order) | Link to the order. | | **Malzeme** (Material) | The component's code and name. | | **Gereken** (Required) | The open (not yet consumed) quantity of the requirement. | | **Karşılanan** (Covered) | The share allocated to this order from stock. | | **Eksik** (Missing) | Required − covered. | | **Birim** (Unit) | The unit of the requirement. | | **Beklenen tedarik** (Expected supply) | Supply in transit (purchase order, sub-order) and its date; otherwise **Yok — talep açın** (None — open a requisition). If no unit conversion is defined, **Birim çevrimi tanımsız** (Unit conversion not defined). | - Filters: **Ara** (Search) and **İş Merkezi** (Work Center). The list is calculated on the server and cached for a short time; **Yenile** (Refresh) reads it again. - If nothing is missing, the screen shows "Eksik malzeme yok — açık emirlerin bütün gereksinimleri stokla karşılanıyor." (No missing material — all requirements of open orders are covered from stock.) - The same information also appears in the order details: the **Malzeme** (Material) box ("1 kalem eksik" — 1 item missing) and the **Kullanılabilirlik** (Availability) column of the **Malzeme Gereksinimleri** (Material Requirements) tab ("Eksik 24,5 · Beklenen tedarik yok" — Missing 24.5 · No expected supply). If something is missing when the order is released, a notification appears: "Emir yayınlandı — 1 kalem eksik: HAM-0031 (24,5 KG). Eksik Parça Listesi" (Order released — 1 item missing: HAM-0031 (24.5 KG). Missing Parts List). > **Example** When **UE-2026-000003** (MAM-0006 Paslanmaz Depolama Tankı (stainless storage tank), 2.000 L) was released, 304.5 KG of HAM-0031 304 sheet was required; stock was 280 KG → **24.5 KG missing**. The shortage is covered with a purchase requisition or with **Malzeme Talebi** (Material Requisition) in the order details. A shortage is a warning, not a block: the order is released; if stock is insufficient when consumption is posted, the server rejects that line. ## Related - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Material requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/malzeme-ihtiyaclari) - [Post a material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) --- # Release a BOM revision > Release a draft BOM revision — valid from today or from the date of a change number; a released revision does not change. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağaçları › ağaç detayı › Yayınla (Production › Master Data › Bills of Materials › BOM detail › Release) - **Screen route:** `/erp/manufacturing/boms/{id}` - **Required permission:** `erp-manufacturing-boms.edit` - **Prerequisites:** - The BOM has a revision in **Taslak** (Draft) status. - If it is to be valid from a future date, an **Etkin** (Active) change number has been opened ([Create an engineering change](https://erpdocs.corexlogic.com/en/uretim/islemler/muhendislik-degisikligi-olusturma)). - If it is the BOM of a configurable item, the revision has been tested with **Yapılandırarak Dene** (Configure and Test) ([Configure and test](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme)). Releasing makes a draft revision final. A released revision is a historical production definition: it cannot be changed, cannot be deleted and does not return to draft. ## Steps 1. Open the BOM detail. Click **Yayınla (Rev. N)** (Release, Rev. N) in the header (the same command is also in the **İşlemler** (Actions) menu of the revision row and in the **Yayınla** (Release) button on the revision detail). ![BOM detail — revisions and validity](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-detay.png) 1. Release the draft 2. Copy engineering BOM to production 3. Revision effective today 4. Usage, alternative name, lot size 5. Revision valid-from date 2. If you leave the **Değişiklik numarası** (Change number) field empty, the revision is valid from today. If it is to be valid from a future day, select an active change number from the list. 3. Click **Revizyonu Yayınla** (Release Revision). ![Release revision dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-yayinla.png) 1. Change number — empty means valid from today 2. Open orders keep their revision 3. Release Revision 4. In the revisions table, check that the status is **Yayınlandı** (Released) and that **Yayın Tarihi** (Release Date) and **Geçerlilik** (Validity) are filled in; if it is valid today, the **Etkin** (Active) badge appears on the row. **Result:** The revision becomes **Yayınlandı** (Released) and can never be changed again; from the validity day onwards, planning (MRP, planned orders) and new production orders use it. For a change, [open a new revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma). ## What you need to know - **Existing production orders are not affected**: each order selects its own revision, and the material requirements of a released order remain frozen. To use the new revision, the order is reopened. - The **effective revision** is the highest-numbered revision whose validity has started on that day. A revision released with a change number stays pending until the number's date; until then, the previous revision is effective. MRP explodes a planned order with the BOM valid on its start day. - Validity progresses in revision order. If the date of the selected number is earlier than that of the previous revision, the release is rejected: "Revizyon N gg.aa.yyyy tarihinden geçerli olamaz — önceki revizyon M gg.aa.yyyy tarihinden geçerli; geçerlilik revizyon sırasıyla ilerler." (Revision N cannot be valid from dd.mm.yyyy — the previous revision M is valid from dd.mm.yyyy; validity progresses in revision order.) - A locked number cannot be selected: "MDN-… kilitli — yeni yayında kullanılamaz." (MDN-… is locked — it cannot be used in a new release.) - On release, the BOM graph is checked; if a sub-BOM uses this card indirectly: "Bu revizyon yayınlanırsa ürün ağacı grafında döngü oluşur — bir malzeme zinciri dolaylı olarak bu çıktı kartına geri dönüyor." (If this revision is released, a cycle is created in the BOM graph — a material chain leads back indirectly to this output card.) - If the window shows a 409 conflict message (someone else changed it at the same time, the card became inactive…), refresh the page with **Ürün ağacını yeniden yükle** (Reload BOM) and try again. - If an approved request is mandatory in Üretim Ayarları (Production Settings), the revision can be released only with the number of an approved change request ([Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri)). - A routing revision is released the same way (**Rota revizyonu yayınlansın mı?** (Release the routing revision?)). ## Related - [Bills of materials screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) --- # Downtime records > Recording work center downtime — planned/unplanned reason, ongoing downtime, ending and cancelling; an input to OEE and capacity. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/durus-kayitlari Records the time a work center is not working (breakdown, waiting for material, setup, planned maintenance…). Downtime records feed the availability component of the **OEE Raporu** (OEE Report) and the capacity load. The reason for the downtime is selected from the list of **downtime reasons** defined during setup; each reason is either **planned** or **unplanned**. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Duruş Kayıtları (Production › Production Execution › Downtime Records) - **Screen route:** `/erp/manufacturing/downtimes` - **Required permission:** `erp-manufacturing-postings.view (liste) · .create (Duruş Kaydet, Duruşu Bitir)`, `erp-manufacturing-corrections.create (İptal Et)` ![Downtime Records](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/durus-listesi.png) 1. New downtime 2. Only ongoing downtimes 3. Duration — until end ## List | Column | Meaning | |---|---| | **Duruş** (Downtime) | Downtime number (`DUR-yyyy-nnnnnn`). | | **İş Merkezi** (Work Center) | The work center (and machine) that is down. | | **Neden** (Reason) | Downtime reason. | | **Başlangıç** · **Bitiş** (Start · End) | If the end is blank, **Sürüyor** (Ongoing) is shown. | | **Süre** (Duration) | From start to end. | | **Emir** (Order) | If the downtime is linked to an order/operation, the order number and operation. | Filters: **İş Merkezi** (Work Center), **Yalnız süren duruşlar** (Ongoing downtimes only), **Duruş tarihi** (Downtime date; start–end). The row's **İşlemler** (Actions) menu offers, for an ongoing downtime, **Duruşu Bitir** (End Downtime; end time required) and **İptal Et** (Cancel; reason required; a cancelled downtime is not included in OEE or capacity load). ## Record Downtime ![Record Downtime dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/durus-kaydet.png) 1. Work center — required 2. Reason — planned / unplanned 3. Empty end = ongoing 4. Save | Field | Rule | |---|---| | **İş merkezi** (Work center) | Required; active work centers. | | **Neden** (Reason) | Required; the list shows "ad · planlı" (name · planned) or "ad · plansız" (name · unplanned). | | **Başlangıç** (Start) | Required; cannot be in the future. | | **Bitiş** (End) | If left blank, the downtime is opened as "sürüyor" (ongoing) and later closed with **Duruşu Bitir** (End Downtime). The end must be after the start and cannot be in the future; a downtime can last at most 31 days. | | **Not** (Note) | At most 500 characters. | > **Downtime reasons first** Reasons are defined on the **Yönetim › Özelleştirme › Üretim › Duruş Nedenleri** (Administration › Customization › Production › Downtime Reasons) screen. If the list is empty, no **Neden** (Reason) can be selected and the downtime cannot be saved. No reasons are defined in the demo installation; for this reason there are no sample records. ## Common messages | Message | English meaning | Cause | |---|---|---| | Duruş ileri tarihli başlayamaz. · Duruş ileri tarihte bitemez. | A downtime cannot start in the future. · A downtime cannot end in the future. | The date is after today. | | Duruşun bitişi başlangıcından sonra olmalı. | The end of the downtime must be after its start. | End ≤ start. | | Bir duruş en çok 31 gün sürebilir — tarihi kontrol edin. | A downtime can last at most 31 days — check the date. | The duration is too long. | | '\{kod\}' duruş nedeni pasif. | Downtime reason '\{kod\}' is inactive. | The reason has been deactivated. | | DUR-… zaten bitirilmiş. · DUR-… zaten iptal edilmiş. | DUR-… has already been ended. · DUR-… has already been cancelled. | The record is closed. | | İptal gerekçesi zorunlu. | A cancellation reason is required. | The reason is blank. | ## Related - [Analytics](https://erpdocs.corexlogic.com/en/uretim/ekranlar/analitik) — OEE Report - [Capacity planning](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) --- # Define a production version > Use a production version to determine with which BOM alternative and routing, and for which lot size and date, a card is produced. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-versiyonu-tanimlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Mühendisliği › Üretim Versiyonları › Üretim Versiyonu Oluştur (Production › Production Engineering › Production Versions › Create Production Version) - **Screen route:** `/erp/manufacturing/production-versions` - **Required permission:** `erp-manufacturing-boms.create` - **Prerequisites:** - The card has at least one BOM with **Üretim** (Production) usage (an engineering BOM cannot be selected). - If a routing will be used, the card's routing is defined. A version fixes the card's production method (BOM + routing) with a lot size and date. When the same card is produced on different lines in different quantities, one version is opened for each line. ## Steps 1. Open the **Üretim › Üretim Mühendisliği › Üretim Versiyonları** (Production › Production Engineering › Production Versions) screen and click **Üretim Versiyonu Oluştur** (Create Production Version). 2. Open the **Çıktı kartı** (Output card) picker, type the code and select the card. 3. Enter the **Versiyon** (Version) number and the **Ad** (Name). If several versions match, the lowest number is selected. 4. Select the BOM alternative from the **Ürün ağacı** (BOM) list. 5. Select the routing alternative from the **Rota** (Routing) list or leave **Rota yok — emir operasyonsuz** (No routing — order without operations). ![Create Production Version dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/versiyon-olustur.png) 1. Version — smallest number wins 2. Production BOM alternative 3. Routing — empty means no operations 4. Lot-size range 5. Repetitive — production without orders 6. If necessary, enter the **Parti büyüklüğü** (Lot size) (minimum – maximum); the **Geçerlilik** (Validity) start is today, an empty end = unlimited. If order-less repetitive manufacturing will be used, check **Seri üretim** (Repetitive manufacturing). 7. Click **Oluştur** (Create). ![Production Versions list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/versiyon-listesi.png) 1. New production version 2. BOM and routing alternative 3. Validity range 4. Status — Open or Locked **Result:** The version is saved in **Açık** (Open) status. From then on, the card's planning, explosion and production order take the BOM and routing from the matching version. In the demo environment, version 1 for MAM-0010 was created with these steps. ## What you need to know - If a card has even **one** version, the selection is made only from versions: if there is no open version that fits the quantity and date, no BOM is selected and the order cannot be opened. Define versions so that they cover the entire quantity and date range. - A version is not deleted. To take it out of use, check **Kilitli** (Locked) in the **İşlemler › Düzenle** (Actions › Edit) window of the row; locking the only version of a card makes the card's BOM impossible to find. - A version flagged **Seri üretim** (Repetitive manufacturing) is produced without orders: the Repetitive Manufacturing Confirmation explodes the BOM on the confirmation day, the components are deducted by backflush, and open planned orders are reduced. - The version number is unique per card: "'MAM-0010' için 1 numaralı versiyon zaten var." (Version 1 already exists for 'MAM-0010'.) ## Related - [Production versions screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) --- # Repetitive manufacturing > Repetitive manufacturing without orders — Repetitive Manufacturing Confirmations, Enter Repetitive Manufacturing Confirmation and Product Cost Collectors; goods receipt and backflush in a single posting. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/seri-uretim Repetitive manufacturing is for lines on which the same product is produced continuously and repeatedly (filling, packing, assembly line). No production order is opened for each lot: the produced quantity is **confirmed**; the system explodes the BOM valid on that day for the confirmed quantity, **receives the finished product into stock** and **issues the components with the backflush rule** — in a single posting. Open planned orders are reduced by the confirmed quantity. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Seri Üretim › Seri Üretim Teyitleri · Seri Üretim Teyidi Gir · Ürün Maliyet Toplayıcıları (Production › Repetitive Manufacturing › Repetitive Manufacturing Confirmations · Enter Repetitive Manufacturing Confirmation · Product Cost Collectors) - **Screen route:** `/erp/manufacturing/repetitive` - **Required permission:** `erp-manufacturing-repetitive.view (liste) · .create (teyit girme)`, `erp-manufacturing-corrections.create (teyit iptali)`, `erp-inventory-costs.view (Ürün Maliyet Toplayıcıları ve tutar kolonları)` > **Prerequisite — repetitive manufacturing version** A confirmation is posted to a **production version** (BOM alternative + routing). On the **Üretim › Üretim Mühendisliği › Üretim Versiyonları** (Production › Production Engineering › Production Versions) screen, the version must have **Seri üretim** (Repetitive manufacturing) ticked and must not be locked. If no version is ticked, the list shows "Henüz seri üretim teyidi yok. Önce üretim versiyonunu "Seri üretim" işaretleyin, sonra "Teyit Gir"." (No repetitive manufacturing confirmations yet. First tick "Seri üretim" on the production version, then "Teyit Gir".) Details: [Production versions](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari). ## Repetitive Manufacturing Confirmations ![Repetitive Manufacturing Confirmations](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/seri-teyit-listesi.png) 1. New repetitive confirmation 2. Product cost collectors 3. Planned order quantity reduced 4. Cancelled ones | Column | Meaning | |---|---| | **Teyit** (Confirmation) | Confirmation number and date. | | **Mamul · versiyon** (Finished product · version) | Product and production version (`KOD · ad · V1`). | | **Miktar** (Quantity) | The confirmed quantity (base unit). | | **Planlı emirden düşülen** (Deducted from planned orders) | The open planned order quantity reduced by the confirmation. | | **Birim maliyet** (Unit cost) | Unit cost from the material + activity value (with the cost view permission). | | **Durum** (Status) | **Kaydedildi** (Posted) or **İptal edildi** (Cancelled). | | **Teyit eden** (Confirmed by) | The user who entered the record. | - Filters: **Başlangıç** · **Bitiş** (Start · End), **İptal edilenleri göster** (Show cancelled); when opened from a version, **Tek versiyonun teyitleri** (Confirmations of a single version). - A row opens the confirmation's lines in a window: **Mamul girişi** (Finished product receipt) and **Geri sarf** (Backflush) sections, quantity and (with permission) value. - Cancellation is done from the row, with a reason (**Teyidi İptal Et** (Cancel Confirmation), **Gerekçe** (Reason) required). Cancellation reverses the receipt and the consumption. - The **Maliyet Toplayıcılar** (Cost Collectors) link opens Product Cost Collectors. ## Enter Repetitive Manufacturing Confirmation ![Enter Repetitive Confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/seri-teyit-gir.png) 1. Production version flagged repetitive 2. Quantity — in the base unit 3. Receiving warehouse 4. Warehouse to issue components from 5. Save Confirmation — receipt and issue together | Field | Rule | |---|---| | **Seri üretim versiyonu** (Repetitive manufacturing version) | Only versions ticked for repetitive manufacturing and not locked. | | **Teyit tarihi** (Confirmation date) | Cannot be in the future; cannot be posted to a closed posting period. The BOM is exploded with the revision valid on this day. | | **Miktar (temel birim)** (Quantity, base unit) | Greater than zero, at most 6 decimals. | | **Mamul girişi — Depo** · **Lokasyon** (Finished product receipt — Warehouse · Storage location) | Where the finished product is received; only your own warehouses. | | **Lot** · **Üretim tarihi** · **Son kullanma** (Batch · Production date · Expiry) | For a batch-managed finished product, the batch is required (rule enforced on the server). | | **Geri sarf — Sarf deposu** (Backflush — Consumption warehouse) | The warehouse from which components are issued; blank = **Mamulün giriş deposu** (the finished product's receiving warehouse). | | **Stok durumu** (Stock status) | Blank = default status. | | **Not** (Note) | At most 500 characters. | **Teyidi Kaydet** (Save Confirmation) calculates the explosion, the consumption breakdown and the value on the server; the form does not preview them. The component breakdown follows the [backflush rules](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) (batch FEFO, default storage location in a warehouse with storage locations, serial-number-managed components are not backflushed). ## Product Cost Collectors Sums up the repetitive manufacturing confirmations in the period per **finished product · version**: number of **Teyit** (Confirmations), **Miktar** (Quantity), **Malzeme** (Material), **Faaliyet** (Activity) and **Birim maliyet** (Unit cost). A row with an unknown value shows **Değer bilinmiyor** (Value unknown) (zero is not shown). The screen requires `erp-manufacturing-repetitive.view` **and** `erp-inventory-costs.view`. Accounting entries are outside the scope of this document. ## Common messages | Message | English meaning | Cause | |---|---|---| | Üretim versiyonu seri üretim için işaretli değil — emirle üretin. | The production version is not flagged for repetitive manufacturing — produce with an order. | The version is not ticked. | | Versiyonun kartı üretilebilir değil. | The version's item is not producible. | "Üretilir" (Produced) is off on the item. | | Versiyonun ağacı \{gün\} gününde patlatılamadı (…) — versiyonun geçerliliğini ve ağacın yayınını kontrol edin. | The version's BOM could not be exploded on \{gün\} (…) — check the version's validity and the BOM's release. | There is no published revision valid on that day. | | Teyit ileri tarihli olamaz. | A confirmation cannot be dated in the future. | The date is after today. | | Teyit miktarı sıfırdan büyük ve en çok 6 ondalık olmalı. | The confirmation quantity must be greater than zero and have at most 6 decimals. | Invalid quantity. | | Stok durumu seçilemedi — varsayılan durum tanımlı değil. | No stock status could be selected — no default status is defined. | No default stock status in the setup. | | İptal gerekçesi zorunlu. · \{no\} zaten iptal edilmiş. | A cancellation reason is required. · \{no\} has already been cancelled. | Cancellation rules. | ## Related - [Enter a repetitive manufacturing confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/seri-uretim-teyidi-girme) - [Production versions](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) - [Planned orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler) --- # Create an engineering change > Open a change number to make BOM and routing revisions valid from a future date — directly or through an approved change request. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/muhendislik-degisikligi-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Mühendislik Değişiklikleri › Değişiklik Numarası Oluştur (Production › Master Data › Engineering Changes › Create Change Number) - **Screen route:** `/erp/manufacturing/engineering-changes/new` - **Required permission:** `erp-manufacturing-engineering-changes.create` - **Prerequisites:** - The day from which the change will be valid is known. - If an approved request is mandatory in the installation, the number is not opened directly but through the approval of a change request (the second path below). A change number makes changes in several BOMs and routings valid **from the same day**: the revisions are released in advance and become effective together when the number's date arrives. ## Steps 1. In the **Üretim › Ana Veriler › Mühendislik Değişiklikleri** (Production › Master Data › Engineering Changes) list, click **Değişiklik Numarası Oluştur** (Create Change Number). ![Engineering Changes list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-listesi.png) 1. New change number 2. Valid-from date of the number 3. Revisions released with it 4. Active or Locked 2. Enter the **Başlık** (Title) and **Değişiklik nedeni** (Reason for change) (both are required). 3. Select the **Geçerlilik başlangıcı** (Valid from). Revisions released with this number become valid from this day; until then, the previous revision remains effective. ![Create Change Number](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-olustur.png) 1. Title 2. Reason — required 3. Valid from — revisions take effect that day 4. Save — number assigned on save 4. Click **Değişiklik Numarasını Kaydet** (Save Change Number). 5. When releasing the revision, select this number in the **Değişiklik numarası** (Change number) field of the release window. **Result:** The number is saved in **Etkin** (Active) status (e.g. **MDN-2026-000001**). The **Nesne Listesi — Ürün Ağacı Revizyonları** (Object List — BOM Revisions) in its detail shows the revisions released with this number; when it will no longer be used, click **Kilitle** (Lock). ## With an approved change request (second path) If the reason for and impact of the change must go through approval, the request opens the number: 1. In the **Üretim › Ana Veriler › Değişiklik Talepleri** (Production › Master Data › Change Requests) list, click **Değişiklik Talebi Aç** (Open Change Request). 2. Enter the **Başlık** (Title), **Neden** (Reason), **Etki notu** (Impact note) and **Önerilen geçerlilik** (Proposed validity). 3. In the **Etkilenen Nesneler** (Affected Objects) section, select the object type (**Ürün ağacı** (BOM), **Rota** (Routing), **Ürün** (Item)), add at least one record with **Nesne ekle** (Add object), and click **Taslağı Kaydet** (Save Draft). The request becomes **Taslak** (Draft) with the number `DTL-yyyy-nnnnnn`. 4. On the request detail, click **Gönder** (Submit). If an approval template is defined, the request becomes **Onay Bekliyor** (Awaiting Approval) and the approver chooses **Onayla** (Approve) or **Reddet** (Reject); if not, the request becomes **Onaylandı** (Approved) immediately. 5. The `MDN-` number that was opened appears in the **Değişiklik numarası** (Change number) field of the approved request; its validity is the proposed validity day. Release the revision with this number. ![Draft change request](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-talep-detay.png) 1. Submit — for approval or approved directly 2. Edit — draft only 3. Cancel 4. Change number is opened on approval In the demo environment, DTL-2026-000001 was submitted and, because there is no approval template, it was approved directly and opened MDN-2026-000002; DTL-2026-000002 remains as a draft. ## What you need to know - The date of a number that has taken effect and is in use cannot be changed; a new number is opened. Shifting the date also shifts the revisions released with the number, and it cannot be moved into the past. - A **Kilitli** (Locked) number cannot be selected for a new release; releases made with this number remain valid. **Kilidi Kaldır** (Unlock) makes the number selectable again. - You cannot approve a request you opened yourself; a rejection reason is mandatory, and a rejected request returns to draft. ## Related - [Engineering changes screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) - [Release a BOM revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) --- # Define a configuration characteristic > Make an item configurable and add the characteristics to be asked in sales — type, mandatory setting, allowed values, range and default. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirma-ozelligi-tanimlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma (Master Data › Items › Item Master Data › item detail › Configuration) - **Screen route:** `/erp/catalog/products/{id}?tab=yapilandirma` - **Required permission:** `erp-catalog-items.edit` - **Prerequisites:** - The item card is open and its type is a produced item (Mamul (Finished product) or Yarı Mamul (Semi-finished product)). - The characteristic to be used exists in the **Özellikler** (Characteristics) dictionary or will be created in the window; its code consists of letters, digits and underscores (rules read it by this code). A configuration characteristic is an option of a configurable item that is asked of the customer: length, color, power, series. The characteristic type determines how it is read in a rule (option code as text, number as number, Yes/No): [Expression language](https://erpdocs.corexlogic.com/en/uretim/kosullar#ifade-dili). ## Steps 1. Open the item in **Ürün Ana Verileri** (Item Master Data) and go to the **Yapılandırma** (Configuration) tab. 2. If the card is standard, click **Yapılandırılabilir Yap** (Make Configurable) and confirm the question "Ürün yapılandırılabilir yapılsın mı?" (Make the item configurable?) with **Yapılandırılabilir Yap**. 3. Click **Özellik Ekle** (Add Characteristic). In the **Özellik** (Characteristic) field, search for and select the characteristic from the dictionary; if it does not exist, enter the **Ad** (Name), **Kod** (Code) and type of the new characteristic. 4. If the characteristic is to be entered on every order, turn on **Zorunlu** (Mandatory). 5. For a characteristic with options, if only some values can be selected for this item, turn on **Değerleri sınırla** (Restrict values) and check the valid values. For a numeric characteristic, fill in the **En az** (Minimum), **En çok** (Maximum) and **Adım** (Step) fields of the **İzinli aralık** (Allowed range). 6. If necessary, select a **Varsayılan değer** (Default value) and click **Ekle** (Add). ![Product › Configuration — characteristics, precondition, object dependencies](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/yapilandirma-sekmesi.png) 1. Add Characteristic 2. Characteristic with a precondition 3. Required 4. Default value 5. Object dependency — constraint, procedure, table **Result:** The characteristic is asked in the configurator of the sales line and in the BOM's Configure and Test window; rules read it by its code. Next step: if necessary, a [precondition](https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama), then [line rules](https://erpdocs.corexlogic.com/en/uretim/islemler/satir-kurali-tanimlama). ## What you need to know - In sales, the question order is the order in the table; it is changed with the up/down arrows on the row. - An optional characteristic can be left empty; in rules, an empty value is **unknown**. Write a condition that reads it accordingly: [Unknown value](https://erpdocs.corexlogic.com/en/uretim/kosullar#bilinmeyen-deger). - An out-of-range value prevents the sales line from being saved: `'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım).` (The value of 'Boy' (Length) is not in the allowed range (2–30 m, 0.5 m step).) - On an item that has variants, a new characteristic can be added only as optional. - To load characteristics in bulk, use the **Yapılandırma** (Configuration) sheet of the Product Import workbook (`Zorunlu`, `IzinliDegerler`, `EnAz`, `EnCok`, `Adim`, `Varsayilan`, `OnKosul`). ## Related - [Configurable items](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler) - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) --- # Capacity planning > Work center load and available time, dispatching an operation to a day, and a finite scheduling proposal based on capacity. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama Capacity planning shows how heavily work centers are loaded and arranges the day on which operations are performed. There are three screens: | Screen | Question | Does it write? | |---|---|---| | **Kapasite Yükü** (Capacity Load) | How loaded is each work center on each day/week? | No | | **Kapasite Planlama Tablosu** (Capacity Planning Table) | Which day should I move this work center's operations to? | Yes — **Yerleştir** / **Kaldır** (Dispatch / Remove) | | **Sonlu Çizelgeleme** (Finite Scheduling) | How do I sequence all open operations according to capacity? | The proposal does not write; **Öneriyi Uygula** (Apply Proposal) writes | - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Kapasite Planlama › Kapasite Yükü · Kapasite Planlama Tablosu · Sonlu Çizelgeleme (Production › Capacity Planning › Capacity Load · Capacity Planning Table · Finite Scheduling) - **Screen route:** `/erp/manufacturing/capacity` - **Required permission:** `erp-manufacturing-capacity.view (görme, sonlu çizelge önerisi)`, `erp-manufacturing-capacity.edit (Yerleştir, Kaldır, Öneriyi Uygula)` Capacity is defined on the work center: shift hours, break, utilization percentage, individual capacity (number of machines) and working days; the day rules come from the plant's factory calendar. Details: [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri). ## Capacity Load ![Capacity Load — work center × week](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-yuku.png) 1. Bucket — Day or Week 2. Include planned orders load 3. Only work centers I am responsible for 4. Required / available hours and utilization % Rows are work centers, columns are day or week buckets. A cell shows **required / available hours** and the utilization percentage; an overloaded cell is marked **Aşırı yük** (Overload). Hovering over the cell shows the breakdown "Üretim emri … · planlı emir …" (Production order … · planned order …). - **Required:** the remaining load of open production order operations + (if **Planlı emirler dâhil** (Include planned orders) is on) the load of open planned orders scheduled from the routing. Operation confirmations reduce the load. - **Available:** the work center's daily capacity × working days. A work center without defined capacity shows "kapasite tanımsız" (capacity not defined); only the required hours are shown. - **Filters:** **Başlangıç** (Start), **Bitiş** (End) (default today … +27 days; the window is at most 366 days; "Bitiş başlangıçtan önce olamaz." — The end cannot be before the start.), **Kova** (Bucket; **Gün · Hafta**, Day · Week), **İş merkezi** (Work center), **Planlı emirler dâhil** (Include planned orders), **Sorumluluk** (Responsibility; **Sorumlu olduğum iş merkezleri**, Work centers I am responsible for). - A parent work center row shows "Alt iş merkezleriyle toplam" (Total with child work centers); under a work center with machines, machine rows and a "tezgâha atanmamış" (not assigned to a machine) note appear. - From a work center row, the **Planlama Tablosu** (Planning Table) opens with the same period. ## Capacity Planning Table ![Capacity Planning Table — manually dispatched operation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-planlama-tablosu.png) 1. Select a work center 2. Manually dispatched marker 3. Dispatch — choose the start day 4. Remove — back to base date When a **İş merkezi** (Work center) is selected, the operations in the window are listed: **Kaynak** (Source; Üretim emri / Planlı emir, Production order / Planned order) · **Belge** (Document) · **Operasyon** (Operation) · **Kart** (Item) · **Başlangıç** (Start) · **Bitiş** (End) · **Kalan yük** (Remaining load). The total load of the window and the daily capacity are shown at the top; if no capacity is defined, "Kapasite tanımsız — 8 saatlik hafta içi varsayılır" (Capacity not defined — 8-hour weekdays are assumed). - **Yerleştir** (Dispatch; only on a production order row, `capacity.edit`): the **Operasyonu Yerleştir** (Dispatch Operation) window. Select the **Başlangıç günü** (Start day) and, for a work center with machines, optionally the **Tezgâh** (Machine). "Operasyon seçilen günden başlar, bitişi iş merkezinin kapasitesinden hesaplanır; sonraki elle yerleştirilmemiş operasyonlar kayar." (The operation starts on the selected day; its end is calculated from the work center's capacity; subsequent operations that were not dispatched manually shift.) - **Kaldır** (Remove; on a manually dispatched row): **Yerleştirmeyi Kaldır** (Remove Dispatch) — "Operasyon emrin temel tarihinden yeniden çizelgelenir; öteki elle yerleştirilmiş operasyonlar yerinde kalır." (The operation is rescheduled from the order's basic date; other manually dispatched operations stay in place.) - A manually dispatched operation carries the **Elle yerleştirildi** (Manually dispatched) flag; the **Operasyonlar** (Operations) tab of the order details shows the same trace. ![Dispatch Operation dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-yerlestir.png) 1. Start day 2. Dispatch Step by step: [Dispatch an operation to capacity](https://erpdocs.corexlogic.com/en/uretim/islemler/kapasite-seviyelendirme). ## Finite Scheduling ![Finite Scheduling — proposal and Gantt](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-sonlu-cizelge.png) 1. Create Proposal — writes nothing 2. Apply Proposal — dispatches operations 3. Proposed finish and delay 4. Gantt: one lane per work center Open order operations are sequenced according to work center capacity. If **Başlangıç** (Start) is blank, today is assumed. - **Öneri Oluştur** (Create Proposal; `capacity.view`) draws the solver's proposal; it does not write documents. The solver is time-limited and gives the same proposal for the same data. The result quality is **En iyi plan** (Optimal plan) or **Süre sınırında bulunan iyi plan** (Good plan found within the time limit). - **Emirler** (Orders) table: **Emir** (Order) · **Planlanan bitiş** (Planned end) · **Önerilen bitiş** (Proposed end) · **Gecikme** (Delay; **Zamanında** (On time) or days). - **Gantt:** one lane per work center (per machine for a work center with machines); a gray bar is a manually dispatched operation — the solver leaves it in place. - **Operasyonlar** (Operations) table: **İş merkezi** (Work center) · **Tezgâh** (Machine) · **Emir** (Order) · operation · **Kalan yük** (Remaining load) · **Planlanan** (Planned) · **Önerilen** (Proposed). - **Öneriyi Uygula** (Apply Proposal; `capacity.edit`) dispatches all operations of the proposal; applied operations count as manually dispatched. Result: "N emrin M operasyonu yerleştirildi." (M operations of N orders dispatched.) If the orders changed in the meantime: "Çizelge uygulanamadı — emirler bu arada değiştiyse öneriyi yenileyin." (The schedule could not be applied — if the orders changed in the meantime, refresh the proposal.) - If there are no operations to schedule: "Çizelgelenecek açık operasyon yok." (No open operations to schedule.); if the solver finds no plan: "Çözücü süre sınırında bir plan bulamadı — kapasiteyi ya da açık emirleri gözden geçirin." (The solver could not find a plan within the time limit — review the capacity or the open orders.) ## Related - [Dispatch an operation to capacity](https://erpdocs.corexlogic.com/en/uretim/islemler/kapasite-seviyelendirme) - [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri) - [Production operations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-operasyonlari) - [MRP run — rough-cut load of the simulation](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) --- # Define a configuration precondition > Make a characteristic be asked only when another characteristic has a specific value — for example, Cabin Width and Length when the cabin is Custom Size. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma (Master Data › Items › Item Master Data › item detail › Configuration) - **Screen route:** `/erp/catalog/products/{id}?tab=yapilandirma` - **Required permission:** `erp-catalog-items.edit` - **Prerequisites:** - The item is configurable; both the condition characteristic (Seçim (Selection) or Evet/Hayır (Yes/No)) and the characteristic to be asked are configuration characteristics of the card. A precondition answers the question "when is this characteristic asked?". Example: if the cabin has the standard size, width and length are not asked; when **Özel Ölçü** (Custom Size) is selected, **Kabin Eni** (Cabin Width) and **Kabin Boyu** (Cabin Length) are asked and become mandatory. ## Steps 1. On the item's **Yapılandırma** (Configuration) tab, click **İşlemler** (Actions) on the row of the characteristic to be asked (e.g. **Kabin Eni** (Cabin Width)). 2. Select **Koşul** (Condition) from the menu. 3. Check the value for which the characteristic is to be asked (e.g. **Özel Ölçü (En x Boy)** (Custom Size, Width x Length) under **Kabin** (Cabin)). If several values of the same characteristic are checked, one of them is enough; if values of different characteristics are checked, all are required together. ![Condition dialog — characteristic is asked only when the condition holds](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/on-kosul-penceresi.png) 1. Condition value — Cabinet Custom Size 2. Readable form of the condition 3. Remove Condition — always asked 4. Save 4. Click **Kaydet** (Save). Set up the same condition for the other dependent characteristics as well (e.g. **Kabin Boyu** (Cabin Length)). **Result:** The characteristic is asked on the sales line and in Configure and Test only when the condition is met; a characteristic that is not asked remains empty and its mandatory setting is not applied. Test the rules with [Configure and Test](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme). ![Precondition — Width and Height are asked for Custom Size](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-on-kosul-deneme.png) 1. Condition characteristic — Custom Size selected 2. Characteristics shown by the precondition 3. Required, asked and empty — the line cannot be saved 4. Condition reads a missing value — line does not come ## What you need to know - The condition characteristic must be **Seçim** (Selection) or **Evet/Hayır** (Yes/No): `'…' koşul olamaz — yalnız seçim ve Evet/Hayır özellikleri koşul olur.` ('…' cannot be a condition — only selection and Yes/No characteristics can be conditions.) - A characteristic cannot be its own condition (`Özellik kendisine koşul olamaz.` — A characteristic cannot be a condition for itself.); an indirect loop cannot be created (`Bu koşul döngü kurar: koşul özelliği dolaylı olarak bu özelliğe bağlı.` — This condition creates a loop: the condition characteristic depends indirectly on this characteristic.). - On a restricted characteristic, the condition value must be allowed: `'…' '…' özelliğinin izinli değerlerinde değil.` ('…' is not among the allowed values of characteristic '…'.) - A characteristic that has a value in an existing variant cannot be hidden: `'…' varyantı bu koşulla geçersiz kalır: …` (Variant '…' becomes invalid with this condition: …) - **Koşulu Kaldır** (Remove Condition) makes the characteristic always asked again. - If a value is given to a characteristic that is not asked, the sales line is rejected: `'Kabin Eni' yalnız Kabin: Özel Ölçü (En x Boy) olduğunda girilir.` ('Kabin Eni' is entered only when Kabin is Özel Ölçü (En x Boy).) If a mandatory characteristic that is asked is empty: `'Kabin Eni' özelliğinin değeri girilmemiş.` (No value has been entered for characteristic 'Kabin Eni'.) - A characteristic that is not asked is **unknown** in BOM and routing rules; protect a formula that reads it with `EGER`: [Example 12](https://erpdocs.corexlogic.com/en/uretim/kosullar#ornek-12). - In the import workbook, the **OnKosul** column: `KABIN = OZEL_OLCU`; values of the same characteristic are separated with `/`, different characteristics with `;`. ## Related - [Conditions and formulas — precondition](https://erpdocs.corexlogic.com/en/uretim/kosullar#on-kosul) - [Configurable items](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler) --- # Material requirements > Net requirements without a time axis and a min–max proposal — per item and per warehouse; covering a shortage with a requisition or a production order. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/malzeme-ihtiyaclari **Malzeme İhtiyaçları** (Material Requirements) summarizes the **current** situation of each item in a single row: how much demand there is, how much is on hand and in transit, how much is short, and how much should be ordered according to the item's ordering rule. Unlike MRP, it has **no time axis** and does not write documents; to cover a shortage it opens the requisition or production order form with the item's code. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › Malzeme İhtiyaçları (Production › Production Planning › Material Requirements) - **Screen route:** `/erp/demand/material-requirements` - **Required permission:** `erp-demand-material-requirements.view (görme)`, `erp-procurement-requisitions.create (Satınalma Talebi Aç) · erp-manufacturing-orders.create (Üretim Emri Aç)` | | Material Requirements | [MRP Koşusu](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) (MRP Run) | |---|---|---| | Time | None — current position | Day by day | | Forecast (planned independent requirement) | Not counted | Counted | | BOM explosion | None | Yes (dependent requirement) | | Document | Does not write; opens the form | The run writes requisitions and planned orders | ## By Item ![Material Requirements — net requirement per item](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-malzeme-listesi.png) 1. By item / By warehouse 2. Only items with a shortage 3. Shortage = demand − (on hand + in transit) 4. Proposal — when below minimum 5. Availability — if ordered today The list is a calculation at most 1 minute old; **Listeyi yenile** (Refresh list) recalculates it. | Column | Meaning | |---|---| | **Malzeme** (Material) | The item. For a discontinued item, "Kesildi → HALEF" (Discontinued → SUCCESSOR) or "Kesildi — halef yok" (Discontinued — no successor) and the quantity transferred. | | **Talep** (Demand) | Production requirements + sales order balance; the sources are in the **Talep** (Demand) table of the details. | | **Eldeki** (On Hand) | Stock; allocated quantity is not counted. | | **Yoldaki** (In Transit) | Open purchasing + open production output. | | **Açık** (Shortage) | Demand − (on hand + in transit). | | **Öneri** (Proposal) | If the stock position is below the minimum, the quantity that brings it up to the maximum (to the minimum if there is no maximum). | | **Sipariş** (Order) | The proposal or shortage rounded with the item's ordering rule (minimum order, multiple). | | **Temin** (Availability) | The availability date if ordered today (today + lead time). | | **Birim** (Unit) | The item's base unit. If there is a document whose unit cannot be converted, a warning: the totals are incomplete. | **Filters:** **Ara** (Search), **Yalnız açığı olanlar** (Only with shortage; hides those with zero shortage), **Minimumun altındakiler** (Below minimum; only those with an order proposal), **Benim ürünlerim** (My products; I am the MRP controller). If there are no items to calculate, the screen shows "Açık belge ve stok seviyesi tanımlı kart yok — hesaplanacak bir ihtiyaç bulunmuyor." (No items with open documents or defined stock levels — there are no requirements to calculate.) ## Product Requirement Details ![Item Requirement Detail — close the shortage](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-malzeme-detay.png) 1. Stock position = on hand + in transit − demand 2. Order quantity — by the item order rule 3. Open Requisition — opens the form with the quantity 4. Warehouse breakdown Clicking a row opens the details: - **Talep · Eldeki · Yoldaki · Açık** (Demand · On Hand · In Transit · Shortage) tiles (the allocated quantity is shown separately). - **Stok pozisyonu** (Stock position; on hand + in transit − demand), **Minimum / Maksimum** (Minimum / Maximum), **Min–maks önerisi** (Min–max proposal; "Pozisyon minimumun altında — maksimuma tamamlar" — The position is below the minimum — tops up to the maximum). - **Sipariş miktarı** (Order quantity), **Minimum sipariş / katsayı** (Minimum order / multiple), **Tedarik süresi** (Lead time), **Temin tarihi** (Availability date). - **Eksiği Kapat** (Cover Shortage; if there is a shortage) or **Stoğu Tamamla** (Top Up Stock; only if there is a min–max proposal): **Satınalma Talebi Aç** (Open Purchase Requisition) for a purchasable item, **Üretim Emri Aç** (Open Production Order) for a producible item. The button opens the form with the item's code and the proposed quantity; the document is not created here, and you set the quantity on the form. If the item is flagged as neither purchasable nor producible, the screen shows "Kart ne satın alınabilir ne üretilebilir işaretli; önce kartın kullanım alanları düzeltilmeli." (The item is flagged as neither purchasable nor producible; correct the item's usage settings first.) - **Depo Kırılımı** (Warehouse Breakdown): **Depo** (Warehouse) · **Eldeki** (On Hand) · **Tahsisli** (Allocated) · **Serbest** (Unrestricted) · **Min / Maks** · **Öneri** (Proposal) · **Lokasyon** (Storage Location). If no warehouse minimum is defined, "Planlanmıyor" (Not planned). If other warehouses have enough unrestricted stock, a transfer proposal note. - **Talep** (Demand) and **Arz** (Supply) source tables: **Kaynak** (Source) · **Belge** (Document) · **Karşı taraf** (Counterparty) · **Miktar** (Quantity) · **Tarih** (Date). ## By Warehouse The **Depo Bazında** (By Warehouse) tab compares the unrestricted stock (on hand − allocated) of each product × warehouse with the warehouse minimum: **Malzeme** (Material) · **Depo** (Warehouse) · **Serbest** (Unrestricted) · **Min / Maks** · **Öneri** (Proposal) · **Transfer** (incoming / outgoing) · **Öteki Depolarda** (In Other Warehouses) · **Lokasyon** (Storage Location) · **Birim** (Unit). Filters **Tesis** (Plant), **Depo** (Warehouse) and **Minimumun altındakiler** (Below minimum). The warehouse minimum is defined in **Depo Verileri** (Warehouse Data) in the Stock view of the product details; if none is defined, the list says "Depo minimumu tanımlı ürün yok …" (No products with a defined warehouse minimum …). ## Related - [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) - [Planned independent requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar) - [Create a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emri-olusturma) --- # Add an object dependency (constraint and calculated characteristic) > On a configurable item, add a constraint that blocks a disallowed combination and a procedure that calculates the value of a characteristic with a formula. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/nesne-bagimliligi-ekleme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma › Nesne Bağımlılıkları (Master Data › Items › Item Master Data › item detail › Configuration › Object Dependencies) - **Screen route:** `/erp/catalog/products/{id}?tab=yapilandirma` - **Required permission:** `erp-catalog-items.edit` - **Prerequisites:** - The item is configurable; the characteristic that will be the procedure's target is a configuration characteristic of the card (if not, use **Yeni özellik oluştur** (Create new characteristic) in the window). Object dependencies are the configuration rules of the item: which combination cannot be sold (constraint), which value is calculated (procedure), and which combinations are allowed in a table (table constraint). Language: [Expression language](https://erpdocs.corexlogic.com/en/uretim/kosullar#ifade-dili). ## Steps 1. On the item's **Yapılandırma** (Configuration) tab, scroll down to the **Nesne Bağımlılıkları** (Object Dependencies) section and click **Kural Ekle** (Add Rule). ![Add Rule — compute value, set a limit, select from table](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kural-ekle.png) 1. Procedure — computes a characteristic 2. Constraint — blocks a forbidden combination 3. Table constraint — variant table 4. Formula — the language of the conditions page 2. For a constraint, select **Sınır koy** (Restrict). In the **Koşul** (Condition) field, enter the expression that returns Evet (Yes) when the combination is valid; an "if A then B" rule has the form `DEĞİL A VEYA B`. 3. In the **Kullanıcıya ileti** (Message to user) field, enter the sentence to be shown in sales. In the **Dene** (Try) panel on the right, enter sample values and see the result. 4. For a calculated characteristic, select **Değer hesapla** (Calculate value); select the target from the **Hesaplanacak özellik** (Characteristic to calculate) list, **Formül (gelişmiş)** (Formula, advanced) in **Nasıl hesaplansın** (How to calculate), **Her zaman hesapla** (Always calculate) or **Girilmezse hesapla** (Calculate if not entered) in **Ne zaman** (When), and enter the expression in the **Formül** (Formula) field. 5. Leave **Etkin (pasif kural uygulanmaz)** (Active — an inactive rule is not applied) checked; click **Ekle** (Add). **Result:** The rules are applied in list order when the sales line is saved: a procedure writes the value, a constraint checks the combination. A calculated characteristic can be read in BOM and routing rules; see the result with [Configure and Test](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme). ## What you need to know - A constraint is checked only when its result is **known**; if a characteristic it reads is empty, it passes. - If the message is empty, sales shows `Konfigürasyon kısıtı sağlanmıyor: ` (Configuration constraint not satisfied: ``). In the demo example with a PU belt and 24 m: `PU gıda bandı en çok 20 m boyda üretilir.` (A PU food belt is produced up to 20 m in length.) - The user cannot change a value written with **Her zaman hesapla** (Always calculate): `'Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.` (The value of 'Number of Leg Pairs' is calculated by the rule (8); a different value cannot be entered.) - A procedure that writes a fractional result to an integer target is rejected (`… tam sayı — prosedür … hesapladı (YUVARLA kullanın).` — … is an integer — the procedure calculated … (use YUVARLA).). A result written to a target with options must be one of the target's option codes. - A date characteristic cannot be a procedure target. - A rule that breaks an existing variant is not saved; a card can have at most 50 rules. - Constraints and procedures can query a variant table with `TABLO` / `TABLODEGER`; a BOM line rule cannot query it — write the value from the table to a characteristic with a procedure and read it on the line. ## Related - [Conditions and formulas — object dependencies](https://erpdocs.corexlogic.com/en/uretim/kosullar#nesne-bagimliliklari) - [Configurable items](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler) --- # Planned independent requirements > Period-by-period sales forecast per item — consumption by orders, the remainder that goes into MRP and a statistical proposal from history. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar A planned independent requirement (forecast) feeds MRP with demand that is expected but has no orders yet: "6 filing cabinets will be sold in December". The period's **approved sales orders consume the forecast**; MRP counts only the **remainder** as demand. This way the same demand is not planned twice, once from the forecast and once from the order. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › Planlı Bağımsız İhtiyaçlar (Production › Production Planning › Planned Independent Requirements) - **Screen route:** `/erp/demand/independent-requirements` - **Required permission:** `erp-demand-independent-requirements.view (görme)`, `erp-demand-independent-requirements.edit (Tahmin Gir, düzenleme, silme)` > **Only MRP reads the forecast** The [Malzeme İhtiyaçları](https://erpdocs.corexlogic.com/en/uretim/ekranlar/malzeme-ihtiyaclari) (Material Requirements) view and the availability check on the sales order do not count the forecast. The forecast appears in the timeline of the [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) as a **Tahmin** (Forecast) element, as a requirement on the first day of the period. ## List ![Planned Independent Requirements — forecast, consumption, remainder](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-tahmin-listesi.png) 1. Enter Forecast 2. Approved orders in the period consume the forecast 3. Remainder enters MRP as demand 4. Show finished periods too | Column | Meaning | |---|---| | **Malzeme** (Material) | The item for which the forecast was entered. | | **Dönem Türü** (Period Type) | **Gün · Hafta · Ay** (Day · Week · Month). | | **Dönem** (Period) | The period range. A finished period shows the **Geçmiş** (Past) badge: "Dönem bitti — MRP'ye girmez, iz olarak kalır" (The period has ended — it does not go into MRP and remains as a record). | | **Tahmin** (Forecast) | The quantity entered (in the item's base unit). | | **Siparişle Tüketilen** (Consumed by Orders) | Approved sales orders whose requested delivery date falls in the period (including shipped ones), limited to the forecast. | | **Kalan (MRP)** (Remaining, MRP) | Forecast − consumed; goes into MRP as demand. If fully consumed, **Karşılandı** (Covered). | | **Not** (Note) | Period note. | **Filters:** **Ara** (Search; item code or name) and **Geçmiş dönemleri göster** (Show past periods). When opened via the **Tahmin** (Forecast) link in the MRP timeline, the list narrows to a single item and the **Tek kart** (Single item) badge is shown. From the row's **İşlemler** (Actions) menu you can edit the item's forecast or delete a period. Delete confirmation: "Tahmin dönemi silinsin mi? … dönemi silinir; MRP bu dönemin kalanını artık talep saymaz." (Delete the forecast period? Period … is deleted; MRP no longer counts the remainder of this period as demand.) ## Enter / Edit Forecast window ![Enter Forecast dialog — monthly periods](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-tahmin-gir.png) 1. Item — planned stock item 2. Period type — Day, Week, Month 3. Period quantity (base unit) 4. Add next N periods 5. Propose from history — statistical proposal 6. Save — replaces unfinished periods The window opens **all unfinished periods** of the item in a single table, and saving **replaces them completely** (MD62 planning table). Saving with an empty table deletes the item's future forecast. | Field | Rule | |---|---| | **Kart** (Item) | A planned stock item. An item that is not planned cannot be selected; the reason is shown (e.g. "Planlama stratejisi "planlama yok" — tahmin MRP'ye girmez; kartın planlama verisini düzenleyin." — Planning strategy is "no planning" — the forecast does not go into MRP; edit the item's planning data.). | | **Dönem türü** (Period type) | **Gün · Hafta · Ay** (Day · Week · Month; default Month). A week is aligned to Monday, a month to the first of the month; all future periods of an item are of a single type. | | **Dönem başı** (Period start) | Date; a past date cannot be selected. The **Dönem** (Period) column shows the aligned range. | | **Miktar** (Quantity) | Greater than zero, within the decimal limit of the unit. | | **Not** (Note) | Optional. | | **Sonraki [N] … ekle** (Add next [N] …) | Adds the next N periods (at most 60 rows). | Validation messages (N = row): "N. dönem: dönem başı zorunludur." (Period N: the period start is required.), "N. dönem bitmiş — geçmiş döneme tahmin girilmez." (Period N has ended — a forecast cannot be entered for a past period.), "N. dönem tekrar ediyor." (Period N is repeated.), "N. dönem: miktar sıfırdan büyük olmalıdır." (Period N: the quantity must be greater than zero.), and additionally on the server "gg.aa.yyyy dönemi geçmiş bir tahminle çakışıyor." (Period dd.mm.yyyy overlaps with a past forecast.) and "'KOD' planlanmıyor (planlama stratejisi "planlama yok") — tahmin MRP'ye girmez." ('KOD' is not planned (planning strategy "no planning") — the forecast does not go into MRP.) ### Propose from History The **Geçmişten Öner** (Propose from History) section at the bottom of the window calculates a statistical proposal from the item's consumption history (it does not write anything): | Field | Values | |---|---| | **Model** | **Otomatik** (Automatic) · **Hareketli ortalama** (Moving average) · **Üstel düzeltme** (Exponential smoothing) · **Trend** · **Mevsimsel** (Seasonal) | | **Geçmiş dönem** (History periods) | Day 1–365 (default 56) · Week 1–156 (52) · Month 1–36 (24) | | **Önerilecek dönem** (Periods to propose) | Day 1–90 (14) · Week 1–52 (12) · Month 1–24 (6) | | **Alfa** (Alpha) | Between 0 and 1, both excluded (hidden for moving average) | **Öner** (Propose) shows the historical consumption chart, the selected model, the MAD and the period proposals. The proposal is not saved: **Öneriyi Forma Aktar** (Transfer Proposal to Form) replaces the period rows (asks for confirmation if rows exist), and you then save with **Kaydet** (Save). If there is no consumption in the history, the screen shows "Seçilen geçmişte tüketim yok — öneri üretilmedi." (No consumption in the selected history — no proposal was produced.) Step by step: [Enter a planned independent requirement](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme). ## Related - [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Define a rule on a BOM line > In a super BOM, define in which configuration a material line is included (option condition, expression condition) and how its quantity is calculated (characteristic × factor, expression). URL: https://erpdocs.corexlogic.com/en/uretim/islemler/satir-kurali-tanimlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağaçları › ürün ağacı › revizyon › Düzenle (Production › Master Data › Bills of Materials › BOM › revision › Edit) - **Screen route:** `/erp/manufacturing/boms/{id}/revisions/{revisionId}/edit` - **Required permission:** `erp-manufacturing-boms.edit` - **Prerequisites:** - The BOM's output card is configurable and its configuration characteristics are defined ([Define a configuration characteristic](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirma-ozelligi-tanimlama)). - The BOM has an editable **draft** revision (a released revision does not change; open a new revision). In a super BOM, each line is either **unconditional** (included in every order) or selected by a rule. The quantity can be fixed or calculated from the configuration. The complete language and 25 examples: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar). ## Steps 1. On the detail of the draft revision, click **Düzenle** (Edit). ![Super BOM draft — rule summary of the lines](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-agac-satirlari.png) 1. Rule summary — formula quantity 2. Option condition and formula 3. Edit Rule — Line Rule dialog 4. In a formula line Quantity = constant part 2. On the line to receive a rule, click the **Kuralı Düzenle** (Edit Rule) button (the settings icon on the right of the line; screen reader name 'N. satırın kuralını düzenle' (Edit the rule of line N)). 3. If the line is to be included for specific options, check the values under the relevant characteristic (one value of the same characteristic is enough; different characteristics are required together). For a Yes/No characteristic, select **Fark etmez** (Any), **Evet** (Yes) or **Hayır** (No). ![Line Rule dialog — option condition and expression condition](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-satir-kurali.png) 1. Option condition — one of the ticked values (OR) 2. Yes/No characteristic — written into the expression 3. Expression condition — line comes when Yes 4. Code buttons — insert at the cursor 4. If a numeric limit or several characteristics are needed, enter the expression in the **Koşul** (Condition) field of the **İfadeli koşul** (Expression condition) section; you can insert codes with the **Özellikler** (Characteristics) and value buttons. Check it with **Sına** (Test). 5. In the **Formüllü miktar** (Formula quantity) section, select the mode: **Sabit miktar** (Fixed quantity), **Özellik × katsayı** (Characteristic × factor) (the **Özellik** (Characteristic) and **Katsayı** (Factor) fields) or **İfade** (Expression). 6. In expression mode, enter the formula in the **Miktar** (Quantity) field and click **Sına** (Test). ![Line Rule dialog — Check and formula quantity](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-satir-kurali-miktar.png) 1. Check — validation without saving 2. Quantity mode: fixed, characteristic × factor, expression 3. Quantity formula — added to the line quantity 4. Apply — takes effect when the revision is saved 7. Close the window with **Uygula** (Apply). On a formula line, the form's **Miktar** (Quantity) field is the fixed part — enter `0` if only the formula is to give the quantity. 8. Save the revision with **Değişiklikleri Kaydet** (Save Changes). **Result:** The rule is written to the draft revision. Before releasing, test the extreme values with [Configure and Test](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme); once the revision is released, new orders are resolved with this rule. ## What you need to know - The option condition and the expression condition are required **together** (AND). If the expression condition is **Hayır** (No) or **unknown**, the line is not included. - On a formula line, quantity = the **Miktar** (Quantity) field + the result of the formula; the result must be greater than zero. - In **Özellik × katsayı** (Characteristic × factor) mode, only numeric characteristics (Tam Sayı (Integer), Ondalık (Decimal)) are listed; the factor must be greater than zero (`Formül katsayısı sıfırdan büyük olmalı.` — The formula factor must be greater than zero.). - In expression mode, the expression cannot be left empty: `Miktar ifadesini yazın ya da sabit miktara dönün.` (Enter the quantity expression or return to a fixed quantity.) - **Sına** (Test) checks the syntax and the codes; the result type (Yes/No, number) and value-dependent errors are shown only by Configure and Test or by releasing an order: [Messages](https://erpdocs.corexlogic.com/en/uretim/kosullar#iletiler). - The same card can appear on two lines only if their option conditions exclude each other; the expression condition is not taken into account here (`Aynı stok kartı bir revizyonda yalnız bir malzeme satırında yer alabilir.` — The same stock card can appear on only one material line in a revision.). - The window opens only in the BOM of a configurable output. For bulk entry, use the **SecimKosulu** and **MiktarFormulu** columns and the **Satır Koşulları** (Line Conditions) sheet of the Bills of Materials import workbook. ## Related - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) --- # MRP run > Time-phased net requirements, proposals and exceptions for planned items; the run, simulation, nightly job and requirement pegging. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu MRP (material requirements planning) calculates day by day, for every planned item, **when and how much** will be short, and creates proposals for the shortage. The proposal for a purchased item is written to a **draft purchase requisition**, the proposal for a produced item to a **planned order**; the planned order is exploded from the bill of materials and the requirements of its components are planned again one level down. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › MRP Koşusu (Production › Production Planning › MRP Run) - **Screen route:** `/erp/demand/mrp` - **Required permission:** `erp-demand-material-requirements.view (liste, kart ayrıntısı, simülasyon, gece işi ayarını görme)`, `erp-demand-mrp-runs.create (MRP'yi Çalıştır, gece işi ayarını değiştirme)` > **The list is a simulation** Every time you open the screen, the list is **recalculated on the server and nothing is written**. Documents are written only with **MRP'yi Çalıştır** (Run MRP) (or by the nightly job). As soon as a document (order, goods receipt, production order) is saved, the list changes too. ## List ![MRP Run — planned products, proposals and exceptions](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-listesi.png) 1. Run MRP — writes requisition and planned orders 2. Simulation — scenario, writes nothing 3. Nightly job — automatic run every night 4. Only items with proposals 5. Proposed quantity and its outcome (requisition / planned order) 6. Exception badges — hover for the message | Column | Meaning | |---|---| | **Malzeme** (Material) | The item's code and name. Clicking the row opens the **Stok/İhtiyaç Listesi** (Stock/Requirements List). | | **Durum** (Status) | The item's place in the run — see the table below. For an item that is not planned, the reason is shown on the row. | | **Eldeki** (On Hand) | Current stock (in the item's base unit). | | **Güvenlik Stoğu** (Safety Stock) | The item's **Minimum stok** (Minimum stock) value; 0 if not defined. | | **İlk Eksik** (First Shortage) | The requirement date of the first proposal. | | **Önerilen** (Proposed) | Total quantity of the proposals; below it, the number of proposals and their outcome ("talep olur" — becomes a requisition, "planlı emir olur" — becomes a planned order, "siparişe bağlı planlı emir olur" — becomes a planned order linked to a sales order). | | **İstisnalar** (Exceptions) | Badges for situations that need attention. Hovering over a badge shows the server's message. | The sort order is fixed: items with proposals first, then the one with the nearest first shortage, then by code. **Filters:** **Ara** (Search; material code or name), **Durum** (Status), **Yalnız önerisi olanlar** (Only with proposals; work to do), **Yalnız istisnalılar** (Only with exceptions; needs attention), **Benim ürünlerim** (My products; items whose **MRP sorumlusu** (MRP controller) is the signed-in user). If there are no items, the list says "Planlanan kart yok — kartın planlama stratejisi "planlama yok" ise MRP onu planlamaz." (No planned items — if an item's planning strategy is "no planning", MRP does not plan it.) ### Statuses | Status | When | Outcome of the proposal | |---|---|---| | **Satın Alma** (Purchasing) | The item's **Varsayılan tedarik yolu** (Default procurement type) is *Satın Al* (Purchase) | In the run it becomes a line on a single draft purchase requisition. | | **Üretim** (Production) | The item's **Varsayılan tedarik yolu** (Default procurement type) is *Üret* (Produce) | In the run it becomes a planned production order and its BOM is exploded. | | **Siparişe Özel** (Order-Specific) | The item's **Planlama stratejisi** (Planning strategy) is *Siparişe Üretim* (Make to Order) | For a produced item the proposal is made per sales order item and becomes a planned order **linked to the sales order item** (the row shows a **Siparişe üretim** (Make to order) badge). For a configurable item, the planned order carries the configuration of the sales order item. | | **Planlanmıyor** (Not Planned) | The item is inactive or outside its validity, discontinued, blocked by its material status, or has no procurement type | No proposal; the reason is on the row: "Kart pasif ya da geçerlilik penceresi dışında." (The item is inactive or outside its validity window.), "Kesilen kart — kalan ihtiyaç halefe devredildi." (Discontinued item — the remaining requirement was transferred to the successor.), "Tedarik yolu belirlenmemiş." (No procurement type has been set.) | An item whose **Planlama stratejisi** (Planning strategy) is *Planlama Yok* (No Planning) does not appear in the list at all. ### Exceptions | Badge | Server's message | English meaning | |---|---|---| | Gecikmiş ihtiyaç (Overdue requirement) | Tarihi geçmiş ihtiyaç bugüne alındı. | An overdue requirement was moved to today. | | Gecikmiş arz (Overdue supply) | Tarihi geçmiş (gelmemiş) arz bugün gelecek sayıldı — tedarikçiyle teyit edin. | Overdue (not received) supply was assumed to arrive today — confirm with the supplier. | | Tarihsiz arz (Undated supply) | Tarihsiz arz bugün gelecek sayıldı. | Undated supply was assumed to arrive today. | | Tarihsiz ihtiyaç (Undated requirement) | Tarihsiz ihtiyaç (üretim emri gereksinimi) bugüne yazıldı. | An undated requirement (production order requirement) was posted for today. | | Yetişmiyor (Cannot be met in time) | Tedarik süresiyle ihtiyaç tarihine yetişmiyor — en erken temin önerinin teslim tarihinde. | With the lead time, the requirement date cannot be met — the earliest availability is the proposal's delivery date. | | Tedarik süresi yok (No lead time) | Tedarik süresi tanımsız — sıfır gün sayıldı; kartın planlama verisine süre girin. | Lead time not defined — zero days assumed; enter a lead time in the item's planning data. | | Birim çevrilemedi (Unit could not be converted) | Birimi temel birime çevrilemeyen belge hesaba girmedi. | A document whose unit could not be converted to the base unit was not included in the calculation. | | Ağaç yok ya da uygun alternatif/geçerli revizyon yok (No BOM, or no suitable alternative/valid revision) | Yayınlanmış ürün ağacı yok — üretim önerisi patlatılamadı, bağımlı ihtiyaç doğmadı. | No published BOM — the production proposal could not be exploded; no dependent requirement was created. | ## How the calculation works MRP follows these steps for each item (server rule; the screen does not calculate): 1. **Elements are collected.** Supply (plus): stock on hand, open purchase orders, open purchase requisitions, expected output of open production orders, **firmed** or **manually created** planned orders, draft production orders. Requirements (minus): approved sales order items, production order requirements, reservations, the **dependent requirement** arising from the parent item's planned order, and the part of the forecast not consumed by orders ([Planned independent requirement](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar)). 2. **An element without a date, or with a past date, is moved to today** and recorded as an exception. 3. **The calculation steps through day by day.** Supply on a given day is processed before the requirements of that day. If, at the end of the day, the available quantity is below the **safety stock** (the item's minimum), a proposal is created. 4. **Proposal quantity:** if the item's **Maksimum stok** (Maximum stock) value is defined, the stock is topped up to the maximum; otherwise the shortage is covered up to the safety stock. Then the quantity is raised to the **Minimum sipariş miktarı** (Minimum order quantity), rounded up to a multiple of the **Sipariş katsayısı** (Order multiple) and rounded up to the decimal precision of the unit. 5. **Date (backward offset):** start = requirement date − **Tedarik süresi (gün)** (Lead time, days). If the start falls before today, delivery becomes today + lead time and the proposal is flagged **Yetişmiyor** (Cannot be met in time); the requirement date does not change. 6. **BOM explosion:** the proposal for a produced item is exploded from the BOM valid on the start date; the component requirement is written to the proposal's **start** date. A component is planned after all of its parent items have been planned. > **Example** **MAM-0005 Dosya Dolabı** (filing cabinet) — on hand 6, minimum 2, maximum 8, lead time 7 days; December forecast 6 pieces. On 01.12.2026 the available quantity is 6 − 6 = 0, below the minimum (2) → proposal 8 − 0 = **8 pieces**, requirement date 01.12.2026, start 24.11.2026. January forecast 4 pieces: 8 − 4 = 4 ≥ 2, no new proposal. The item's planning fields are on the product master record: **Planlama stratejisi** (Planning strategy), **Varsayılan tedarik yolu** (Default procurement type), **MRP sorumlusu** (MRP controller), **Tedarik süresi (gün)** (Lead time, days), **Minimum sipariş miktarı** (Minimum order quantity), **Sipariş katsayısı** (Order multiple) (**Planlama Verileri**, Planning Data) and **Minimum stok** / **Maksimum stok** (Minimum stock / Maximum stock) (**Stok Verileri**, Stock Data). A maximum on its own does nothing; the proposal is triggered by the minimum. ## Run MRP ![Run MRP confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-calistir.png) 1. Unfirmed MRP orders are rebuilt 2. Make to order: order pegged to sales item 3. Run The run is visible only with the `erp-demand-mrp-runs.create` permission. The confirmation window states what will happen: - Proposals for purchased items are written to **a single draft purchase requisition**; the requisition is opened in your name and stays a draft until you submit it. - Proposals for produced items become **planned production orders**. - **Old MRP drafts that have not been submitted or edited** are cancelled and rebuilt; a requisition that has been submitted or edited is not touched — it counts as supply. - **MRP planned orders that have not been firmed** are cancelled and rebuilt; a firmed or changed planned order is not touched. - Make-to-order products become planned orders linked to the sales order item. - A planned order does not post stock; it is converted to a production order on the **Planlı Emirler** (Planned Orders) screen. When the run finishes, the **MRP koşusu tamamlandı** (MRP run completed) section opens above the list: the number of planned products, the number of purchase proposals written to the requisition, the number of planned orders opened; **Açılan taslak talep** (Draft requisition opened; with its number, as a link if you have requisition permission), **Açılan planlı emirler** (Planned orders opened; the first few and "ve N tane daha" — and N more), old drafts and planned orders cancelled because they were rebuilt, and **Talebe ya da planlı emre giremeyen öneriler** (Proposals that could not be added to a requisition or planned order; item and reason). If an error occurs, the window shows "MRP koşusu tamamlanamadı." (The MRP run could not be completed.) and the server's reason. Step by step: [Run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma). > **The list still shows proposals after the run** An MRP planned order that has not been firmed does not count as supply (it is rebuilt in every run); that is why the item's proposal still appears in the list after the run. To "close" the proposal, **Sabitle** (Firm) the planned order or convert it to a production order. ## Stock/Requirements List (item details) ![Stock/Requirements List — item timeline](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-stok-ihtiyac.png) 1. Safety stock = item minimum; proposal fills up to the maximum 2. Proposals — requirement, start, delivery 3. Timeline — available quantity element by element 4. Pegging — where the requirement comes from Clicking a row opens the item's time-phased list (address `/erp/demand/mrp/{itemId}`): - **Summary:** **Eldeki** (On hand) · **Güvenlik stoğu / maksimum** (Safety stock / maximum; "Öneri maksimuma tamamlar" — the proposal tops up to the maximum, or "Öneri açığı kapatır" — the proposal covers the shortage) · **İhtiyaç / arz** (Requirements / supply) · **Tedarik süresi** (Lead time); below that, the item's exceptions with their messages. - **Öneriler** (Proposals): **İhtiyaç** (Requirement) · **Başlangıç** (Start; for purchasing, order date = delivery − lead time) · **Teslim** (Delivery) · **Miktar** (Quantity); for a proposal that cannot be met in time, "Geç — tedarik süresiyle yetişmiyor" (Late — cannot be met with the lead time). For make-to-order, a **Satış siparişi** (Sales order) column ("Sipariş SS-… · Müşteri" — Order SS-… · Customer; a proposal without a link shows "Anonim ihtiyaç" — Anonymous requirement) and a configuration summary. - **Zaman Çizelgesi** (Timeline): **Tarih** (Date) · **Eleman** (Element; Eldeki stok (Stock on hand), Satış siparişi (Sales order), Üretim gereksinimi (Production requirement), Rezervasyon (Reservation), Satın alma siparişi (Purchase order), Üretim çıktısı (Production output), Satınalma talebi (Purchase requisition), Planlı emir (Planned order), Bağımlı ihtiyaç (Dependent requirement), Tahmin (Forecast), MRP önerisi (MRP proposal), Kesilen karttan devir (Transfer from discontinued item), Kesilen kartın stoğu (Stock of discontinued item)) · **Belge** (Document) · **Karşı taraf** (Counterparty) · **Miktar** (Quantity; supply plus, requirement minus) · **Kullanılabilir** (Available; after the element). - **İhtiyaç İzleme** (Requirement Pegging): the **İhtiyaçları İzle** (Trace Requirements) button shows, through the parent items, which sales order, forecast or safety stock the item's requirement comes from: the **Üst talepler** (Parent demands) table and the **İzleme ağacı** (Pegging tree). If the item is not planned in MRP, the details say "Kart MRP'de planlanmıyor — planlama stratejisi "planlama yok" ya da kart stok tutmuyor." (The item is not planned in MRP — its planning strategy is "no planning" or the item is not stock-managed.) ## Simulation ![MRP Simulation — forecast scale and extra demand](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-simulasyon.png) 1. Forecast scale — 100 as is 2. Extra demands — item, date, quantity 3. Simulate — writes nothing 4. Items whose proposal changes (current → scenario) The **Simülasyon** (Simulation) button (with the view permission) opens the **MRP Simülasyonu** (MRP Simulation) window: the scenario goes through the same calculation as a real run, but **no requisitions or planned orders are written**. | Field | Rule | |---|---| | **Tahmin ölçeği (%)** (Forecast scale, %) | Applied to the open remainder of the planned independent requirement — 100 as is, 120 means 20 percent more. An integer between 0 and 500 ("Tahmin ölçeği %0 ile %500 arasında tam sayı olmalı." — The forecast scale must be an integer between 0% and 500%.). | | **Ek talepler** (Additional demands) | Item (searched from the MRP list), requirement date, quantity. At most 200 rows; quantity greater than zero, at most 4 decimals; date at most two years ahead. | **Simüle Et** (Simulate) returns the result in three sections: **Öneriler (mevcut → senaryo)** (Proposals, current → scenario) totals, **Önerisi değişen kartlar** (Items whose proposal changed; **Kart** (Item) · **Durum** (Status) · **Mevcut** (Current) · **Senaryo** (Scenario) · **İlk serbest bırakma** (First release); at most 500 rows) and **İş merkezi kaba yükü** (Rough-cut work center load; **Mevcut** (Current) · **Senaryo** (Scenario) · **Kullanılabilir** (Available) · **Kullanım** (Utilization); rows over 100% are highlighted). Load is not calculated for a product without a routing. ## Nightly Job ![Nightly job — MRP and automatic ordering schedule](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-gece-isi.png) 1. MRP run — every night 2. Automatic order from requisition 3. Run hour — company time 4. Last and next run The **Gece İşi** (Nightly Job) window runs the MRP run and **Talepten otomatik sipariş** (Automatic order from requisition) automatically every night at the selected **Koşu saati** (Run time) (in company time); if the time has already passed on the day it is turned on, the first run happens that night. - Everyone can see the setting; changing it requires the MRP run permission ("Ayarı değiştirmek MRP koşusu yetkisi ister." — Changing the setting requires the MRP run permission.). - Turning on **Talepten otomatik sipariş** (Automatic order from requisition) requires the permissions to create purchase orders and to determine sources; if Source List and Quota are disabled, the switch cannot be turned on ("Kaynak Listesi ve Kota kapalı — otomatik sipariş kaynak belirlemesine dayanır." — Source List and Quota are disabled — automatic ordering relies on source determination.). Turning it off is unrestricted. - **Son ve sıradaki koşu** (Last and next run): the next run time ("Gece işi kapalı" — Nightly job off), the status of the last run ("— başladı, sonuç yazılmadı" — started, no result written; "— tamamlandı" — completed), and the draft requisitions and orders opened, from the server. ## Related - [Run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma) - [Planned orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler) - [Planned independent requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar) - [Material requirements](https://erpdocs.corexlogic.com/en/uretim/ekranlar/malzeme-ihtiyaclari) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Write an operation condition and time formula in a super routing > In the routing of a configurable item, define in which configuration an operation is performed and how the setup, machine and labor times are calculated. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/super-rota-kurali-yazma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Mühendisliği › Rotalar › rota › Yeni Revizyon (Production › Production Engineering › Routings › routing › New Revision) - **Screen route:** `/erp/manufacturing/routings/{id}` - **Required permission:** `erp-manufacturing-routings.edit` - **Prerequisites:** - The routing's output card is configurable and its configuration characteristics are defined. A super routing is the single routing of a configurable card. It uses the same language as the BOM line rule: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar#super-rota). ## Steps 1. In **Rotalar** (Routings), open the routing of the configurable card and click **Yeni Revizyon** (New Revision). 2. On the row of the operation to receive a rule, click the **Seçim koşulu ve formüller** (Selection condition and formulas) button (screen reader name 'N numaralı operasyonun seçim koşulu ve formülleri' (Selection condition and formulas of operation N)). 3. If the operation is to be performed only in some configurations, enter the expression in the **Seçim koşulu** (Selection condition) field and click **Sına** (Test). 4. If the time depends on the configuration, enter the expression in the **Hazırlık formülü (dk)** (Setup formula, min), **Makine formülü (dk)** (Machine formula, min) or **İşçilik formülü (dk)** (Labor formula, min) field. For a field left empty, the fixed time on the row is used. ![Routing revision — operation selection condition and time formulas](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-rota-revizyon.png) 1. Selection condition and formulas — opens below the row 2. Selection condition — operation comes when Yes 3. Time formula — replaces the fixed time 4. Check — validation without saving 5. Create Revision — draft revision 5. Save the draft revision with **Revizyonu Oluştur** (Create Revision), then release the revision. **Result:** On orders opened after the revision is released, operations are selected according to the configuration and times are calculated from the formula; on the routing detail, the rule text appears under each operation. ![Super routing — operation selection conditions and time formulas](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-rota.png) 1. Conditional operation 2. Rule text — condition and formula 3. Fixed time — replaced by the formula ## What you need to know - If the selection condition is **Evet** (Yes), the operation is included in the order; if it is **Hayır** (No) or **unknown**, it is not. Empty = always. - The formula **replaces** the fixed time (it is not added, unlike the quantity formula in the BOM). The result must be between 0 and 1,000,000 minutes and is rounded to two decimals. Machine and labor are per base quantity, setup is per lot. - If a value read by the formula is empty, the order is not opened: `N numaralı operasyonun işçilik formülü hesaplanamadı — konfigürasyonda gereken değer yok.` (The labor formula of operation N could not be calculated — the required value is missing in the configuration.) If the result is not a number: `… sayı vermeli.` (… must return a number.); if it is out of range: `… 0 ile 1000000 dakika arası değer vermeli.` (… must return a value between 0 and 1000000 minutes.) - The selection condition must return Yes/No: `N numaralı operasyonun seçim koşulu Evet/Hayır vermeli.` (The selection condition of operation N must return Yes/No.) - If no operation is selected at all: `Konfigürasyon rotanın hiçbir operasyonunu seçmiyor — rotanın seçim koşullarını düzeltin.` (The configuration selects none of the routing's operations — correct the routing's selection conditions.) - A rule can be saved only in the routing of a configurable card: `Seçim koşulu ve formüllü süre yalnız yapılandırılabilir kartın rotasında kullanılır.` (Selection conditions and formula times are used only in the routing of a configurable card.) - For bulk entry, use the **SecimKosulu**, **HazirlikFormulu**, **MakineFormulu** and **IscilikFormulu** columns on the **Operasyonlar** (Operations) sheet of the Routings import workbook. ## Example — sized conveyor (DMO-KSL-01) | Op. | Rule | On the order with BOY 12.5 · PVC · Koruma Evet | |---|---|---| | 10 Profil kesim (Profile cutting) | Machine formula `2 * BOY * 0.8` | Machine 20 min | | 20 Şase ve makara montajı (Frame and roller assembly) | Labor formula `30 + 6 * BOY` | 105 min | | 30 Bant montajı ve gerdirme (Belt assembly and tensioning) | Labor formula `EGER(BANT_TIPI = 'PU', 40, 25) + 2 * BOY` | 50 min | | 40 Koruma kapağı montajı (Guard cover assembly) | Selection condition `KORUMA = EVET`, labor `3 * BOY` | 37.5 min | | 60 Çalışma testi (Running test) | Labor `EGER(BOY > 10, 30, 20)` | 30 min | ## Related - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) - [Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) --- # Planned orders > MRP's production proposals and manually created planned orders — firming, changing, cancelling and converting to a production order. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler A planned order is a proposal for a produced item: **"this quantity should be produced between these dates"**. The MRP run writes the proposal for a produced item as a planned order; a planner can also create planned orders manually. A planned order **does not post stock** and does not go through the posting period check; production starts only once it is **converted to a production order**. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › Planlı Emirler (Production › Production Planning › Planned Orders) - **Screen route:** `/erp/manufacturing/planned-orders` - **Required permission:** `erp-manufacturing-planned-orders.view (görme)`, `erp-manufacturing-planned-orders.edit (Planlı Emir Aç, Değiştir, Sabitle, Sabitlemeyi Kaldır, İptal Et)`, `erp-manufacturing-orders.create (Üretim Emrine Dönüştür — ayrıca)` ## List ![Planned Orders list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-listesi.png) 1. Open Planned Order — manually 2. Source — MRP or Manual 3. Firm — MRP does not rebuild 4. Resulting production order | Column | Meaning | |---|---| | **Planlı Emir No** (Planned Order No.) | `PLO-yyyy-nnnnnn`; clicking it opens the details. | | **Malzeme** (Material) | The item to be produced. | | **Miktar** (Quantity) | In the item's base unit. | | **Başlangıç** · **Bitiş** (Start · End) | The planned dates. An open order whose start date has passed shows a "Başlangıcı geçti" (Start date passed) flag (the server's decision). | | **Kaynak** (Source) | **MRP** or **Elle** (Manual). | | **Sabit** (Firmed) | A badge on a firmed order; on an MRP order that is not firmed, the warning "Sonraki MRP koşusu bu emri iptal edip yeniden kurar" (The next MRP run will cancel and rebuild this order). | | **Durum** (Status) | See the table below. | | **Satış Siparişi** (Sales Order) | For make-to-order, the linked sales order ("SS-… · Müşteri" — SS-… · Customer); "—" for an unlinked order. | | **Üretim Emri** (Production Order) | The number of the production order it was converted to, with a link. | **Filters:** **Ara** (Search; planned order no. or material), **Durum** (Status), **Sabit** (Firmed; **Tümü · Sabit · Sabit değil**, All · Firmed · Not firmed). The row's **İşlemler** (Actions) menu has **Planlı Emri Aç** (Open Planned Order) and history. **Bulk conversion:** tick the boxes at the start of open planned orders and click **Üretim Emrine Dönüştür** (Convert to Production Order) in the toolbar (at most 50). Each order is converted in its own transaction; a rejected order stays open, and the result window shows the result and reason for each order. ### Statuses | Status | Meaning | Allowed actions | |---|---|---| | **Açık** (Open) | The planned order is waiting. | Convert to Production Order · Change · Firm / Unfirm · Cancel | | **Dönüştü** (Converted) | Converted to a production order; the details show a **Üretim emri** (Production order) link. | None (read-only) | | **İptal** (Cancelled) | Cancelled manually, or cancelled by MRP while rebuilding. | None | | **Seri üretimle karşılandı** (Covered by repetitive manufacturing) | Covered by repetitive manufacturing confirmations. | None | If an action is attempted on a closed order, the server rejects it: "Yalnız açık planlı emir değiştirilir." (Only an open planned order can be changed.), "Yalnız açık planlı emir sabitlenir." (Only an open planned order can be firmed.), "Yalnız açık planlı emir iptal edilir." (Only an open planned order can be cancelled.), "Yalnız açık planlı emir üretim emrine dönüştürülür." (Only an open planned order can be converted to a production order.) ## Firmed and non-firmed planned orders | Planned order | In the next MRP run | Counted as supply in MRP? | |---|---|---| | Created by MRP, **not firmed** | Cancelled and rebuilt according to requirements | No — the item's proposal keeps appearing in the list | | Created by MRP, **firmed** or **changed** | Not touched | Yes; its components become dependent requirements | | Created **manually** | Not touched | Yes | ## Details ![Planned order detail — actions and component preview](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-detay.png) 1. Convert to Production Order — draft order 2. Change — quantity and dates; firms the order 3. Firm 4. Cancel — reason required 5. Component preview — from the latest released BOM The details show **Durum** (Status), **Malzeme** (Material), **Miktar** (Quantity), **Kaynak** (Source; MRP koşusu / Elle açıldı — MRP run / Created manually), **Başlangıç** (Start), **Bitiş** (End), **Sabit** (Firmed; by whom, when), **Oluşturan** (Created By), **Satış siparişi** (Sales order; "Dönüşümde üretim emrine bağ olarak geçer" — passed to the production order as a link on conversion), **Üretim emri** (Production order) if converted, and **İptal** (Cancellation; reason and time) if cancelled. **Bileşen Önizlemesi** (Component Preview) uses the same calculation as the requirements that will be frozen at release after conversion: from the item's most recently published BOM, including scrap and rounding, in the base unit. If it cannot be calculated, the server's reason is shown: "Bileşenler hesaplanamadı — başlangıç gününde geçerli üretim ağacı ya da miktara uyan alternatif yok, kart yapılandırılabilir ya da birim çevrimi eksik." (Components could not be calculated — there is no production BOM valid on the start date or no alternative matching the quantity, the item is configurable, or a unit conversion is missing.) ### Actions | Button | Window | Result | |---|---|---| | **Üretim Emrine Dönüştür** (Convert to Production Order) | "Kartın en son yayınlanmış ürün ağacından taslak üretim emri açılır; miktar ağacın esas biriminde, tarihler planlı emirden. Planlı emir kapanır." (A draft production order is opened from the item's most recently published BOM; quantity in the BOM's base unit, dates from the planned order. The planned order is closed.) → **Dönüştür** (Convert) | A draft production order is opened and you are taken to its page; the planned order becomes **Dönüştü** (Converted). Step by step: [Convert a planned order to a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme). | | **Değiştir** (Change) | **Miktar** (Quantity), **Başlangıç** (Start), **Bitiş** (End); "Değiştirmek emri sabitler: sonraki MRP koşusu onu iptal edip yeniden kurmaz." (Changing firms the order: the next MRP run will not cancel and rebuild it.) → **Kaydet** (Save) | The values change and the order is firmed. | | **Sabitle** (Firm) | "Sabit emir sonraki MRP koşusunda iptal edilmez; arz sayılır, bileşenleri bağımlı ihtiyaç olur." (A firmed order is not cancelled in the next MRP run; it counts as supply and its components become dependent requirements.) | **Sabit** (Firmed) = Yes. | | **Sabitlemeyi Kaldır** (Unfirm) | "MRP'nin açtığı emir sonraki koşuda iptal edilip ihtiyaca göre yeniden kurulur." (An order created by MRP is cancelled in the next run and rebuilt according to requirements.) | **Sabit** (Firmed) = No. | | **İptal Et** (Cancel) | "Emir kapanır ve arz sayılmaz; ihtiyaç sürüyorsa sonraki MRP koşusu yeni bir öneri üretir." (The order is closed and does not count as supply; if the requirement persists, the next MRP run creates a new proposal.) **Gerekçe** (Reason) required. | **İptal** (Cancelled). | ![Convert to Production Order confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-donustur.png) 1. Convert Validation: quantity greater than zero ("Planlı emir miktarı sıfırdan büyük olmalıdır." — The planned order quantity must be greater than zero.), the decimal limit of the unit (in the form "'ADET' birimi en fazla 0 ondalık kabul eder." — The unit 'ADET' accepts at most 0 decimals.), the start cannot be after the end ("Başlangıç bitişten sonra olamaz." — The start cannot be after the end.), a reason is required for cancellation ("İptal gerekçesi zorunludur." — A cancellation reason is required.). If the order was changed by someone else in the meantime: "Planlı emir bu arada değişti — sayfayı yenileyip yeniden deneyin." (The planned order changed in the meantime — refresh the page and try again.) ## Open Planned Order (manually) ![Open Planned Order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-ac.png) 1. Product — produced, not configurable 2. Quantity — base unit 3. Finish — required 4. Start — empty means finish − lead time 5. Open Planned Order The **Planlı Emir Aç** (Open Planned Order) window in the list header: **Ürün** (Product; produced items only; a configurable product is produced from a configured sales order line), **Miktar** (Quantity; base unit), **Bitiş** (End; required), **Başlangıç** (Start; if left blank, end − the product's lead time; if no lead time is defined, the end date). **Planlı Emri Aç** (Open Planned Order) opens the order and takes you to its page. A manually created planned order counts as supply; MRP does not cancel and rebuild it. Cases the server rejects: "'KOD' pasif — pasif kart için planlı emir açılamaz." ('KOD' is inactive — a planned order cannot be opened for an inactive item.), "'KOD' üretilen stok kartı değil — planlı emir açılamaz." ('KOD' is not a produced stock item — a planned order cannot be opened.), "'KOD' yapılandırılabilir kart — üretim yalnız yapılandırılmış bir satış siparişi satırından açılır." ('KOD' is a configurable item — production can be opened only from a configured sales order line.) ## Related - [Convert a planned order to a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme) - [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Test a super BOM by configuring it > Enter values without saving and see which lines of the super BOM go into the order and in what quantity — the reason and calculation line by line. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağaçları › ürün ağacı › revizyon › Yapılandırarak Dene (Production › Master Data › Bills of Materials › BOM › revision › Configure and Test) - **Screen route:** `/erp/manufacturing/boms/{id}/revisions/{revisionId}` - **Required permission:** `erp-manufacturing-boms.view` - **Prerequisites:** - The BOM's output card is configurable (the button is visible only then). It works on draft and released revisions. The window uses the **same** resolver as production order release: a line included here is also included on the order. The difference: the window shows values per base quantity and without rounding; on the order, the order quantity, scrap and unit rounding are added. Default values are not prefilled in the window; you enter every characteristic yourself. ## Steps 1. In **Ürün Ağaçları** (Bills of Materials), open the BOM and the revision to test; click **Yapılandırarak Dene** (Configure and Test). 2. Enter the values in the **Özellik değerleri** (Characteristic values) section. Numbers are entered in the box with a decimal comma; the allowed range is shown under the field. 3. Select characteristics with options and Yes/No characteristics from the list. Characteristics whose precondition is met appear immediately; a calculated characteristic shows its value with the note 'Hesaplanan — kuraldan.' (Calculated — from rule.) 4. In the **Emre gelecek malzemeler** (Materials going into the order) table, check the **Sonuç** (Result: Gelir (Included) / Gelmez (Not included)), **Neden** (Reason) and **Miktar** (Quantity) columns of each line; on a formula line, the calculation is shown under the quantity (e.g. `2 * BOY * 1.02 = 25,5`). ![Try with Configuration — line results and quantity calculation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-simulasyon.png) 1. Characteristic values — entered as on the sales line 2. Characteristic computed by a procedure 3. How many lines come, how many do not 4. Calculation of a formula quantity 5. Why the line does not come 6. Expression condition Yes — line comes 5. Try the extreme values (smallest and largest value, both sides of a limit, optional field empty); to start again, click **Değerleri Temizle** (Clear Values). When finished, click **Kapat** (Close). **Result:** Nothing is saved. If there is a rule error, correct the BOM and try again; if the result is correct, release the revision. ## Messages in the window | Displayed | English meaning | Meaning | |---|---|---| | `10 satır gelir · 2 satır gelmez · temel miktar 1 ADET` | 10 lines included · 2 lines not included · base quantity 1 pc | Summary | | `Gelir — koşulsuz satır.` | Included — unconditional line. | Unconditional line | | `Gelir — Bant Tipi PVC Endüstriyel.` | Included — Belt Type PVC Industrial. | The option condition was met | | `Gelmez — Tank Hacmi girilmedi (koşul: 1.000 L).` | Not included — Tank Volume not entered (condition: 1,000 L). | The condition characteristic was not entered | | `Gelmez — Bant Tipi PVC Endüstriyel (koşul: PU Gıdaya Uygun).` | Not included — Belt Type PVC Industrial (condition: PU Food Grade). | The value entered is not among the checked values | | `Gelir — koşul Evet: BOY > 10.` · `Gelmez — koşul Hayır: BOY <= 10.` | Included — condition Yes: `BOY > 10`. · Not included — condition No: `BOY <= 10`. | Result of the expression condition | | `Gelmez — koşulun okuduğu değer girilmedi: KORUMA = EVET.` | Not included — the value read by the condition was not entered: `KORUMA = EVET`. | A characteristic read by the expression is empty — the result is unknown | | `1 × Çıkış Sayısı (6) = 6` | 1 × Number of Outlets (6) = 6 | Characteristic × factor calculation | | `Satış satırı bu değerlerle kaydedilemez: 'Kabin Eni' özelliğinin değeri girilmemiş.` | The sales line cannot be saved with these values: no value has been entered for characteristic 'Kabin Eni'. | A sales line cannot be saved with these values (required field, range, constraint) | | `N. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (…)` | The quantity formula of line N is unknown — one of the values it reads is missing in the configuration (…) | A value read by the formula is empty — the order cannot be opened | | `Bu değerlerle ağacın hiçbir satırı gelmiyor — emir açılmaz.` | With these values, no line of the BOM is included — the order cannot be opened. | No line was selected | | `'…' iki satırdan birden geliyor — emirde bir kart tek satır olur; koşulları düzeltin.` | '…' is included from two lines — a card is a single line on an order; correct the conditions. | The same card from two lines | | `Değerler standart varyant … ile aynı — varyantın kendi ağacı varsa emir onu kullanır.` | The values are the same as standard variant … — if the variant has its own BOM, the order uses it. | The values equal a standard variant | | `Sayı olmalı: … — bu değerler gönderilmedi.` | Must be a number: … — these values were not sent. | A non-numeric value was entered in a number box | ![Precondition — Width and Height are asked for Custom Size](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kosul-on-kosul-deneme.png) 1. Condition characteristic — Custom Size selected 2. Characteristics shown by the precondition 3. Required, asked and empty — the line cannot be saved 4. Condition reads a missing value — line does not come ## Related - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) - [Define a line rule](https://erpdocs.corexlogic.com/en/uretim/islemler/satir-kurali-tanimlama) --- # Kanban > Container-based replenishment of a continuously consumed product — control cycle, container statuses and the draft document opened by the empty signal. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/kanban Kanban replenishes a continuously consumed product with **fixed-quantity containers**: when a container is emptied it is reported, and a replenishment document is opened automatically according to the selected strategy. No MRP calculation is needed; the requirement is the container becoming empty. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Kanban › Kanban Panosu · Kanban Kontrol Döngüleri (Production › Kanban › Kanban Board · Kanban Control Cycles) - **Screen route:** `/erp/manufacturing/kanban` - **Required permission:** `erp-manufacturing-kanban.view (görme)`, `erp-manufacturing-kanban.create (kontrol döngüsü oluşturma ve değiştirme)`, `erp-manufacturing-kanban.edit (kap sinyalleri: Kullanıma Al, Boş Bildir, Dolu İşaretle)` ## Control cycle A **control cycle** (`KBN-yyyy-nnnnnn`) is defined per product × supply warehouse: the number of containers, the container quantity and the replenishment strategy. A product can have only one cycle in a warehouse. | Replenishment strategy | What the empty signal opens | |---|---| | **İç üretim** (In-house production) | A **draft production order** (for the container quantity) from the production BOM valid today | | **Dış tedarik** (External procurement) | A **draft purchase requisition** (requisition source "Kanban") | | **Stok transferi** (Stock transfer) | A transfer reservation from the **Kaynak depo** (Source warehouse) | ![Kanban Control Cycles list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kanban-donguleri.png) 1. Create Control Cycle 2. In-house · External · Stock transfer 3. Container status summary The **Kanban Kontrol Döngüleri** (Kanban Control Cycles) list: **Döngü No** (Cycle No.) · **Ürün** (Product) · **Tedarik Deposu** (Supply Warehouse) · **İkmal Stratejisi** (Replenishment Strategy) · **Kap Miktarı** (Container Quantity) · **Kaplar** (Containers; e.g. "3 kap · 1 dolu · 1 kullanımda · 1 ikmalde" — 3 containers · 1 full · 1 in use · 1 in replenishment) · **Durum** (Status). Filters **Ara** (Search), **Depo** (Warehouse), **Durum** (Status; **Tümü · Aktif · Pasif**, All · Active · Inactive). **Kontrol Döngüsü Oluştur** (Create Control Cycle) opens the window; changes are made from the row's **İşlemler** (Actions) menu. Step by step: [Create a kanban control cycle](https://erpdocs.corexlogic.com/en/uretim/islemler/kanban-kontrol-dongusu-olusturma). ## Kanban Board ![Kanban Board — container statuses](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kanban-panosu.png) 1. Control cycle 2. Container in replenishment and its document 3. Set In Use 4. Signal Empty — opens replenishment 5. Mark Full — when goods arrive The board shows only **active** cycles; the containers of each cycle are drawn as tiles. Filters **Ara** (Search) and **Depo** (Warehouse). A tile shows the container number, its status, who last changed it and when, and — for a container in replenishment — the document opened (as a link if you have permission to view that document). | Container status | Meaning | Buttons | |---|---|---| | **Dolu** (Full) | Ready for use | **Kullanıma Al** (Put into Use) · **Boş Bildir** (Report Empty) | | **Kullanımda** (In Use) | Being consumed on the line | **Boş Bildir** (Report Empty) · **Dolu İşaretle** (Mark Full) | | **İkmalde** (In Replenishment) | Reported empty; replenishment document open | **Dolu İşaretle** (Mark Full) | - **Boş Bildir** (Report Empty) opens the strategy's document and the container becomes **İkmalde** (In Replenishment). If the document cannot be opened, the server's message is shown on the tile and the container does not change (e.g. "Kap ikmale alınamaz: …" — The container cannot be put into replenishment: …; "Kontrol döngüsü pasif — sinyal verilemez." — The control cycle is inactive — no signal can be given.). - **Dolu İşaretle** (Mark Full) returns the container to **Dolu** (Full) when the goods arrive. No empty signal can be given in an inactive cycle; an open replenishment can still be marked full. - If the same container is reported empty a second time: "Kap N zaten ikmalde (BELGE-NO)." (Container N is already in replenishment (DOCUMENT-NO).); a container that is not full cannot be put into use ("Yalnız dolu kap kullanıma alınır." — Only a full container can be put into use.), and a full container cannot be marked full again ("Kap zaten dolu." — The container is already full.). On the demo board, the empty signal of container 1 in **KBN-2026-000001** (HAM-0066 Sunta Vidası (chipboard screw), Hammadde Deposu (raw material warehouse), Dış tedarik, 3 × 500 ADET) opened the draft requisition **TLP-2026-000003**, and the signal of container 1 in **KBN-2026-000002** (YM-0003 Masa Ayak Takımı (desk leg set), Mamul Deposu (finished goods warehouse), İç üretim, 2 × 4 ADET) opened the draft production order **UE-2026-000007**. ## Cycle rules | Rule | Message | |---|---| | Product × warehouse is unique | "'KOD' için bu depoda zaten bir kanban kontrol döngüsü var." (A kanban control cycle already exists for 'KOD' in this warehouse.) | | For in-house production the item must be producible | "'KOD' üretilebilir değil — iç üretim stratejisi seçilemez." ('KOD' is not producible — the in-house production strategy cannot be selected.) | | For external procurement the item must be purchasable | "'KOD' satın alınabilir değil — dış tedarik stratejisi seçilemez." ('KOD' is not purchasable — the external procurement strategy cannot be selected.) | | A configurable parent item cannot be used | "'KOD' yapılandırılabilir üst kart — kanbana somut kart girer." ('KOD' is a configurable parent item — kanban takes a concrete item.) | | For stock transfer the source warehouse is required and must be different | "Stok transferi için aktif bir kaynak depo seçin." (Select an active source warehouse for stock transfer.), "Kaynak depo kanbanın deposundan farklı olmalı." (The source warehouse must be different from the kanban's warehouse.) | | Container quantity > 0, number of containers 1–99 | "Kap miktarı sıfırdan büyük olmalı." (The container quantity must be greater than zero.), "Kap sayısı 1–99 arasında olmalı." (The number of containers must be between 1 and 99.) | | The strategy cannot change while a container is in replenishment | "İkmaldeki kap varken ikmal stratejisi ya da kaynak depo değişmez — önce kapları dolu işaretleyin." (The replenishment strategy or source warehouse cannot change while a container is in replenishment — mark the containers full first.) | | The number of containers is reduced only by removing full containers | "Kap sayısı yalnız dolu kaplar çıkarılarak azalır — kullanımdaki ve ikmaldeki kaplar kalır." (The number of containers is reduced only by removing full containers — containers in use and in replenishment remain.) | ## Related - [Create a kanban control cycle](https://erpdocs.corexlogic.com/en/uretim/islemler/kanban-kontrol-dongusu-olusturma) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) --- # Update parent product prices > Propose sales prices for produced products from their cost estimate with a profit margin and write the selected ones to a price list. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/ust-urun-fiyatlari A sales price is proposed for a produced product from its cost estimate (material, activity and overhead rolled up from the BOM) with a profit margin; the ones you select are written to the price list. A product with incomplete costs gets no proposal. The screen does not create accounting entries; it only updates the price list. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ürün Maliyetlendirme › Üst Ürün Fiyatlarını Güncelle (Production › Product Costing › Update Parent Product Prices) - **Screen route:** `/erp/manufacturing/parent-price-update` - **Required permission:** `erp-sales-price-lists.edit ve erp-inventory-costs.view (ikisi birden)` ![Update Parent Product Prices — calculated proposal](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/maliyet-ust-urun-fiyatlari.png) 1. Price list — explicit prices, active 2. Markup (%) 3. Calculate — writes nothing 4. Proposed = cost × (1 + markup) 5. Write Selected to List ## Fields | Field | Rule | |---|---| | **Fiyat Listesi** (Price List) | An active list with explicit prices. Prices cannot be written to a derived list (its prices come from the base list); if none exists, the screen shows "Açık fiyatlı aktif fiyat listesi yok — Fiyat Listeleri'nde oluşturun." (No active price list with explicit prices — create one in Price Lists.) | | **Kâr Payı (%)** (Profit Margin, %) | Between -100 and 10,000 ("Kâr payı -100 ile 10.000 arasında olmalıdır." — The profit margin must be between -100 and 10,000.). | | **Ondalık** (Decimals) | The number of decimals to which the proposal is rounded, 0–4 (default 2). | | **Kategori** · **Ara** (Category · Search) | Narrow the scope. The scope is produced products, at most 200 ("Kapsam N ürün — en çok 200; kategori ya da aramayla daraltın." — The scope is N products — at most 200; narrow it with a category or search.). | | **Yapı Günü** (Structure Date) | The date of the BOM structure used for the cost estimate. | ## Calculation and writing 1. **Hesapla** (Calculate) — writes nothing. Table: **Ürün** (Product) · **Maliyet** (Cost) · **Mevcut Fiyat** (Current Price) · **Önerilen Fiyat** (Proposed Price) · **Değişim** (Change). The top shows "N ürün · M öneri yok · K seçili" (N products · M without proposal · K selected). 2. **Proposed price = unit cost × (1 + profit margin / 100)**, rounded half up to the number of **Ondalık** (Decimals). Example: cost 1,000.00 TRY, profit margin 30% → 1,300.00 TRY. 3. Tick the ones with a proposal (**Önerisi olanların hepsini seç** — Select all with a proposal) and click **Seçilenleri Listeye Yaz** (Write Selected to List). The confirmation window "Fiyatlar listeye yazılsın mı?" (Write prices to the list?) → **Listeye Yaz** (Write to List). The proposed price replaces the current price; new sales documents propose this price, while the list price on saved documents and sales order lines does not change. For products without a proposal, the reason is shown below the row: | Reason | What to do | |---|---| | "Satılabilir işaretli değil — satış fiyatı girilmez." (Not flagged as salable — no sales price is entered.) | A semi-finished or non-salable product; expected. | | "Yapılandırılabilir ürün — fiyatı karakteristik farklarıyla verilir." (Configurable product — its price is given with characteristic surcharges.) | Give the price with the price list's characteristic surcharges. | | "Faaliyet tarifesi tanımsız: ABKANT, …" (Activity rate not defined: ABKANT, …) | Enter activity rates for the work centers ([Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri)). | | "Maliyet USD, liste TRY — kur çevrimi yok." (Cost in USD, list in TRY — no currency conversion.) (currencies are examples) | The cost is needed in the list's currency. | | "Önerilen fiyat geçersiz (eksi ya da sınır dışı)." (Proposed price invalid (negative or out of range).) | Correct the profit margin. | If one of the selected products has a problem, no price is written: "N üründe sorun var — hiçbir fiyat yazılmadı." (N products have problems — no prices were written.) If the list was changed at the same time: "Liste fiyatları aynı anda değiştirildi — yeniden hesaplayıp deneyin." (The list prices were changed at the same time — recalculate and try again.) The details of the cost estimate are on the **Maliyet Tahmini** (Cost Estimate) tab of **Çok Seviyeli Ürün Ağacı** (Multi-Level Bill of Materials): [Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci). > **In the demo environment** Because the demo work centers have no activity rates, none of the produced products gets a proposal, with the reason "Faaliyet tarifesi tanımsız" (Activity rate not defined); the screenshot shows this situation. ## Related - [Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci) - [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) --- # Routings and master recipes > Routing (operation plan) and master recipe list, the create form, revisions, draft and release, operation fields, external processing and production resources/tools. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar A routing states **how and where** an item is produced: the sequence of operations, each operation's [work center](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri), setup/machine/labor time and scrap. When a production order is released, the operations of the published routing are copied to the order; capacity load, operation confirmations and the cost estimate read these operations. A **master recipe** has the same structure but is used for process manufacturing: operations are called **phases**, work centers are called **resources**, and an order released with a master recipe becomes a process order. Both use the same screens; the **Ana Reçeteler** (Master Recipes) list shows only records of the master recipe type. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Mühendisliği › Rotalar · Rota Oluştur · Ana Reçeteler · Ana Reçete Oluştur (Production › Production Engineering › Routings · Create Routing · Master Recipes · Create Master Recipe) - **Screen route:** `/erp/manufacturing/routings` - **Required permission:** `erp-manufacturing-routings.view (görme) · .create (rota ve ana reçete oluşturma) · .edit (başlık, revizyon, yayın) · .import (İçe Aktar)` ## Routing list ![Routings list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-listesi.png) 1. New routing 2. Type — routing or master recipe 3. Lot-size range of the alternative 4. Released revision 5. BOM + routing pairing | Column | Meaning | |---|---| | **Çıktı kartı** (Output item) | The item the routing produces. Clicking it opens the routing details. | | **Tür** (Type) | **Rota** (Routing) or **Ana reçete** (Master recipe). | | **Alternatif** (Alternative) | The item's routing alternative (Alt. 1, Alt. 2…) and its name. | | **Parti büyüklüğü** (Lot size) | The quantity range in which the alternative is valid; blank = any quantity. | | **Yayındaki revizyon** (Published revision) | The most recently published revision. | | **Revizyon** (Revisions) | Number of revisions. | Filters **Ara** (Search) and **Tür** (Type). The **Üretim Versiyonları** (Production Versions) link goes to the BOM and routing pairing. **Dışa Aktar** / **İçe Aktar** (Export / Import) transfer routings in bulk with an Excel workbook. ![Master Recipes list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/recete-listesi.png) 1. New master recipe 2. Recipe of a process product 3. Released revision ## How the routing alternative is selected - If the item has a [production version](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari), the routing comes from the version (if the routing in the version is blank, the order is opened without operations). - If there is no version, the order's routing is selected from the **lowest-numbered** alternative that covers the quantity. ## Routing create form ![Create Routing — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-olustur.png) 1. Type — fixed after saving 2. Output item — produced items only 3. Lot size — alternative selection 4. Internal or external (subcontract) 5. Minutes; machine/labour per base quantity 6. Add Operation — number +10 7. Save — revision 1 as draft | Field | Rule | |---|---| | **Tür** (Type; required) | **Rota** (Routing) or **Ana reçete** (Master recipe). Cannot be changed after saving. | | **Çıktı kartı** (Output item; required) | Produced items only; an inactive item cannot be selected. If the item already has a routing, the new routing becomes the next alternative (the alternative number is assigned on save). | | **Rota adı** (Routing name) | The alternative's name (e.g. "Seri hat" — Series line). | | **Parti büyüklüğü** (Lot size) | Minimum – maximum, in the item's base unit; blank = any quantity. | | **Temel miktar** (Base quantity; required) | Standard values are entered for this quantity; greater than zero. | ### Operations table | Column | Rule | |---|---| | **Operasyon** (Operation) | Number 1–9999, unique within the routing. **Operasyon Ekle** (Add Operation) assigns the next number (in steps of 10). At least 1, at most 99 operations. | | **Açıklama** (Description) | The operation's name. | | **İş merkezi** (Work center; required) | An active work center; an inactive work center cannot be selected. | | **Kontrol anahtarı** (Control key) | **İç işlem** (Internal processing) or **Dış işlem** (External processing, subcontracting). For external processing, select a **Dış işlem hizmet kartı** (External processing service item; a purchased service item); a service item cannot be selected for internal processing. | | **Hazırlık (dk)** (Setup, min) | Fixed setup time; not scaled by quantity on the order. | | **Makine (dk)**, **İşçilik (dk)** (Machine, Labor, min) | Per base quantity; scaled by quantity on the order. Times are 0 or positive, at most two decimals. | | **Fire (%)** (Scrap, %) | Operation scrap, between 0 and 100 (100 excluded). Increases the quantity to be processed by the preceding operations. | Icons at the end of the row: - **Kalıp/aparat** (Production resource/tool) — the operation's production resource/tool (PRT) and **Birim başına kullanım** (Usage per unit). Operations that require the same tool do not overlap in the schedule. Cannot be assigned if the Maintenance module is disabled. - **Seçim koşulu ve formüller** (Selection condition and formulas) — only in the routing of a configurable item: **Seçim koşulu** (Selection condition; in which configuration the operation is included, e.g. `KONTROL_TIPI IN ('PLC')`) and **Hazırlık formülü (dk)** (Setup formula, min), **Makine formülü (dk)** (Machine formula, min), **İşçilik formülü (dk)** (Labor formula, min). Language and examples: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). - **Kaldır** (Remove) — deletes the operation. **Rotayı Kaydet** (Save Routing; for a master recipe **Ana Reçeteyi Kaydet**, Save Master Recipe) saves the routing with revision 1 as **Taslak** (Draft). ## Routing details ![Routing detail — draft revision](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-detay.png) 1. Edit Draft 2. Release — with change number or from today 3. Routing name and lot size 4. Operation work center The upper section shows **Çıktı kartı** (Output item), **Tür** (Type), **Alternatif** (Alternative), **Parti büyüklüğü** (Lot size) and **Temel birim** (Base unit). **Başlığı Düzenle** (Edit Header) changes the routing name and lot size. The **Revizyonlar** (Revisions) table: **Revizyon** (Revision; **Etkin** (Effective) next to the one valid today), **Durum** (Status), **Temel miktar** (Base quantity), **Operasyon** (number of operations), **Yayın** (Release), **Geçerlilik** (Validity), **Değişiklik No** (Change No.). The operations of the selected revision are listed below. | Button | When | What it does | |---|---|---| | **Taslağı Düzenle** (Edit Draft) | On a draft revision | Changes the operations and base quantity (**Taslağı Kaydet**, Save Draft). | | **Yayınla** (Publish) | On a draft revision | The **Rota revizyonu yayınlansın mı?** (Publish routing revision?) window: optional **Değişiklik numarası** (Change number), **Revizyonu Yayınla** (Publish Revision). | | **Yeni Revizyon** (New Revision) | When there is no draft | The **Yeni Revizyon** (New Revision) window opens prefilled with the operations of the highest-numbered revision; **Revizyonu Oluştur** (Create Revision) saves a draft. | ![New routing revision dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rota-yeni-revizyon.png) 1. Prefilled with the latest revision 2. Add operation 3. Create Revision — draft ### Revision statuses | Status | Meaning | Actions | |---|---|---| | **Taslak** (Draft) | The revision being prepared; a routing can have only one draft at a time. | **Taslağı Düzenle** (Edit Draft), **Yayınla** (Publish). | | **Yayınlandı** (Published) | The finalized operation plan; it does not change. | None — changes are made with **Yeni Revizyon** (New Revision). | A revision published with a change number is valid from the number's validity date; one published without a number is valid from today. Validity follows the revision sequence. ## Common messages | Message | English meaning | Cause / solution | |---|---|---| | Rota en az bir operasyon içermelidir. | A routing must contain at least one operation. | An attempt was made to save without operations. | | Operasyon numaraları rota içinde tekil olmalı. | Operation numbers must be unique within the routing. | The same number on two rows. | | N numaralı operasyonun iş merkezi seçilmelidir. | A work center must be selected for operation N. | The work center is blank. | | '…' iş merkezi pasif — rotaya seçilemez. | Work center '…' is inactive — it cannot be selected for a routing. | The work center has been deactivated. | | '…' üretilebilir değil — rota yalnız üretilen karta açılır. | '…' is not producible — a routing can be opened only for a produced item. | A routing cannot be opened for a purchased item. | | N numaralı operasyon iç işlem — hizmet kartı yalnız dış işlemde seçilir. | Operation N is internal processing — a service item can be selected only for external processing. | Set the control key to **Dış işlem** (External processing) or remove the service item. | | Bu rotada zaten düzenlenebilir bir taslak revizyon var. | This routing already has an editable draft revision. | Publish the draft first. | | Rota revizyonu N gg.aa.yyyy tarihinden geçerli olamaz — önceki revizyon M gg.aa.yyyy tarihinden geçerli. | Routing revision N cannot be valid from dd.mm.yyyy — the previous revision M is valid from dd.mm.yyyy. | The date of the selected change number is earlier than the previous revision. | | Bu rota konfigürasyona göre çözülür — emir yapılandırılmış bir satırdan açılmalı. | This routing is resolved by configuration — the order must be opened from a configured line. | A conditional routing cannot be used on an order without a configuration. | | Konfigürasyon rotanın hiçbir operasyonunu seçmiyor — rotanın seçim koşullarını düzeltin. | The configuration does not select any operation of the routing — correct the routing's selection conditions. | None of the selection conditions was met. | | Rota başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyin. | The routing was changed by another user. Refresh the page. | Concurrent change. | ## Related - [Create a routing](https://erpdocs.corexlogic.com/en/uretim/islemler/rota-olusturma) - [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri) - [Production versions](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) - [Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) - [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar) --- # Production versions > Define with which BOM alternative and which routing, in which lot size and on which dates an item is produced. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari A production version defines **with which BOM alternative** and **with which routing** an item is produced, together with the lot size and validity range. If a version is defined, planning, explosion and the production order select the BOM and routing from the version; if no version matches, no BOM is guessed. For an item without versions, the BOM is selected from the lowest-numbered alternative that covers the lot size. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Mühendisliği › Üretim Versiyonları (Production › Production Engineering › Production Versions) - **Screen route:** `/erp/manufacturing/production-versions` - **Required permission:** `erp-manufacturing-boms.view (görme) · .create (oluşturma) · .edit (düzenleme, kilitleme)` There is no separate "Create" menu: a version is created in the **Üretim Versiyonu Oluştur** (Create Production Version) window in the list and changed with the row's **İşlemler › Düzenle** (Actions › Edit) command. A version is not deleted; if it will no longer be used, set it to **Kilitli** (Locked). ## List ![Production Versions list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/versiyon-listesi.png) 1. New production version 2. BOM and routing alternative 3. Validity range 4. Status — Open or Locked | Column | Meaning | |---|---| | **Çıktı kartı** (Output item) | The version's item. | | **Versiyon** (Version) | Version number and name. | | **Ağaç · rota** (BOM · routing) | BOM alternative and routing alternative (e.g. "Ağaç Alt. 1 · Rota Alt. 1" — BOM Alt. 1 · Routing Alt. 1). | | **Parti büyüklüğü** (Lot size) | The valid quantity range; "Her miktar" (Any quantity) = unlimited. | | **Geçerlilik** (Validity) | Start day and (if any) end day. | | **Durum** (Status) | **Açık** (Open) or **Kilitli** (Locked); a repetitive manufacturing version also has a **Seri üretim** (Repetitive manufacturing) badge. | The **Üretim Versiyonları** (Production Versions) link in the routing details filters the list to that item's versions ("Tek kartın versiyonları" — Versions of a single item). ## Create Production Version window ![Create Production Version dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/versiyon-olustur.png) 1. Version — smallest number wins 2. Production BOM alternative 3. Routing — empty means no operations 4. Lot-size range 5. Repetitive — production without orders | Field | Rule | |---|---| | **Çıktı kartı** (Output item; required) | A produced item. Cannot be changed when editing. | | **Versiyon** (Version; required) | Number; unique for the item. If several versions match, the lower number is selected. | | **Ad** (Name) | Short name (e.g. "Hat 2" — Line 2). | | **Ürün ağacı** (BOM; required) | One of the item's BOM alternatives with **production** usage. An engineering BOM cannot be selected. | | **Rota** (Routing) | One of the item's routing alternatives, or **Rota yok — emir operasyonsuz** (No routing — order without operations). | | **Parti büyüklüğü** (Lot size) | Minimum – maximum, in the item's base unit; blank = any quantity. | | **Geçerlilik** (Validity; start required) | The start defaults to today; a blank end = unlimited. The end cannot be before the start. | | **Seri üretim** (Repetitive manufacturing) | A ticked version is produced without orders: the Repetitive Manufacturing Confirmation explodes the BOM on the confirmation date, components are issued by backflush, and open planned orders are reduced. | | **Kilitli** (Locked; only when editing) | A locked version is ignored during selection. Locking the only version of an item makes the item's BOM impossible to find. | ## Selection rule 1. The item's **open** (unlocked) versions whose dates and lot size match the planned quantity are searched. 2. If several match, the **lowest version number** is selected; the BOM and routing come from it. 3. If the item has versions but none matches, no BOM is selected — the order or planned order cannot be opened. 4. If the item has no versions at all, the BOM and routing are selected by the lot size of the alternatives. ## Common messages | Message | English meaning | Cause | |---|---|---| | Üretim versiyonu bir üretim ağacı ister. | A production version requires a production BOM. | No **Ürün ağacı** (BOM) was selected. | | Üretim versiyonu yalnız üretim kullanımındaki ağacı alır. | A production version accepts only a BOM with production usage. | An engineering BOM was submitted. | | Ağaç bu kartın ağaçlarından biri olmalı. · Rota bu kartın rotalarından biri olmalı. | The BOM must be one of this item's BOMs. · The routing must be one of this item's routings. | A BOM/routing belonging to another item. | | '…' için N numaralı versiyon zaten var. | Version N already exists for '…'. | The version number is in use. | | Geçerlilik başlangıcı zorunlu. · Geçerlilik bitişi başlangıçtan önce olamaz. | The validity start is required. · The validity end cannot be before the start. | Date error. | | Üretim versiyonu üretilen bir karta açılır. | A production version is opened for a produced item. | A purchased item was selected. | | Üretim versiyonu başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyin. | The production version was changed by another user. Refresh the page. | Concurrent change. | ## Related - [Define a production version](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-versiyonu-tanimlama) - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) --- # Run MRP > Review the simulation list and run MRP — a draft purchase requisition and planned production orders are written. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › MRP Koşusu (Production › Production Planning › MRP Run) - **Screen route:** `/erp/demand/mrp` - **Required permission:** `erp-demand-material-requirements.view`, `erp-demand-mrp-runs.create` - **Prerequisites:** - The **Planlama stratejisi** (Planning strategy) of the cards to be planned is *Stoğa Üretim* (Make-to-Stock) or *Siparişe Üretim* (Make-to-Order), and the **Varsayılan tedarik yolu** (Default procurement type) is filled in (Planlama Verileri (Planning Data)). - For safety stock, **Minimum stok** (Minimum stock) is defined on the card, and for the proposal ceiling **Maksimum stok** (Maximum stock) (Stok Verileri (Stock Data); optional). - The produced card has a released bill of materials — otherwise the proposal cannot be exploded. The run converts the proposals you see in the list into documents. The list itself is always a simulation; the run writes only with **MRP'yi Çalıştır** (Run MRP) or with the [nightly job](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu). ## Steps 1. Open the **Üretim › Üretim Planlama › MRP Koşusu** (Production › Production Planning › MRP Run) screen. The list is recalculated every time it is opened; nothing is written yet. ![MRP Run — planned products, proposals and exceptions](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-listesi.png) 1. Run MRP — writes requisition and planned orders 2. Simulation — scenario, writes nothing 3. Nightly job — automatic run every night 4. Only items with proposals 5. Proposed quantity and its outcome (requisition / planned order) 6. Exception badges — hover for the message 2. Turn on the **Yalnız önerisi olanlar** (Only items with proposals) switch and review the proposals. To see the reasoning for a card, click its row; the **Stok/İhtiyaç Listesi** (Stock/Requirements List) shows supply, requirements and proposals day by day. ![Stock/Requirements List — item timeline](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-stok-ihtiyac.png) 1. Safety stock = item minimum; proposal fills up to the maximum 2. Proposals — requirement, start, delivery 3. Timeline — available quantity element by element 4. Pegging — where the requirement comes from 3. Check the badges in the **İstisnalar** (Exceptions) column (e.g. **Tedarik süresi yok** (No lead time), **Ağaç yok ya da uygun alternatif/geçerli revizyon yok** (No BOM or no suitable alternative/valid revision)) and correct the card's planning data if necessary. 4. To try a scenario, optionally open **Simülasyon** (Simulation): enter a **Tahmin ölçeği (%)** (Forecast scale, %) and additional demand and press **Simüle Et** (Simulate). The simulation does not write anything. ![MRP Simulation — forecast scale and extra demand](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-simulasyon.png) 1. Forecast scale — 100 as is 2. Extra demands — item, date, quantity 3. Simulate — writes nothing 4. Items whose proposal changes (current → scenario) 5. Click **MRP'yi Çalıştır** (Run MRP). ![Run MRP confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/mrp-calistir.png) 1. Unfirmed MRP orders are rebuilt 2. Make to order: order pegged to sales item 3. Run 6. Click **Çalıştır** (Run) in the window. 7. Go to the planned orders with the **Planlı Emirler** (Planned Orders) link in the result, and to the draft requisition with the requisition number. If there is a **Talebe ya da planlı emre giremeyen öneriler** (Proposals that could not be included in a requisition or planned order) list, resolve the causes. **Result:** The proposals for purchased cards are written to a single **draft purchase requisition** (TLP-yyyy-nnnnnn), and the proposals for produced cards to **planned orders** (PLO-yyyy-nnnnnn). The requisition remains a draft until you send it. Next step: [convert the planned order into a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme). ## What you need to know - **Running again is safe:** an old MRP draft requisition that has not been sent or edited, and MRP planned orders that have not been firmed, are cancelled and rebuilt. A requisition that has been sent or edited, and a planned order that has been firmed, changed or opened manually, are kept and count as supply. The cancelled documents are listed with their numbers in the result section. - **If you want to keep a planned order**, firm it or convert it into a production order before the run. - The window carries a single key against double clicks: a second run from the same window does not open a second requisition. - The proposal for a make-to-order card is generated per sales order item, and the planned order is linked to that item; the configuration comes from the sales order item. - It is normal for proposals to still appear in the list after the run: a planned order from MRP that has not been firmed does not count as supply. - If an error occurs, the window shows "MRP koşusu tamamlanamadı." (The MRP run could not be completed.) and the server's reason; the window stays open and you can try again. ## Related - [MRP run screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) - [Planned orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler) - [Enter planned independent requirements](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Bills of materials > The bill of materials (recipe) list, BOM details, revisions, draft and release, validity, alternative BOMs, engineering and production usage. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari A bill of materials (BOM) states which materials, and how much of each, are needed for the **base quantity** of a produced item (semi-finished or finished product). Production orders, planned orders and MRP calculate material requirements from it. The BOM's content is held in **revisions**: a revision is first created as **Taslak** (Draft), is finalized with **Yayınla** (Publish) and never changes again; changes are made with a new revision. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağaçları · Ürün Ağacı Oluştur (Production › Master Data › Bills of Materials · Create Bill of Materials) - **Screen route:** `/erp/manufacturing/boms` - **Required permission:** `erp-manufacturing-boms.view (görme, Yapılandırarak Dene) · .create (yeni ağaç, Üretim Ağacına Kopyala) · .edit (revizyon açma, düzenleme, yayınlama, başlık) · .import (İçe Aktar)` ## BOM list **Üretim › Ana Veriler › Ürün Ağaçları** (Production › Master Data › Bills of Materials) lists the BOMs of each output item. BOMs are not deleted. ![Bills of Material list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-listesi.png) 1. New bill of material 2. Usage filter — production or engineering 3. Released revision and open draft 4. Click the output item to open the BOM 5. Bulk import from Excel | Column | Meaning | |---|---| | **Çıktı Kartı** (Output Item) | The item the BOM produces (name and code). Clicking it opens the BOM details. | | **Alternatif** (Alternative) | The BOM number of the same item in the same usage (Alt. 1, Alt. 2…) and its name. | | **Revizyon Durumu** (Revision Status) | The published revision and an open draft, if any. | | **Revizyon** (Revisions) | Total number of revisions. | | **Kayıt** (Record) | The BOM's record number. | Filters: **Ara** (Search; output item code or name) and **Kullanım** (Usage; **Tümü** (All), **Üretim** (Production), **Mühendislik** (Engineering)). **Dışa Aktar** (Export) and **İçe Aktar** (Import) transfer BOMs in bulk with an Excel workbook. ## Usage: Production and Engineering | Usage | Purpose | Planning and orders | |---|---|---| | **Üretim** (Production) | The recipe for actual production. | Planning, planned orders, MRP and production orders read only production BOMs. | | **Mühendislik** (Engineering) | Design BOM (product in the design phase). | Not used in planning, explosion or production orders. When ready, it is transferred to production with **Üretim Ağacına Kopyala** (Copy to Production BOM). | ## Alternative BOMs and lot size An item can have several BOMs in the same usage: when a second BOM is saved, it becomes the **next alternative**. Each alternative has an **Alternatif adı** (Alternative name) and a **Parti büyüklüğü** (Lot size; minimum – maximum, in the item's base unit, limits included; blank = any quantity). - If a [production version](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) is defined, planning and orders select the BOM from the version. - If there is no version, planning selects the **lowest-numbered** alternative that covers the quantity. If no alternative matches, no BOM is selected ([Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci) shows this as "Parti büyüklüğüne uyan alternatif yok" — No alternative matching the lot size). - A user who opens a production order manually can also select an alternative outside the range. ## BOM details The BOM details show all revisions of the BOM and their validity. ![BOM detail — revisions and validity](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-detay.png) 1. Release the draft 2. Copy engineering BOM to production 3. Revision effective today 4. Usage, alternative name, lot size 5. Revision valid-from date | Section | Content | |---|---| | **Özet** (Summary) | **Çıktı Kartı** (Output Item), **Toplam Revizyon** (Total Revisions), **Yayında** (Published; the most recently published revision), **Bugün etkin** (Effective today; the revision valid today; if its validity has not started yet, "Geçerliliği henüz başlamadı" — Validity has not started yet). | | **Değişmezlik ve geçerlilik** (Immutability and validity) | Rule reminder: a published revision cannot be changed or deleted. | | **Kullanım ve Alternatif** (Usage and Alternative) | **Kullanım** (Usage), **Alternatif** (Alternative), **Parti büyüklüğü** (Lot size) and the other BOMs of the same item. **Başlığı Düzenle** (Edit Header) can also be opened here. | | **Revizyonlar** (Revisions) | The revision list, newest at the top. | Buttons in the header: | Button | When it is shown | What it does | |---|---|---| | **Yayınla (Rev. N)** (Publish, Rev. N) | When there is a draft revision, with the edit permission | Opens the publish window ([Publish a BOM](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama)). | | **Yeni Revizyon** (New Revision) | When there is no draft, with the edit permission | Opens the new draft revision form ([Open a revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma)). | | **Çok Seviyeli Göster** (Show Multi-Level) | On a production BOM with a published revision | Opens the item's multi-level explosion. | | **Üretim Ağacına Kopyala** (Copy to Production BOM) | On an engineering BOM, with the create permission | Copies the most recently published revision (or the draft if there is none) as a new production alternative. | | **Başlığı Düzenle** (Edit Header) | With the edit permission | Changes **Kullanım** (Usage), **Alternatif adı** (Alternative name) and **Parti büyüklüğü** (Lot size). The range immediately affects the next MRP run and order selection; the content of published revisions does not change. | ![Released production BOM — new revision](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-detay-uretim.png) 1. New Revision — only when no draft exists 2. Multi-level explosion 3. Revision status ### Revisions table | Column | Meaning | |---|---| | **Revizyon** (Revision) | Revision number; the **Etkin** (Effective) badge next to the one valid today. | | **Durum** (Status) | **Taslak** (Draft) or **Yayınlandı** (Published). | | **Temel Çıktı** (Base Output) | The revision's base quantity and unit. | | **Yayın Tarihi** (Release Date) | The day it was published. | | **Geçerlilik** (Validity) | The first day on which the revision is valid. | | **Değişiklik No** (Change No.) | The number, if the revision was published with a change number. | | **İşlem** (Action) | The **İşlemler** (Actions) menu: **Görüntüle** (View); on a draft also **Düzenle** (Edit) and **Yayınla** (Publish). | ## Revision statuses | Status | Meaning | Allowed actions | |---|---|---| | **Taslak** (Draft) | The revision being prepared. A BOM can have only **one** draft at a time. | **Düzenle** (Edit), **Yayınla** (Publish). A draft is not deleted; it is corrected or published. | | **Yayınlandı** (Published) | The finalized production definition. | No changes at all. For changes, **Yeni Revizyon** (New Revision). A published revision does not return to draft. | ### Validity and effective revision - A revision published without selecting a change number is valid **from the release date**. - A revision published with a [change number](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) is valid from the number's **valid-from date**; until that day the previous revision remains effective. - The **effective revision** is the highest-numbered revision whose validity has started on that day. MRP explodes a planned order with the BOM valid on its start date. - Publishing does not affect existing production orders: each order selects its own revision, and the material requirements of a released order stay frozen. On a manually opened production order, the plan list shows only revisions that are published and whose validity has started; engineering BOMs are not shown. ## Revision details The revision details show **Tanım** (Definition; **Temel Çıktı Miktarı** (Base Output Quantity), **Malzeme Satırı** (Material Lines), **Montaj Firesi** (Assembly Scrap), release and validity information) and the **Malzemeler** (Materials) table (**Sıra** (Seq.), **Malzeme** (Material), **Miktar** (Quantity), **Birim** (Unit)). A draft revision has **Düzenle** (Edit) and **Yayınla** (Publish) in the header; a published revision has no change buttons. ![Draft revision — edit and release](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-revizyon-taslak.png) 1. Edit — draft only 2. Release 3. Component scrap 4. Backflushed line Notes below the material cell: | Note | Meaning | |---|---| | **+ %N fire** (+ N% scrap) | Component scrap; on the order the requirement increases by this percentage. | | **Geri sarf — çıktı üretilen orana göre sarf eder** (Backflush — consumes in proportion to output produced) | A backflush line. | | **N alternatif** · **Strateji: …** (N alternatives · Strategy: …) | The line's alternative items and strategy; alternatives are listed under the primary with the **Alternatif:** (Alternative:) prefix. | | Rule text | In the BOM of a configurable product, the line's condition and formula ([Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar)). | | **Yapılandırılabilir bileşen** (Configurable component) | The component itself is configurable; any value transfers are written as `KOD := ifade` (code := expression). | A revision with by-products and co-products also shows the **Yan / Ortak Ürünler** (By-Products / Co-Products) table (**No**, **Kart** (Item), **Tür** (Type), **Miktar** (Quantity), **Birim** (Unit), **Maliyet Payı** (Cost Share)). ## BOM form **Ürün Ağacı Oluştur** (Create Bill of Materials), **Yeni Revizyon** (New Revision) and draft **Düzenle** (Edit) use the same form. ![Create Bill of Material — completed form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-olustur.png) 1. Output item — produced items only 2. Base quantity — line quantities refer to it 3. Usage — Production or Engineering 4. Add Material — pick several items 5. Component scrap (%) 6. Backflush — consumed automatically with output 7. Save — draft revision 1 is created ### BOM Definition | Field | Rule | |---|---| | **Çıktı Kartı** (Output Item; required) | Only items flagged as "Üretim ürünü" (Production product; semi-finished, finished) are listed. A BOM cannot be defined for an inactive item or a service item. Cannot be changed in a revision; for a different item, create a new BOM. | | **Temel Miktar** (Base Quantity; required) | The output quantity and unit to which the line quantities refer. Greater than zero; an integer for a serial-number-managed output. On the order the requirement is scaled as `satır × plan / temel` (line × plan / base). | | **Montaj Firesi (%)** (Assembly Scrap, %) | Blank = no scrap. All components increase by this percentage; the planned output does not change. Between 0 and 100 (100 excluded), at most two decimals. | | **Kullanım** (Usage) | **Üretim** (Production) or **Mühendislik** (Engineering) (only on a new BOM). | | **Alternatif adı** (Alternative name) | Short name of the alternative (e.g. "Büyük parti, fason montaj" — Large lot, subcontracted assembly). | | **Parti büyüklüğü** (Lot size) | Minimum – maximum; blank = unlimited. The lower limit cannot be greater than the upper limit. | ### Materials In the **Malzeme Ekle** (Add Material) window you can select several items; each becomes a separate line. **Boş Satır** (Empty Line) is for entering a code by typing it. At least one line is required. | Field | Rule | |---|---| | **Malzeme Kartı** (Material Item) | Type a code or name and press [[Enter]]; the magnifier or [[F4]] opens the list. The BOM's own output item, an inactive item and a service item cannot be selected. | | **Miktar** (Quantity) | Per base quantity. Greater than zero; an integer for a serial-number-managed component; up to the decimal precision of the unit. | | **Birim** (Unit) | One of the item's units; must be convertible to the base unit. | | **Bileşen firesi (%)** (Component scrap, %) | On the order the requirement is `ölçeklenen × (1 + fire/100)` (scaled × (1 + scrap/100)), rounded up to the precision of the unit. Alternatives increase too. | | **Geri sarf** (Backflush) | A ticked component is consumed automatically in the planned proportion when output is posted (alternatives too). A serial-number-managed component is not backflushed. | | **Alternatif** › **Ekle** (Alternative › Add) | Adds an allowed alternative item to the line (in order of priority). On a line without alternatives, the item is required. | An item can appear in a revision **only once**, as either primary or alternative. The only exception is the BOM of a configurable product: two lines whose option conditions exclude each other can carry the same item ([Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar)). ### Alternative strategy On a line with alternatives, a **Strateji** (Strategy) is selected: | Strategy | Behavior | |---|---| | **Öncelik** (Priority) | The primary item carries the entire requirement. If the primary's stock is insufficient, the alternatives are proposed in this order on the production order; the planner makes the choice. | | **Kullanım olasılığı** (Usage probability) | An **Olasılık %** (Probability %) is entered for each alternative; the requirement is split by this ratio (order release, draft preview, MRP). The remaining share belongs to the primary (**Birincil kart payı**, Primary item share); the total cannot exceed 100. | ### By-Products / Co-Products Products that arise together with the order's output (at most 20 lines). Added with **Yan / Ortak Ürün Ekle** (Add By-Product / Co-Product). | Field | Rule | |---|---| | **Kart** (Item) | A stock-managed item. Cannot be the BOM's output or a component of the same revision; an item only once. Cannot be a configurable parent item. | | **Miktar**, **Birim** (Quantity, Unit) | Per base quantity of the output; greater than zero, at most 6 decimals. | | **Tür** (Type) | **Yan ürün** (By-product; enters at its current value, and the value is deducted from the order's cost) or **Ortak ürün** (Co-product; shares the cost by its share). | | **Maliyet payı (%)** (Cost share, %) | Only for a co-product; between 0 and 100 (exclusive). The total of the co-products' shares must be less than 100 — the remainder belongs to the main product. | MRP does not count by-products and co-products as components. The by-products/co-products of a published revision do not change. ## BOM of a configurable product (super BOM) If the output item is configurable, the BOM carries all options and a rule can be written on each line: in the edit form, the line's **Kuralı Düzenle** (Edit Rule) icon opens the **Satır Kuralı** (Line Rule) window (option condition, expression condition, formula quantity). On the line of a configurable component, a **value transfer** (calculating the component's characteristic from the parent product's values) is also written; such a line cannot carry alternatives. The **Yapılandırarak Dene** (Try by Configuring) button in the revision details shows, without saving, which lines would come into the order and in what quantity with the characteristic values entered. ![Configurable product BOM — line rules](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-yapilandirilabilir.png) 1. Try With Configuration — test with values 2. Line rule (condition) Language and examples of conditions: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). Steps for trying: [Try by configuring](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme). ## Common messages | Message | English meaning | Cause / solution | |---|---|---| | Bu ürün ağacında zaten düzenlenebilir bir taslak revizyon var. Önce mevcut taslağı yayınlayın ya da güncelleyin. | This BOM already has an editable draft revision. Publish or update the existing draft first. | A new revision cannot be opened while the BOM has a draft. | | Yayınlanmış revizyon değiştirilemez. Değişiklik için yeni bir taslak revizyon oluşturun. | A published revision cannot be changed. Create a new draft revision for changes. | An attempt was made to edit a published revision. | | Yalnız Taslak durumundaki revizyon yayınlanabilir. | Only a revision in Draft status can be published. | The revision was published in another session; refresh the page. | | Bu revizyon yayınlanırsa ürün ağacı grafında döngü oluşur — bir malzeme zinciri dolaylı olarak bu çıktı kartına geri dönüyor. | If this revision is published, a loop is created in the BOM graph — a material chain leads back indirectly to this output item. | One of the sub-BOMs uses this item (indirectly) as a component. | | Ürün ağacı kendi çıktı kartını malzeme olarak içeremez. | A BOM cannot contain its own output item as a material. | The output item was entered on a line. | | Aynı stok kartı bir revizyonda yalnız bir malzeme satırında yer alabilir. | The same stock item can appear on only one material line in a revision. | The same item on two lines; merge the lines. | | Bir stok kartı bir revizyonda birincil ya da alternatif olarak yalnız bir kez yer alabilir. | A stock item can appear only once in a revision, as primary or alternative. | The item is both primary and alternative. | | Revizyon en az bir malzeme satırı içermelidir. | A revision must contain at least one material line. | An attempt was made to save without lines. | | '…' seri takipli — malzeme miktarı tam sayı olmalıdır. | '…' is serial-number managed — the material quantity must be an integer. | A decimal quantity was entered for a serial-number-managed component. | | '…' pasif — pasif stok kartı ürün ağacında kullanılamaz. | '…' is inactive — an inactive stock item cannot be used in a BOM. | The item has been deactivated. | | Bu kartın bu kullanımda en çok … alternatif ağacı olabilir. | This item can have at most … alternative BOMs in this usage. | The alternative limit has been reached. | | Ürün ağacı başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyin. | The BOM was changed by another user. Refresh the page. | Two people edited at the same time; use **Ürün ağacını yeniden yükle** (Reload BOM). | ## Related - [Create a bill of materials](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-olusturma) - [Open a BOM revision](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agaci-revizyonu-acma) - [Publish a BOM](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) - [Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci) - [BOM component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi) - [BOM comparison](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-karsilastirma) - [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar) --- # Convert a planned order into a production order > Open a draft production order from an open planned order — a single order from the detail, several orders collectively from the list. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › Planlı Emirler › planlı emir detayı › Üretim Emrine Dönüştür (Production › Production Planning › Planned Orders › planned order detail › Convert to Production Order) - **Screen route:** `/erp/manufacturing/planned-orders/{id}` - **Required permission:** `erp-manufacturing-planned-orders.edit`, `erp-manufacturing-orders.create` - **Prerequisites:** - The planned order is in **Açık** (Open) status. - The card has a **released production BOM** that is valid on the planned order's start day and fits the quantity. - The card is not configurable (a configurable item is produced from a sales order). A planned order is only a plan; material consumption, operation confirmation and output are recorded on the **production order**. The conversion opens a draft production order and closes the planned order — both together, in a single operation. ## Steps 1. Open the **Üretim › Üretim Planlama › Planlı Emirler** (Production › Production Planning › Planned Orders) screen. ![Planned Orders list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-listesi.png) 1. Open Planned Order — manually 2. Source — MRP or Manual 3. Firm — MRP does not rebuild 4. Resulting production order 2. Click the number of the planned order to convert. Check the materials that will go into the order in the **Bileşen Önizlemesi** (Component Preview) on the detail. ![Planned order detail — actions and component preview](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-detay.png) 1. Convert to Production Order — draft order 2. Change — quantity and dates; firms the order 3. Firm 4. Cancel — reason required 5. Component preview — from the latest released BOM 3. If the quantity or date is to change, first correct it with **Değiştir** (Change) (the order is firmed). 4. Click **Üretim Emrine Dönüştür** (Convert to Production Order). 5. Click **Dönüştür** (Convert) in the window. ![Convert to Production Order confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/planli-emir-donustur.png) 1. Convert **Result:** The draft production order is opened with the number **UE-yyyy-nnnnnn** from the card's latest released BOM; the quantity is in the BOM's base unit, and the dates come from the planned order. The planned order becomes **Dönüştü** (Converted) and is linked to the order in the list. For a make-to-order order, the link to the sales order item passes to the production order. Next step: [release the production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama). ## Convert collectively In the list, check the boxes of the open planned orders and press **Üretim Emrine Dönüştür** (Convert to Production Order) in the toolbar (at most 50 orders). Each order is converted in its own transaction: if one is rejected, the others continue. The result window shows, for each order, the production order opened or the reason. ## What you need to know - The conversion can be rejected with these server messages: - "'KOD' için yayınlanmış üretim ağacı yok — planlı emir ağaçtan üretim emri açar; ağaçsız emri Üretim Emirleri ekranından açın." (There is no released production BOM for 'KOD' — a planned order opens a production order from the BOM; open an order without a BOM from the Production Orders screen.) - "'KOD' ağacının gg.aa.yyyy tarihinde geçerli revizyonu yok — geçerlilik daha sonra başlıyor." (The BOM of 'KOD' has no revision valid on dd.mm.yyyy — validity starts later.) - "'KOD' için N parti büyüklüğünü kapsayan üretim alternatifi yok — alternatiflerin parti büyüklüğü aralığını düzenleyin ya da miktarı değiştirin." (There is no production alternative for 'KOD' covering lot size N — edit the lot-size range of the alternatives or change the quantity.) - "'KOD' için gg.aa.yyyy gününde N miktara uyan üretim versiyonu yok." (There is no production version for 'KOD' that fits quantity N on dd.mm.yyyy.) - "'KOD' temel birimi ağacın çıktı birimine çevrilemiyor." (The base unit of 'KOD' cannot be converted to the BOM's output unit.) - "Yalnız açık planlı emir üretim emrine dönüştürülür." (Only an open planned order can be converted into a production order.) - "Planlı emir bu arada değişti — sayfayı yenileyip yeniden deneyin." (The planned order changed in the meantime — refresh the page and try again.) - A planned order whose start is in the past can be converted; the production order's start is moved to today. - The production order is created as **Taslak** (Draft): material requirements and operations are created when the order is released, from the revision valid at that moment. - The conversion cannot be undone. If you change your mind, cancel the production order; if the requirement persists, the next MRP run generates a new proposal. ## Related - [Planned orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-emirler) - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Multi-level bill of materials > Explode an item's BOM level by level, see the products the item goes into (where-used) and the material cost estimate. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci This report expands an item's BOM level by level together with its subassemblies, shows which products an item goes into, and produces a material/activity cost estimate. The report does not write anything; the calculation is the same as the planned order explosion. The **Çok Seviyeli Göster** (Show Multi-Level) link in the BOM details also opens this screen. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Çok Seviyeli Ürün Ağacı (Production › Master Data › Multi-Level Bill of Materials) - **Screen route:** `/erp/manufacturing/bom-structure` - **Required permission:** `erp-manufacturing-boms.view (patlatma ve kullanım yerleri) · erp-inventory-costs.view (Maliyet Tahmini sekmesi)` The three tabs work with a shared **Kart** (Item) and **Tarih** (Date) value: - **Kart** (Item) — an item with a published BOM (for where-used: an item that appears in a published BOM). - **Tarih** (Date) — the day of the effective structure; blank = today. At every level, the **revision effective on that date** of the production alternatives is used (a revision published with a change number for a future date is not visible until that day). - **Miktar** (Quantity) — in the item's base unit; blank = 1. ## Multi-Level Explosion ![Multi-Level BOM — explosion](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-cok-seviyeli.png) 1. Tabs — explosion, where-used, cost 2. Date — structure effective that day 3. Quantity to explode 4. Expand all levels 5. Node status — expanded, lowest level… The header shows a summary of the selected structure (e.g. `1 ADET MAM-0004 · Alt. 1 · Rev. 1 · 10 düğüm · 02.11.2026 tarihli yapı` — 1 piece MAM-0004 · Alt. 1 · Rev. 1 · 10 nodes · structure as of 02.11.2026). Quantities are calculated the same way as for a planned order: scale × scrap; a line with scrap is rounded up to the precision of the unit; the alternative is selected by lot size. Views: | View | Content | |---|---| | **Girintili** (Indented) | Tree structure. Columns **Kalem** (Item; e.g. 3.1), **Malzeme** (Material), **Miktar** (Quantity), **Fire** (Scrap), **Durum** (Status). Lower levels open with **Tümünü Aç** / **Tümünü Kapat** (Expand All / Collapse All) or the arrow on the row. | | **Özet** (Summary) | The total of the same material across all levels: **Malzeme** (Material), **Toplam Miktar** (Total Quantity), **Geçtiği Yer** (Used In), **Seviye** (Level; **Ara seviye** (Intermediate level) or **En alt seviye** (Lowest level)). **Yalnız en alt seviye** (Lowest level only) filters the materials to be purchased. | Values of the **Durum** (Status) column: | Status | Meaning | |---|---| | **Altı açıldı** (Exploded) | The item has a published BOM; its components are below it (with `Rev. · Alt.` next to it). | | **En alt seviye** (Lowest level) | An item that is not produced — it is procured. | | **Ağaç yok** (No BOM) | A produced item without a published BOM — MRP cannot explode this item. | | **Yapılandırılabilir** (Configurable) | Its BOM cannot be resolved without a configuration; it appears on an order opened from a configured line. | | **Birim çevrimi eksik** (Unit conversion missing) | A conversion between the units of the item and the BOM (or component) is missing — it could not be exploded. | | **Döngü** (Loop) | The item appears in its own parent chain — it was not exploded. | | **Açılmadı** (Not exploded) | Level or node limit — it was not exploded. | | **Parti büyüklüğüne uyan alternatif yok** (No alternative matching the lot size) | The item has a production BOM, but no alternative covers this quantity; adjust the ranges of the alternatives. | | **O tarihte geçerli revizyon yok** (No valid revision on that date) | An alternative matching the range exists, but it has no revision whose validity has started on this date. | A configurable item itself is not exploded: a super BOM can only be resolved with a configuration. To test with values, use **Yapılandırarak Dene** (Try by Configuring) in the BOM revision ([Try by configuring](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme)). ## Where-Used The BOMs in which the item is used as a component or alternative, as an upward chain. ![Where-Used — BOMs containing the item](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/agac-kullanim-yerleri.png) 1. Where-Used tab 2. BOM that uses the item 3. End products of the chain | Column | Meaning | |---|---| | **Seviye** (Level) | Position in the chain; the row arrow opens the upper levels. | | **Üst Kart (ağacın çıktısı)** (Parent Item, output of the BOM) | The output of the BOM that uses the item. | | **Revizyon** (Revision) | The effective revision of that BOM. | | **Miktar** (Quantity) | Per base quantity of the parent item. | | **Not** (Note) | **Son ürün** (End product; top of the chain), **Döngü** (Loop), **Açılmadı** (Not exploded). | The list shows only published **production** BOMs (all alternatives). The "Kullanıldığı Yerler" (Where-Used) tab of the product master record also shows drafts and the engineering BOM. To replace an item in all BOMs: [BOM component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi). ## Cost Estimate Visible only to users with the cost view permission. Estimates the unit cost using the item's effective revision and routing: - **Malzeme** (Material) — the stock valuation of each component (standard if it has a standard price, otherwise moving average); for subassemblies, the total of the components (**Toplandı**, Rolled up). An item without a value shows **Bilinmiyor** (Unknown) and is not counted as zero; if there is an unknown value below it, the total is **Eksik** (Incomplete). - **Faaliyet (hazırlık · makine · işçilik)** (Activity — setup · machine · labor) — the **Operasyonlar (faaliyet)** (Operations, activity) table: **Op.**, **İş Merkezi** (Work Center), durations and the amount from the work center's [activity rates](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri). A work center without a rate shows **Tarife yok** (No rate). - **Genel gider** (Overhead) — the overhead percentage in the rate. The estimate does not create an accounting entry. ## Related - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) - [BOM component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi) --- # Enter planned independent requirements (forecast) > Enter a sales forecast period by period for a planned card; the period's approved orders consume the forecast, and MRP plans the remainder. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/planli-bagimsiz-ihtiyac-girme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Planlama › Planlı Bağımsız İhtiyaçlar › Tahmin Gir (Production › Production Planning › Planned Independent Requirements › Enter Forecast) - **Screen route:** `/erp/demand/independent-requirements` - **Required permission:** `erp-demand-independent-requirements.edit` - **Prerequisites:** - The card's **Planlama stratejisi** (Planning strategy) is not *Planlama Yok* (No Planning) and the card is stock-managed. A forecast brings demand for which no order has arrived yet into planning. As approved sales orders arrive in the period, the forecast is consumed; MRP counts only the **Kalan (MRP)** (Remaining, MRP) quantity as a requirement. ## Steps 1. Open the **Üretim › Üretim Planlama › Planlı Bağımsız İhtiyaçlar** (Production › Production Planning › Planned Independent Requirements) screen and click **Tahmin Gir** (Enter Forecast). ![Planned Independent Requirements — forecast, consumption, remainder](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-tahmin-listesi.png) 1. Enter Forecast 2. Approved orders in the period consume the forecast 3. Remainder enters MRP as demand 4. Show finished periods too 2. Click the **Kart** (Card) field, type the card's code in the search and select it from the list. If the card has unfinished periods, they are loaded into the table. 3. Select the **Dönem türü** (Period type) (Gün (Day) · Hafta (Week) · Ay (Month)). 4. Enter the number of periods to add in the **Sonraki** (Next) box and click **ay ekle** (add months) (**hafta ekle** (add weeks) for weeks, **gün ekle** (add days) for days). Remove a period you do not want with the trash can at the end of the row. 5. Fill in the **Miktar** (Quantity) field of each period; enter a **Not** (Note) if necessary. ![Enter Forecast dialog — monthly periods](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/ihtiyac-tahmin-gir.png) 1. Item — planned stock item 2. Period type — Day, Week, Month 3. Period quantity (base unit) 4. Add next N periods 5. Propose from history — statistical proposal 6. Save — replaces unfinished periods 6. If you wish, open **Geçmişten Öner** (Propose from History), select a model, and fill the rows with the proposal using **Öner** (Propose) and **Öneriyi Forma Aktar** (Transfer Proposal to Form). 7. Click **Kaydet** (Save). **Result:** The card's unfinished periods are replaced by the list you entered. MRP plans the remainder of each period as a requirement on the first day of the period. Next step: [run MRP](https://erpdocs.corexlogic.com/en/uretim/islemler/mrp-kosusu-yapma). ## What you need to know - **Saving is a full replacement:** the window carries all unfinished periods of the card; a period you remove from the table is deleted. Saving with an empty table deletes the future forecast. - A forecast cannot be entered for a past period; finished periods remain as a trace and are not included in MRP. The current period can be entered; MRP moves its requirement to today and writes the **Gecikmiş ihtiyaç** (Overdue requirement) exception. - A card's future periods are of a single type; when you change the period type, the rows are aligned to the new type. - Consumption: **approved** sales order items (including those shipped) whose requested delivery date falls in the period, limited to the forecast. A draft order does not consume. - Example (demo): 6 pcs were entered for December 2026 and 4 pcs for January 2027 for MAM-0005. Because on hand is 6, minimum 2 and maximum 8, MRP generated a proposal of 8 pcs for the 01.12.2026 requirement (PLO-2026-000001). ## Related - [Planned independent requirements screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/planli-bagimsiz-ihtiyaclar) - [MRP run](https://erpdocs.corexlogic.com/en/uretim/ekranlar/mrp-kosusu) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Engineering changes > Change number (revision release with a validity date) and approved change request — statuses, locking, approval and the effect on revisions. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri A **change number** determines **from which day** BOM and routing revisions become valid. If a number is selected when a revision is published, the revision is valid from the number's valid-from date; until that day the previous revision remains effective. MRP explodes a planned order with the BOM valid on its start date. A **change request** (numbered `DTL-`) records the reason for the change, its impact and the objects it affects; when approved, it opens the change number itself. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Mühendislik Değişiklikleri · Değişiklik Talepleri (Production › Master Data › Engineering Changes · Change Requests) - **Screen route:** `/erp/manufacturing/engineering-changes` - **Required permission:** `erp-manufacturing-engineering-changes.view (görme) · .create (değişiklik numarası ve talep açma) · .edit (değiştirme, kilitleme)` ## Engineering Changes list ![Engineering Changes list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-listesi.png) 1. New change number 2. Valid-from date of the number 3. Revisions released with it 4. Active or Locked | Column | Meaning | |---|---| | **Değişiklik No** (Change No.) | `MDN-yyyy-nnnnnn`; assigned on save. | | **Başlık** (Title) | Short name of the change. | | **Geçerlilik** (Validity) | The first day on which revisions published with the number are valid. | | **Revizyon** (Revisions) | The number of revisions published with this number. | | **Durum** (Status) | **Etkin** (Active) or **Kilitli** (Locked). | | **Oluşturan** (Created By) | The user who opened the number. | The **Değişiklik Numarası Oluştur** (Create Change Number) form: **Başlık** (Title), **Değişiklik nedeni** (Reason for change) (both required), **Geçerlilik başlangıcı** (Valid from; required). Details: [Create an engineering change](https://erpdocs.corexlogic.com/en/uretim/islemler/muhendislik-degisikligi-olusturma). ### Statuses and actions | Status | Meaning | Actions (in the details) | |---|---|---| | **Etkin** (Active) | Can be selected in the publish window. | **Değiştir** (Change; title, reason, date), **Kilitle** (Lock). | | **Kilitli** (Locked) | Cannot be selected when publishing a new revision; releases already made with this number remain valid. | **Değiştir** (Change), **Kilidi Kaldır** (Unlock). | The details page shows **Durum** (Status), **Başlık** (Title), **Geçerlilik başlangıcı** (Valid from; **Yürürlükte** (In effect) if it has taken effect), **Oluşturan** (Created By), **Değişiklik nedeni** (Reason for change) and **Nesne Listesi — Ürün Ağacı Revizyonları** (Object List — BOM Revisions; the revisions published with this number). Rules for changing the validity date: - If the number has taken effect and is in use, the date cannot be changed; open a new change number. - Moving the date also moves the revisions published with the number; it cannot be moved into the past. - Validity follows the revision sequence: a revision cannot become valid earlier than the previous revision or later than the next revision. ## Change Requests ![Change Requests list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-talep-listesi.png) 1. New change request 2. Draft, Pending Approval, Approved… 3. Number opened on approval | Column | Meaning | |---|---| | **Talep** (Request) | `DTL-yyyy-nnnnnn`. | | **Başlık**, **Durum** (Title, Status) | The request's name and status. | | **Önerilen Geçerlilik** (Proposed Validity) | The day proposed by the requester; on approval it becomes the validity of the number opened. | | **Değişiklik No** (Change No.) | The `MDN-` number opened on approval. | | **Nesne** (Objects) | Number of affected objects. | | **Açan** (Opened By) | The user who opened the request. | The **Değişiklik Talebi Aç** (Open Change Request) form: **Başlık** (Title), **Neden** (Reason; required), **Etki notu** (Impact note; cost, stock, open orders…), **Önerilen geçerlilik** (Proposed validity; required) and **Etkilenen Nesneler** (Affected Objects) — select the object type (**Ürün ağacı** (BOM), **Rota** (Routing), **Ürün** (Product)) and add a record with **Nesne ekle** (Add object); at least one object is required. **Taslağı Kaydet** (Save Draft) saves the request as **Taslak** (Draft). ![Draft change request](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/muhendislik-talep-detay.png) 1. Submit — for approval or approved directly 2. Edit — draft only 3. Cancel 4. Change number is opened on approval ### Request statuses | Status | Actions | |---|---| | **Taslak** (Draft) | **Düzenle** (Edit), **Gönder** (Submit), **İptal Et** (Cancel). | | **Onay Bekliyor** (Pending Approval) | Approver: **Onayla** (Approve) or **Reddet** (Reject; rejection reason required; the request returns to **Taslak** (Draft)). **İptal Et** (Cancel). | | **Onaylandı** (Approved) | No actions; the `MDN-` number opened is shown in the **Değişiklik numarası** (Change number) field. | | **İptal** (Cancelled) | No actions. | - **Gönder** (Submit): if an approval template for change requests is defined in the setup, the request becomes **Onay Bekliyor** (Pending Approval); if not, it becomes **Onaylandı** (Approved) directly and the change number is opened immediately (in the demo environment DTL-2026-000001 → MDN-2026-000002). - You cannot approve a request you opened yourself; another approver makes the decision. - An approved or cancelled request cannot be cancelled. ## Effect on revision release - The **Değişiklik numarası** (Change number) selector in the publish windows of the [BOM](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari), [routing](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) and [component management](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi) screens lists only **Etkin** (Active) numbers; leaving it blank means "valid from today". - If an approved request is required in **Üretim Ayarları** (Production Settings), a revision can be published only with a number opened from an approved request. ## Common messages | Message | English meaning | Cause | |---|---|---| | MDN-… kilitli — yeni yayında kullanılamaz. | MDN-… is locked — it cannot be used for a new release. | A locked number was selected; use **Kilidi Kaldır** (Unlock) or another number. | | Revizyon yalnız onaylı bir değişiklik talebinin numarasıyla yayınlanır (Üretim Ayarları) — talep açıp onaylatın. | A revision can be published only with the number of an approved change request (Production Settings) — open a request and have it approved. | The setting is on and no number was selected. | | MDN-… onaylı bir değişiklik talebinden açılmadı — yayın için onaylı talebin numarası gerekir. | MDN-… was not opened from an approved change request — releasing requires the number of an approved request. | The setting is on and the number was opened manually. | | MDN-… gg.aa.yyyy tarihinde yürürlüğe girdi — geçerlilik tarihi değiştirilemez; yeni bir değişiklik numarası açın. | MDN-… took effect on dd.mm.yyyy — the validity date cannot be changed; open a new change number. | An attempt was made to change the date of a number in effect. | | Kullanımdaki değişikliğin geçerliliği geçmişe alınamaz. | The validity of a change in use cannot be moved into the past. | The date was moved into the past. | | Revizyon N gg.aa.yyyy tarihinden geçerli olamaz — önceki revizyon M gg.aa.yyyy tarihinden geçerli; geçerlilik revizyon sırasıyla ilerler. | Revision N cannot be valid from dd.mm.yyyy — the previous revision M is valid from dd.mm.yyyy; validity follows the revision sequence. | The number's date is earlier than the previous revision. | | Talep en az bir etkilenen nesne (ürün ağacı, rota ya da ürün) taşır. | A request must have at least one affected object (BOM, routing or product). | No object was added. | | Kendi açtığınız değişiklik talebini onaylayamazsınız. Kararı başka bir onaycı vermeli. | You cannot approve a change request you opened yourself. Another approver must make the decision. | Self-approval was attempted. | | Red gerekçesi zorunludur. | A rejection reason is required. | Rejection without a reason. | | DTL-… taslak değil — değiştirilemez. | DTL-… is not a draft — it cannot be changed. | An attempt was made to edit a submitted request. | ## Related - [Create an engineering change](https://erpdocs.corexlogic.com/en/uretim/islemler/muhendislik-degisikligi-olusturma) - [Publish a BOM](https://erpdocs.corexlogic.com/en/uretim/islemler/urun-agacini-yayinlama) --- # Dispatch an operation to capacity > Dispatch a production order operation to another day (and workstation) in the Capacity Planning Table, or remove the dispatch. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/kapasite-seviyelendirme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Kapasite Planlama › Kapasite Planlama Tablosu (Production › Capacity Planning › Capacity Planning Table) - **Screen route:** `/erp/manufacturing/capacity/planning-table` - **Required permission:** `erp-manufacturing-capacity.view`, `erp-manufacturing-capacity.edit` - **Prerequisites:** - The operation belongs to a **released** or **in-production** production order and has not received its final confirmation (the operation of a draft order is created on release). - The work center's capacity is defined (if not, an 8-hour weekday is assumed). Capacity Load only displays; to balance (level) the load, operations are moved one by one to another day in the Capacity Planning Table. To sequence all open operations at once, use the [Finite Scheduling](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) proposal. ## Steps 1. On the **Üretim › Kapasite Planlama › Kapasite Yükü** (Production › Capacity Planning › Capacity Load) screen, find the overloaded work center; open the table from its row or from the **Planlama Tablosu** (Planning Table) link in the header. ![Capacity Load — work center × week](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-yuku.png) 1. Bucket — Day or Week 2. Include planned orders load 3. Only work centers I am responsible for 4. Required / available hours and utilization % 2. Select the work center in the **İş merkezi** (Work center) field; if necessary, change the window with **Başlangıç** (Start) and **Bitiş** (End). 3. Click **Yerleştir** (Dispatch) on the production order row you want to move. 4. Select the **Başlangıç günü** (Start day); for a work center with workstations, optionally select a **Tezgâh** (Workstation). ![Dispatch Operation dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-yerlestir.png) 1. Start day 2. Dispatch 5. Click **Yerleştir** (Dispatch) in the window. ![Capacity Planning Table — manually dispatched operation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kapasite-planlama-tablosu.png) 1. Select a work center 2. Manually dispatched marker 3. Dispatch — choose the start day 4. Remove — back to base date **Result:** The operation starts on the selected day; its end is calculated from the work center's capacity. The subsequent operations of the same order that were not dispatched manually shift accordingly. To undo the dispatch, click **Kaldır** (Remove) → **Kaldır** on the row: the operation is rescheduled from the order's basic dates. ## What you need to know - Only **production order** operations are dispatched; planned order rows (when **Planlı emirler dâhil** (Include planned orders) is on) only show the load. - A manually dispatched operation stays in place in the next automatic scheduling; the finite scheduling proposal also leaves it in place with a grey bar. - A restricted user can dispatch only the operations of the work centers they are authorized for. - Demo example: operation 30 "Toz boya" (Powder coating) of order **UE-2026-000007** was dispatched to 05.11.2026 at the BOYA work center. ## Related - [Capacity planning screens](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) - [Work centers](https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri) --- # Work centers > The lines, workshops and machines where production takes place; type, hierarchy, supply warehouse, person responsible, capacity, individual capacity and activity rates. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/is-merkezleri A work center states **where** production takes place: a line, a workshop, an assembly bench or a machine group. [Routing](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) operations are assigned to a work center; the work center's capacity is the calendar of the production plan and of the [capacity load](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama). A work center is not deleted; to take it out of use, deactivate it — past orders are not affected. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › İş Merkezleri (Production › Master Data › Work Centers) - **Screen route:** `/erp/manufacturing/work-centers` - **Required permission:** `erp-manufacturing-work-centers.view (görme) · .create (yeni iş merkezi, alt iş merkezi) · .edit (düzenleme, kapasite, tezgâh) · .import (İçe Aktar)` ## List ![Work Centers list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/is-merkezi-listesi.png) 1. New work center 2. Tree / list view 3. Daily capacity (minutes) 4. Click the code to open the card | Column | Meaning | |---|---| | **Kod**, **Ad** (Code, Name) | The code is uppercase and unique. Clicking the code opens the record. | | **Tür** (Type) | **Makine** (Machine), **İşçilik** (Labor) or **Diğer** (Other). | | **Açıklama**, **Sorumlu**, **Sıra** (Description, Responsible, Sequence) | Free description, the person the work is assigned to, position in the list. | | **Günlük kapasite** (Daily capacity) | In minutes and hours (e.g. "480 dk (8 sa)" — 480 min (8 h)), with working days below; if no capacity is defined, **Tanımsız** (Not defined). | | **Durum** (Status) | **Aktif** (Active) or **Pasif** (Inactive). | The **Ağaç** / **Liste** (Tree / List) buttons switch between hierarchical and flat views. Filters: **Ara** (Search), **Tür** (Type), **Durum** (Status), **Üst iş merkezi** (Parent work center). **Dışa Aktar** / **İçe Aktar** (Export / Import) transfer records in bulk with an Excel workbook. Editing is done from the row's **İşlemler** (Actions) menu. ## New Work Center window ![New Work Center dialog — with capacity](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/is-merkezi-olustur.png) 1. Code — suggested from name, unique 2. Type — Machine, Labour, Other 3. Supply warehouse — issues from here 4. Capacity defined 5. (Shift − break) × utilisation × units 6. Create | Field | Rule | |---|---| | **Ad** (Name; required) | The name of the work center. | | **Kod** (Code; required) | Proposed from the name; can be overwritten. Converted to uppercase; must be unique. | | **Tür** (Type) | **Makine** (Machine), **İşçilik** (Labor), **Diğer** (Other) (default for a new record: **Makine**). | | **Üst iş merkezi** (Parent work center) | For grouping (e.g. machines under Talaşlı İmalat (Machining)): load is rolled up, and filters and responsibility cover the child work centers. Capacity and rates are not inherited. A loop cannot be created; a work center cannot be placed under an inactive work center. | | **Tesis** (Plant) | The factory calendar (public holidays, half days, special working days) is read from the plant; the production plan and capacity load skip holidays. | | **Besleme deposu** (Supply warehouse) | The material of the production order is staged in this warehouse (**Malzeme Hazırla**, Stage Material); consumption is posted from here. Must be an active warehouse. | | **Sorumlu** (Responsible) | States who the work is assigned to (failed backflush, confirmation, capacity); it does not grant permissions. | | **Açıklama**, **Sıra** (Description, Sequence) | The sequence is zero or a positive integer. | | **Aktif** (Active) | If off, the work center cannot be selected for new documents and routings. | | **Kapasite tanımlı** (Capacity defined) | If off, planning assumes 8-hour weekdays for this work center and no available time is shown in the load. | When **Kapasite tanımlı** (Capacity defined) is turned on: | Field | Rule | |---|---| | **Vardiya** (Shift) | Start – end time. If the end is before the start, the shift spans midnight. | | **Mola (dk)** (Break, min) | Must be shorter than the shift duration. | | **Kullanım oranı (%)** (Utilization rate, %) | Greater than 0, at most 100, at most two decimals. | | **Bireysel kapasite** (Individual capacity) | Number of machines or people working in parallel. If individual capacities are defined below, it is derived from the number of active ones. | | **Çalışma günleri** (Working days) | **Pzt** … **Paz** (Mon … Sun); at least one day must be selected. | | **Günlük kapasite** (Daily capacity) | (Shift − break) × utilization × individual capacity — the exact value comes from the server after saving. | **Bireysel Kapasiteler** (Individual Capacities): identical machines or benches (CNC-1, CNC-2). **Bireysel Kapasite Ekle** (Add Individual Capacity) lets you enter a name, code and sequence; the code is unique within the work center. There is no delete — deactivate an unused unit. The number of active units is the capacity count; the shift and rate belong to the work center. ## Work center record ![Work center card](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/is-merkezi-detay.png) 1. Hourly rates (cost estimate) 2. Shift, break, utilisation 3. Machine — individual capacity 4. Work center load 5. Child work center | Section | Content | |---|---| | **Genel Bilgiler** (General Information) | **Tür** (Type), **Üst iş merkezi** (Parent work center), **Sorumlu** (Responsible), **Sıra** (Sequence), **Açıklama** (Description). | | **Kapasite** (Capacity) | **Vardiya** (Shift), **Mola** (Break), **Kullanım** (Utilization), **Kapasite sayısı** (Capacity count), **Çalışma günleri** (Working days), **Günlük kapasite** (Daily capacity). If not defined, a **Kapasite Tanımla** (Define Capacity) button. | | **Tezgâhlar** (Machines) | The work center's individual capacities; **Tezgâh Ekle** (Add Machine). | | **Ekipmanlar** (Equipment) | Linked maintenance equipment (**Ekipman** (Equipment), **Ad** (Name), **Tür** (Type), **Tezgâh** (Machine), **Seri No** (Serial No.), **Garanti** (Warranty), **Durum** (Status)); **Ekipman Ekle** (Add Equipment). | | **Alt İş Merkezleri** (Child Work Centers) | Child work centers; **Alt İş Merkezi Ekle** (Add Child Work Center). | Links in the header: **Operasyonlar** (Operations; the work center's work list) and **Kapasite Yükü** (Capacity Load). **Düzenle** (Edit) opens the same window in edit mode. ### Activity rates **Faaliyet Tarifeleri** (Activity Rates; with the cost view permission) holds the work center's hourly rates with dates: **Geçerlilik başlangıcı** (Valid from), **Para birimi** (Currency), **Hazırlık saat ücreti** (Setup hourly rate), **Makine saat ücreti** (Machine hourly rate), **İşçilik saat ücreti** (Labor hourly rate), **Genel gider (%)** (Overhead, %). The rates are used by the [cost estimate](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci); for an operation on a work center without a rate, the estimate total stays blank. ## Common messages | Message | English meaning | Cause | |---|---|---| | '…' kodlu iş merkezi zaten mevcut. | A work center with code '…' already exists. | The code is in use. | | '…' iş merkezi pasif — yeni belgeye seçilemez. | Work center '…' is inactive — it cannot be selected for a new document. | An inactive work center was selected. | | '…' bu iş merkezinin altında — döngü kurulamaz. | '…' is below this work center — a loop cannot be created. | The parent work center was selected from among its own children. | | Mola vardiya süresinden kısa olmalı. | The break must be shorter than the shift duration. | Break ≥ shift. | | Kapasite kullanım oranı 0'dan büyük, en çok 100 ve en çok 2 ondalık olmalı. | The capacity utilization rate must be greater than 0, at most 100 and have at most 2 decimals. | Invalid rate. | | En az bir çalışma günü seçin. | Select at least one working day. | No day is ticked. | | '…' bireysel kapasitesi listede yok — bireysel kapasite silinmez, pasife alın. | Individual capacity '…' is not in the list — individual capacities are not deleted; deactivate it. | An attempt was made to remove a row. | | Besleme deposu aktif bir depo olmalı. | The supply warehouse must be an active warehouse. | An inactive warehouse was selected. | ## Related - [Create a work center](https://erpdocs.corexlogic.com/en/uretim/islemler/is-merkezi-olusturma) - [Routings](https://erpdocs.corexlogic.com/en/uretim/ekranlar/rotalar) - [Capacity planning](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) --- # Create a kanban control cycle > Set up a kanban cycle for an item × supply warehouse with the number of containers, container quantity and replenishment strategy, and use the containers on the board. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/kanban-kontrol-dongusu-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Kanban › Kanban Kontrol Döngüleri › Kontrol Döngüsü Oluştur (Production › Kanban › Kanban Control Cycles › Create Control Cycle) - **Screen route:** `/erp/manufacturing/kanban/control-cycles` - **Required permission:** `erp-manufacturing-kanban.create` - **Prerequisites:** - The item is a concrete stock card (not a configurable parent card). - For in-house production the card has a released production BOM; for external procurement it has the purchasable flag. - There is no other control cycle for this item in the same warehouse. Kanban replenishes a continuously consumed item container by container, without the need for MRP planning. The number of containers and the container quantity are chosen so that they cover consumption during the replenishment lead time. ## Steps 1. Open the **Üretim › Kanban › Kanban Kontrol Döngüleri** (Production › Kanban › Kanban Control Cycles) screen and click **Kontrol Döngüsü Oluştur** (Create Control Cycle). ![Kanban Control Cycles list](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kanban-donguleri.png) 1. Create Control Cycle 2. In-house · External · Stock transfer 3. Container status summary 2. Click the **Ürün** (Item) field, type the code and select the card. Next to the card, Üretilir / Satın alınır (Produced / Purchased) is shown. 3. Select the **Tedarik deposu** (Supply warehouse) — the warehouse where the containers are kept and where replenishment arrives. 4. Select the **İkmal stratejisi** (Replenishment strategy): İç üretim (In-house production), Dış tedarik (External procurement) or Stok transferi (Stock transfer). For stock transfer, the **Kaynak depo** (Source warehouse) is also selected. 5. Enter the **Kap miktarı** (Container quantity, in the base unit) and **Kap sayısı** (Number of containers, 1–99). ![Create Kanban Control Cycle dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kanban-dongu-olustur.png) 1. Product — concrete stock item 2. Supply warehouse — where containers sit 3. Replenishment strategy 4. Quantity per container — base unit 5. Number of containers — 1–99 6. Click **Oluştur** (Create). 7. On the **Kanban Panosu** (Kanban Board), press **Boş Bildir** (Report Empty) in the tile when a container is emptied; when the goods arrive, press **Dolu İşaretle** (Mark Full). ![Kanban Board — container statuses](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kanban-panosu.png) 1. Control cycle 2. Container in replenishment and its document 3. Set In Use 4. Signal Empty — opens replenishment 5. Mark Full — when goods arrive **Result:** The control cycle is set up as active and its containers appear on the board in Dolu (Full) status. Depending on the strategy, each empty signal opens a draft production order, a draft purchase requisition or a transfer reservation; complete the document on the relevant screen. ## What you need to know - The document opened is a draft: sending the purchase requisition or releasing the production order is done on the relevant screen. - If the empty signal is repeated, a second document is not opened; if the container is already in replenishment, the server says "Kap N zaten ikmalde (…)." (Container N is already in replenishment (…).) - Setting the cycle to inactive stops new empty signals; a container in replenishment can still be marked full. - The strategy and the source warehouse cannot be changed while a container is in replenishment; the number of containers can only be reduced by removing full containers from the end. ## Related - [Kanban screens](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kanban) --- # BOM component management > Replace a component, change its quantity, remove it or add it in all BOMs that use it in one step — a new revision in each BOM. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-bilesen-yonetimi When a component changes (the supplier item changed, the quantity was reduced, the part was removed), you do not need to open every BOM that uses it one by one. This screen changes the component in all the BOMs you select in one step: in each BOM **a new revision is opened from the most recently published revision**, and unchanged lines are copied as they are. If even one BOM is rejected, no BOM is changed. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağacı Bileşen Yönetimi (Production › Master Data › BOM Component Management) - **Screen route:** `/erp/manufacturing/bom-components` - **Required permission:** `erp-manufacturing-boms.edit` ![BOM Component Management — preview](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/bilesen-yonetimi.png) 1. Component — item to change 2. Replace, Change Quantity, Remove, Add 3. Release the new revisions? 4. Preview — writes nothing 5. Apply — new revision in each BOM ## Fields | Field | Rule | |---|---| | **Bileşen** (Component; required) | The item to be changed. When selected, the BOMs that use it are listed below. | | **İşlem** (Action) | One of the four actions below. | | **Yeni bileşen** (New component) | Required for **Değiştir** (Replace); cannot be the same as the old one. | | **Miktar** / **Birim** (Quantity / Unit) | For **Değiştir** (Replace), if blank, the old values remain (**Eski miktar**, **Eski birim** — Old quantity, Old unit); for **Miktarı Değiştir** (Change Quantity), the new quantity is required; for **Ekle** (Add), quantity and unit are required. Must be greater than zero. | | **Yayınla** (Publish) | If ticked (**Yeni revizyonlar yayınlanır** — New revisions are published), the new revisions are published immediately; if not ticked, **Yeni revizyonlar taslak kalır** (New revisions remain drafts) — you review and publish them in the BOM. | | **Değişiklik numarası** (Change number) | Only when **Yayınla** (Publish) is ticked. All new revisions are valid with the same number, from the number's validity date; if blank, from today. Only **Etkin** (Active) numbers are listed. | | Action | What it does | |---|---| | **Değiştir** (Replace) | Replaces the component with another item — primary and alternative occurrences; if quantity and unit are blank, the old values remain. | | **Miktarı Değiştir** (Change Quantity) | The component's quantity (and optionally unit) in all occurrences. | | **Çıkar** (Remove) | The component is removed from the BOM. The primary item of an alternative group cannot be removed with this tool — edit it manually in the BOM. | | **Ekle** (Add) | The component is added to the selected BOMs as a new item line. | ## BOMs that use the component The table shows **Ürün** (Product), **Alternatif** (Alternative), **Kaynak** (Source; the revision to be copied) and **Geçişler** (Occurrences; in which item line and with what quantity the component appears, e.g. `Kalem 3: 4 ADET` — item 3: 4 pieces; on a conditional line `· koşullu` — conditional). Select up to **100** BOMs with **Hepsini seç** (Select all) or the boxes at the start of the rows. For a BOM that cannot be selected, the reason is shown in red next to it: - **Ağacın taslak revizyonu var — önce taslağı yayınlayın ya da değişikliği taslakta yapın.** (The BOM has a draft revision — publish the draft first or make the change in the draft.) - **Yayınlanmış revizyonu yok.** (It has no published revision.) Both production and engineering BOMs are listed. ## Preview and Apply 1. **Önizle** (Preview) — writes nothing. The result table shows, for each BOM, **Ürün** (Product), **Revizyon** (Revision; `Rev. 1 → Rev. 2`) and **Değişiklik** (Change) lines (e.g. `Kalem 3: HAM-0049 4 → 6`); if a BOM has a problem, the reason is shown. The header shows "Önizleme — henüz hiçbir şey yazılmadı." (Preview — nothing has been written yet.) 2. **Uygula** (Apply) — becomes available only after a problem-free preview of the same request ("Önizleme sorunsuz — uygulayabilirsiniz." — Preview without problems — you can apply.). The result is "Uygulandı — yeni revizyonlar açıldı." (Applied — new revisions opened.) or "Uygulanmadı — sorunlu ağaç var, hiçbir ağaç değişmedi." (Not applied — there is a problematic BOM; no BOM was changed.) Applying does not change open production orders; orders and MRP runs started after the new revision becomes valid use it. ## Common messages | Message | English meaning | Cause | |---|---|---| | Bileşen seçin. · En az bir ürün ağacı seçin. | Select a component. · Select at least one BOM. | Selection incomplete. | | Bir seferde en çok 100 ürün ağacı değiştirilir. | At most 100 BOMs can be changed at a time. | Too many BOMs selected. | | Yeni bileşen eskisiyle aynı olamaz. | The new component cannot be the same as the old one. | The same item was selected. | | Kalem N: KOD alternatif grubunun birincili — ağaçta elle düzenleyin. | Item N: KOD is the primary of an alternative group — edit it manually in the BOM. | **Çıkar** (Remove) was applied to the primary item. | | KOD bu ağacın en son yayınlanmış revizyonunda yok. | KOD is not in the most recently published revision of this BOM. | The BOM no longer uses the component. | | Değişiklik numarası yalnız yayınla birlikte verilir. | A change number can be given only together with publishing. | A number was selected while **Yayınla** (Publish) was not ticked. | ## Related - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Multi-level bill of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/cok-seviyeli-urun-agaci) — Where-Used - [Engineering changes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/muhendislik-degisiklikleri) --- # BOM comparison > Compare the variant BOMs of a configurable product to work out for which values and in what quantity each component is used; propose a super BOM draft. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaci-karsilastirma If a product has been produced for years with separate variant items (a separate item and a separate BOM for every size, color or power rating), this screen compares those BOMs and proposes **a single super BOM**: for which characteristic values and in what quantity each component is used is derived from the variants. The proposal is not saved; if you wish, it is opened as a draft BOM. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Ana Veriler › Ürün Ağacı Karşılaştırma (Production › Master Data › BOM Comparison) - **Screen route:** `/erp/manufacturing/bom-comparison` - **Required permission:** `erp-manufacturing-boms.view (öneriyi görme) · erp-manufacturing-boms.create (Taslağı Oluştur)` ![BOM Comparison](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/karsilastirma.png) 1. Configurable product 2. Proposal derived from variant BOMs, not saved 3. No comparison without variants ## Usage 1. In the **Ürün** (Product) field, select the configurable product (the list shows the number of variants). If the product has no variants, the screen shows "'KOD' kartının varyantı yok — karşılaştırılacak ağaç yok." (Item 'KOD' has no variants — there are no BOMs to compare.) 2. The summary line shows the number of variants and BOMs and the distribution of components across types. If the product already has a BOM: "Ürünün N ağacı var — taslak sıradaki alternatif olur." (The product has N BOMs — the draft becomes the next alternative.) 3. Review the **Önerilen satırlar** (Proposed lines) table; **Dağılımı göster** (Show distribution) opens the quantity in each variant. 4. The **Varyantlar** (Variants) table (**Varyant** (Variant), **Değerler** (Values), **Ürün ağacı** (BOM): "Ağaç var · Rev N" (BOM exists · Rev N) or "Ağaç yok" (No BOM)) shows which variants were included in the analysis. 5. **Süper Ağaç Taslağı Oluştur** (Create Super BOM Draft; with the create permission) opens the **Süper ağaç taslağı oluşturulsun mu?** (Create super BOM draft?) window; **Taslağı Oluştur** (Create Draft) opens a draft BOM for the selected product. The variant BOMs do not change. ## Line types | Type | Meaning | Included in the draft? | |---|---|---| | **Ortak** (Common) | In all variants with the same quantity — an unconditional line ("Her varyantta" — in every variant). | Yes | | **Koşullu** (Conditional) | A condition or formula reproduces the variants exactly. | Yes | | **İstisnalı** (With exceptions) | The explanation excludes a few variants; **Kurala uymayan varyantlar** (Variants that do not fit the rule) are listed. | Yes — correct the exceptions manually | | **Düzensiz** (Irregular) | Could not be explained with at most two characteristics ("Kural çıkarılamadı" — no rule could be derived). | No — add manually | The **Ne zaman gelir** (When included) column shows the proposed condition (an option condition or an expression containing `EGER`, `VEYA`, `DOLU`), and the **Miktar** (Quantity) column shows the fixed quantity or the formula. Explanation of the language: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). The draft is not used in orders until it is published. Before publishing, test it in the revision with **Yapılandırarak Dene** (Try by Configuring) ([Try by configuring](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme)). If all components are irregular, there are no lines to include in the draft: "Taslağa girecek satır yok — bütün bileşenler düzensiz." (No lines to include in the draft — all components are irregular.) > **Demo environment** The demo company's configurable products were set up with a super BOM from the start; because there are no variant items, the comparison returns the "varyantı yok" (no variants) message. The screen produces a proposal in an installation that has variant items and BOMs. ## Related - [Bills of materials](https://erpdocs.corexlogic.com/en/uretim/ekranlar/urun-agaclari) - [Configurable products](https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler) - [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar) --- # Configurable products > The Configuration tab of the product master record — configuration characteristics, precondition, configuration profile and object dependencies (constraint, procedure, table). URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler A product for which the customer selects options when ordering (size, color, power rating, series…) is created as a **configurable** item. The item's **Yapılandırma** (Configuration) tab defines which characteristics are asked, which of them are asked in which situation, and in which combinations the values are valid. In production these values resolve the super BOM and the super routing: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar). - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma (Master Data › Products › Product Master Data › product details › Configuration) - **Screen route:** `/erp/catalog/products/{id}?tab=yapilandirma` - **Required permission:** `erp-catalog-items.view (görme) · erp-catalog-items.edit (özellik, koşul, kural)` ![Product › Configuration — characteristics, precondition, object dependencies](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/yapilandirma-sekmesi.png) 1. Add Characteristic 2. Characteristic with a precondition 3. Required 4. Default value 5. Object dependency — constraint, procedure, table ## Making an item configurable On the **Yapılandırma** (Configuration) tab of a standard item, the text "Bu ürün standart bir üründür." (This product is a standard product.) is shown. The **Yapılandırılabilir Yap** (Make Configurable) button asks for confirmation with the question "Ürün yapılandırılabilir yapılsın mı?" (Make the product configurable?). A configurable item carries the **Yapılandırılabilir** (Configurable) badge in its header. An item whose characteristics have been removed can be reverted with **Standart Ürüne Döndür** (Revert to Standard Product) ("Standart ürüne döndürmek için önce yapılandırma özelliklerini kaldırın." — To revert to a standard product, first remove the configuration characteristics.). ## Configuration Characteristics | Column | What it shows | |---|---| | **Özellik** (Characteristic) | The characteristic's name; a **Koşullu** (Conditional) badge if it has a precondition | | **Zorunluluk** (Requirement) | **Zorunlu** (Required) or **İsteğe Bağlı** (Optional) | | **Tür / Değer Kullanımı** (Type / Value Usage) | Data type (Seçenek (Option), Tam sayı (Integer), Ondalık (Decimal), Evet / Hayır (Yes / No)…), default value, allowed values; the precondition text (`Koşul: Kabin: Özel Ölçü (En x Boy) olduğunda sorulur` — Condition: asked when Kabin is Özel Ölçü (En x Boy)) | | **İşlem** (Action) | Up/down arrows (question order in sales) and the **İşlemler** (Actions) menu: **Koşul** (Condition), **Düzenle** (Edit), **Kaldır** (Remove) | - **Özellik Ekle** (Add Characteristic) — the "Yapılandırma Özelliği Ekle" (Add Configuration Characteristic) window: selection from the characteristic dictionary or a new characteristic, **Zorunlu** (Required), for an option type **Değerleri sınırla** (Restrict values) and allowed values, for a numeric type **İzinli aralık** (Allowed range; **En az** (Minimum), **En çok** (Maximum), **Adım** (Step)), **Varsayılan değer** (Default value). Steps: [Define a configuration characteristic](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirma-ozelligi-tanimlama). - For an option characteristic, the **×** next to a value label removes the value from the values allowed for this item; **Değer** (Value) adds a new one. - **İşlemler › Koşul** (Actions › Condition) — precondition: [Define a precondition](https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama). ![Condition dialog — characteristic is asked only when the condition holds](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/on-kosul-penceresi.png) 1. Condition value — Cabinet Custom Size 2. Readable form of the condition 3. Remove Condition — always asked 4. Save Rules: - A required characteristic must be filled in for every variant and on every configured sales line (as long as it is asked). - For a numeric characteristic, the value must fit the range and step: `'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım).` (The value of 'Boy' is not within the allowed range (2–30 m, step 0.5 m).) - A disallowed value for a restricted option characteristic: `'…' için seçilen değer bu üründe izinli değil.` (The value selected for '…' is not allowed for this product.) - On a product with variants, a new characteristic is added as optional — existing variants have no value for it. ## Configuration Profile The profile states under which headings the configurator asks the characteristics, whether the product is locked, and whether the BOM is exploded over multiple levels. If there is no profile, the screen shows "Profil tanımlanmadı — ürün serbest ve tek seviyeli yapılandırılır." (No profile defined — the product is configured freely and on a single level.); it is created with **Profil Oluştur** (Create Profile). If the BOM contains a configurable component (a subassembly with value transfer), the output's profile must explode the BOM **over multiple levels**; otherwise order release stops with the message `… satırın bileşeni yapılandırılabilir — çıktının konfigürasyon profili ürün ağacını çok seviyeli patlatmalı.` (The component of line … is configurable — the output's configuration profile must explode the BOM over multiple levels.) ## Object Dependencies "Değerlerin hangi kombinasyonlarda geçerli olduğu ve hangi değerlerin hesaplandığı. Kurallar listedeki sırayla uygulanır." (In which combinations values are valid and which values are calculated. Rules are applied in the order of the list.) **Kural Ekle** (Add Rule) offers three rule types: | Option | Type | What it does | |---|---|---| | **Değer hesapla** (Calculate value) | Procedure | Writes a characteristic's value with **Karar tablosu (önerilen)** (Decision table, recommended) or **Formül (gelişmiş)** (Formula, advanced); **Her zaman hesapla** (Always calculate) or **Girilmezse hesapla** (Calculate if not entered) | | **Sınır koy** (Set a limit) | Constraint | If the expression returns No, the sales line is not saved; the rule's message is shown | | **Tablodan seç** (Select from table) | Table constraint | The combination of values must match a row of a variant table | ![Add Rule — compute value, set a limit, select from table](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kural-ekle.png) 1. Procedure — computes a characteristic 2. Constraint — blocks a forbidden combination 3. Table constraint — variant table 4. Formula — the language of the conditions page A rule that would break an existing variant is not saved. An item can have at most 50 rules. Steps: [Add an object dependency](https://erpdocs.corexlogic.com/en/uretim/islemler/nesne-bagimliligi-ekleme). ## Variants tab Frequently sold value combinations can be created as separate items as **standard variants**. If the values of a configured sales line are the same as a standard variant, **Yapılandırarak Dene** (Try by Configuring) says so ("Değerler standart varyant … ile aynı — varyantın kendi ağacı varsa emir onu kullanır." — The values are the same as standard variant … — if the variant has its own BOM, the order uses it.). ## In sales and production - On sales quotations and orders, values are entered on the line of the configurable product; a characteristic whose precondition is not met is not asked. Constraints and procedures are applied when the line is saved. - An order opened from an approved sales order with **Üretim Emri Aç** (Open Production Order) carries the configuration; the **Yapılandırma** (Configuration) text appears in the upper part of the order (e.g. `Boy: 12,5 m · Bant Genişliği: 800 mm · Bant Tipi: PVC Endüstriyel · Koruma Kapağı: Evet · Ayak Çifti Sayısı: 10`). - The BOM of a configurable item cannot be opened without a configuration: `Bu ürün ağacı konfigürasyona göre çözülür — emir yapılandırılmış bir satış siparişi satırından açılmalı.` (This BOM is resolved by configuration — the order must be opened from a configured sales order line.) ## Related - [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar) - [Order to production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) --- # Production analytics > The eight production reports — order status, material consumption, work center load, output corrections, scrap, labor, OEE and production cost. URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/analitik The reports under **Üretim › Analitik** (Production › Analytics) are read-only screens; they do not write anything. Values come from the server, and the screen does not invent totals or ratios: a value that cannot be measured is shown as **"—"** (not zero). If the date filter is empty, the report opens with the default period (the last 90 days for most reports) and the period is shown in the header. In most reports, **Excel'e Aktar** (Export to Excel) creates a file with the screen's filters; the **İş Merkezi** (Work Center) filter shows work centers in hierarchy order. - **Type:** Screen - **Module:** Manufacturing - **Menu path:** Üretim › Analitik › Üretim Emri Durumu · Malzeme Tüketimi · İş Merkezi Yükü · Çıktı Düzeltmeleri · Fire Raporu · İşçilik Raporu · OEE Raporu · Üretim Maliyeti (Production › Analytics › Production Order Status · Material Consumption · Work Center Load · Output Corrections · Scrap Report · Labor Report · OEE Report · Production Cost) - **Screen route:** `/erp/manufacturing/reports/order-status` - **Required permission:** `erp-manufacturing-orders.view (Üretim Emri Durumu, İş Merkezi Yükü)`, `erp-manufacturing-postings.view (Malzeme Tüketimi, Fire Raporu, İşçilik Raporu, OEE Raporu)`, `erp-manufacturing-corrections.view (Çıktı Düzeltmeleri)`, `erp-manufacturing-orders.view ve erp-inventory-costs.view (Üretim Maliyeti)` ## Production Order Status ![Production Order Status report](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rapor-uretim-emri-durumu.png) 1. Export to Excel — with the screen filter 2. Status summary 3. Realization = produced / planned 4. Days open Address `/erp/manufacturing/reports/order-status`. Planned and produced quantity per order, work center and how long the order has been open. - **Columns:** **Çıktı Kartı** (Output Item; with order no.) · **Durum** (Status) · **Planlanan** (Planned) · **Üretilen** (Produced) · **Kalan** (Remaining) · **Gerçekleşme** (Fulfillment; produced / planned %) · **İş Merkezi** (Work Center; can be "Kaydedilmedi" (Not recorded)) · **Satış Siparişi** (Sales Order; for make-to-order, otherwise "Stoğa" (To stock)) · **Yayın** (Release) · **Süre (gün)** (Duration, days; "N gündür açık" — open for N days). - **Filters:** **Ara** (Search; item, sales order or customer) · **İş Merkezi** (Work Center) · **Durum** (Status) · opening date. - **Status summary:** the number of orders in each status. Because there is no due-date field, the time the order has been open is shown instead of delay. ## Material Consumption Address `/erp/manufacturing/reports/material-consumption`. Planned and actually consumed material, in the item's base unit; the plan difference only from completed orders. - **Columns:** **Bileşen** (Component) · **Birim** (Unit) · **Planlanan** (Planned) · **Tüketilen** (Consumed) · **Açık Emirde Kalan** (Remaining in Open Orders) · **Tamamlanan: Plan** (Completed: Plan) · **Tamamlanan: Fiili** (Completed: Actual) · **Plan Farkı** (Plan Difference) · **Emir** (Order). The number of lines whose unit could not be converted is shown separately. - **Filters:** **Ara** (Search; component code or name) · release date. ## Work Center Load Address `/erp/manufacturing/reports/work-center-load`. Draft, released and in-production orders — per work center, as of today (number of orders, not hours). - **Columns:** **İş Merkezi** (Work Center; including the "Atanmadı" (Not assigned) row) · **Tür** (Type) · **Taslak** (Draft) · **Yayınlandı** (Released) · **Üretimde** (In Production) · **Açık Emir** (Open Orders) · **Farklı Kart** (Distinct Items) · **En Eski Açık Emir** (Oldest Open Order). - For load in hours, use [Kapasite Yükü](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) (Capacity Load). ## Output Corrections Address `/erp/manufacturing/reports/output-reversals`. Reversed production output — per item; this is the correction of an incorrect posting, not scrap. - **Columns:** **Çıktı Kartı** (Output Item) · **Geri Alınan** (Reversed) · **Dönemdeki Çıktı** (Output in Period) · **Düzeltme Belgesi** (Correction Document) · **Emir** (Order). - **Filters:** **Ara** (Search; item code or name) · correction date. ## Scrap Report ![Scrap Report](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rapor-fire.png) 1. Grouping — Product · Work center × product · Order 2. Scrap rate = scrap / (yield + scrap) 3. Planned scrap in the routing Address `/erp/manufacturing/reports/scrap`. Scrap from operation confirmations — the rate and a comparison with the planned scrap in the routing; quantities in the product's base unit. - **Breakdown:** Product · Work center × product · Production order. - **Columns:** (**İş Merkezi** / **Emir** / **Ürün** (Work Center / Order / Product), depending on the breakdown) · **Sağlam** (Good) · **Fire** (Scrap) · **Yeniden İşleme** (Rework) · **Fire Oranı** (Scrap Rate) · **Planlanan** (Planned) · **Teyit** (Confirmations) · **Emir** (Orders). If the scrap rate exceeds the planned rate it is shown in red (there is no threshold). - **Filters:** **Ara** (Search; product, work center or order) · **İş Merkezi** (Work Center) · **Yalnız fireli** (Only with scrap; hides lines without scrap) · confirmation date. ## Labor Report Address `/erp/manufacturing/reports/labor`. Labor time of employees in operation confirmations — broken down by work center and order; the amount requires the cost permission and is based on the hourly rate. - **Breakdown:** Employee · Employee × work center · Employee × production order. - **Columns:** **Çalışan** (Employee) · (**İş Merkezi** / **Emir**, Work Center / Order) · **İşçilik (saat)** (Labor, hours) · **Teyit** (Confirmations) · **Tutar** (Amount; only with the cost permission; if there is no hourly rate, "Saat ücreti tanımsız" (Hourly rate not defined)). - **Filters:** **Ara** (Search) · confirmation date. If no employee was entered on the confirmations, the report is empty. ## OEE Report ![OEE Report](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/rapor-oee.png) 1. Availability × performance × quality 2. From downtime records 3. From operation confirmations Address `/erp/manufacturing/reports/oee`. Availability × performance × quality — from the factory calendar, downtime records and operation confirmations; the default is the last 30 days. - **Columns:** **İş Merkezi** (Work Center) · **OEE** · **Kullanılabilirlik** (Availability) · **Performans** (Performance) · **Kalite** (Quality) · **Planlanan** (Planned; "Kapasite tanımsız" (Capacity not defined) if no capacity is defined) · **Plansız Duruş** (Unplanned Downtime) · **Planlı Duruş** (Planned Downtime) · **Sağlam / Fire** (Good / Scrap). Below: **Plansız duruş kayıpları** (Unplanned downtime losses). - **Filters:** **İş Merkezi** (Work Center) · **Dönem** (Period). - If one of the components cannot be measured (e.g. capacity not defined), OEE shows "—". ## Production Cost Address `/erp/manufacturing/reports/production-cost` (requires the order view permission **and** the cost view permission). Planned and actual material cost per order — together with where the closing variance went. - **Columns:** **Emir No** (Order No.) · **Mamul** (Finished Product) · **Durum** (Status) · **Üretilen** (Produced) · **Planlanan Malzeme** (Planned Material) · **Fiili Malzeme** (Actual Material) · **Mamule Uygulanan** (Applied to Finished Product) · **Planlanan Faaliyet** (Planned Activity) · **Fiili Faaliyet** (Actual Activity) · **Kapanış Farkı** (Closing Variance). Activity for a work center without a rate, or in mixed currencies, shows "Hesaplanamadı" (Could not be calculated). - **Filters:** **Ara** (Search; finished product code or name) · release date. - **Yarı Mamul** (Work in Process) view (tab): work in process of orders not yet closed — material consumed − applied to output; totals per currency. Accounting reconciliation is outside the scope of this document. ## Related - [Production orders](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Operation confirmations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri) - [Downtime records](https://erpdocs.corexlogic.com/en/uretim/ekranlar/durus-kayitlari) - [Capacity planning](https://erpdocs.corexlogic.com/en/uretim/ekranlar/kapasite-planlama) --- # Create a production order > Open a draft production order from a released BOM revision — plan source, planned quantity and work center. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emri-olusturma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Üretim Emri Oluştur (Production › Production Execution › Create Production Order) - **Screen route:** `/erp/manufacturing/orders/new` - **Required permission:** `erp-manufacturing-orders.create` - **Prerequisites:** - The **Üretilir** (Produced) flag of the card to be produced is on, the card is active and it is not a service card. - The card has a **released** BOM revision with production usage whose validity has started. - For a configurable item, the order is opened from a sales order — [Open a production order from a sales order](https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma). A production order states with which BOM revision and in what quantity an item is to be produced. The order is opened as a **draft**; in draft, the quantity, revision and work center can be edited. ## Steps 1. Open the **Üretim › Üretim Yürütme › Üretim Emri Oluştur** (Production › Production Execution › Create Production Order) screen. If you are in the list, click **Yeni Üretim Emri** (New Production Order). 2. Type the code or name of the output card in the **Ürün ağacı ara** (Search BOM) box; select the BOM (with its alternative and revision) from the list. 3. Click the **PASLANMAZ ÇALIŞMA TEZGAHI 150X70 · Rev 1** card in the list. 4. Enter the **Planlanan Miktar** (Planned Quantity) in the output unit. The unit comes from the revision and cannot be changed; the decimal limit is shown under the field. 5. If you wish, select the **İş Merkezi** (Work Center) (the station for which the order is planned; where the work is actually done is recorded separately on consumption and output). 6. Click **Üretim Emrini Kaydet** (Save Production Order). ![New Production Order — BOM and quantity chosen](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-olustur.png) 1. Search BOM — released revisions only 2. Plan source: BOM and revision 3. Planned Quantity — unit from the revision 4. Work center — optional 5. Save — order is created as Draft **Result:** The order is saved with the number **UE-yyyy-nnnnnn** in **Taslak** (Draft) status. There is no stock movement or material reservation; the requirements are created on release. Next step: [Release the production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama). ## What you need to know - The list shows only the released revisions, whose validity has started, of BOMs with **production** usage; older released revisions can also be selected. If the card has several alternatives, the lot-size range is shown next to them. No order can be opened from an engineering BOM. - If the quantity produces a fraction in a piece-based component, the order cannot be released (no silent rounding). Example: the BOM of MAM-0008 has 25 cartons for 100 ADET (pcs); 50 ADET makes 12.5 cartons, and on release the message "… 'ADET' biriminin 0 ondalık basamak sınırını aşıyor" (… exceeds the 0 decimal place limit of the 'ADET' unit) appears. Set the quantity to a suitable multiple of the BOM's base quantity. - For a serial-managed output, the planned quantity must be an integer. - In draft, **Düzenle** (Edit: quantity, revision, work center), **Böl** (Split), **Tarihleri Planla** (Schedule Dates), **Malzeme Talebi** (Material Requisition) and **İptal Et** (Cancel) are available. When you leave an unsaved form, the system asks you. - **Ağaçsız Emir** (Order without BOM) (the button in the list): an order for a card without a BOM in which you enter the components manually. The component list can be left empty, but an empty order cannot be released; when the quantity changes, the components are not scaled. - If you are coming from planning, the order is converted from a planned order: [Convert a planned order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme). ### Common messages | Message | English meaning | Cause | |---|---|---| | Planlanan miktar zorunlu. | The planned quantity is required. | The quantity is empty (form validation). | | Planlanan üretim miktarı sıfırdan büyük olmalıdır. | The planned production quantity must be greater than zero. | The quantity is 0 or negative. | | 'KART' üretilen kart olarak işaretlenmemiş — üretim emri açılamaz. Kartın 'Üretilir' bayrağını açın. | 'KART' is not flagged as a produced card — a production order cannot be opened. Turn on the card's 'Üretilir' flag. | Üretilir (Produced) is off on the card. | | 'KART' pasif — pasif stok kartı için üretim emri açılamaz. | 'KART' is inactive — a production order cannot be opened for an inactive stock card. | The card is inactive. | | Mühendislik ağacından üretim emri açılamaz — üretim kullanımındaki bir ağaç seçin. | A production order cannot be opened from an engineering BOM — select a BOM with production usage. | Wrong usage. | | Üretim emri yalnız yayınlanmış ürün ağacı revizyonu üzerinden oluşturulabilir. | A production order can be created only from a released BOM revision. | The revision is a draft. | | Revizyon \{n\} \{tarih\} tarihinden itibaren geçerli — bugün emre verilemez. | Revision \{n\} is valid from \{tarih\} — it cannot be used for an order today. | Validity is in the future. | | 'MAM-0001' yapılandırılabilir kart — üretim emri yalnız yapılandırılmış bir satış siparişi satırından açılır. | 'MAM-0001' is a configurable card — a production order can be opened only from a configured sales order line. | A configurable item was selected manually; open the order from the sales order. | ## Related - [Production orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Release the production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama) - [Make-to-stock process](https://erpdocs.corexlogic.com/en/surecler/stoga-uretim) --- # Open a production order from a sales order > Use Open Production Order for an item of an approved sales order — the order is linked to the item, the configuration is carried over, and the output goes into stock allocated to that item. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/siparisten-uretim-emri-acma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Satış › Satış Siparişleri › sipariş detayı › Üretim Emri Aç (Sales › Sales Orders › order detail › Open Production Order) - **Screen route:** `/erp/manufacturing/orders/new?salesOrderId={id}` - **Required permission:** `erp-manufacturing-orders.create` - **Prerequisites:** - The sales order is in **Onaylandı** (Approved) status and the item to be produced is open (it has a quantity not yet shipped). - The item's card can be produced and has a released bill of materials. For a configurable item, the configuration of the sales order item has been entered. In make-to-order production, the order covers a customer demand. The order is linked to the sales order item; for a configurable item, the characteristic values selected on the item are carried over to the order and the super BOM is resolved with these values. ## Steps 1. On the detail of the approved sales order, click **Üretim Emri Aç** (Open Production Order). 2. In the **Karşılanan Talep** (Demand Covered) section, click the sales order item to be produced. For a configurable item, the selected values are shown under the item (e.g. Tank Hacmi: 2.000 L · Karıştırıcı: Var (Tank Volume: 2,000 L · Mixer: Yes)). 3. Select the bill of materials from the **Plan Kaynağı** (Plan Source) list. 4. Enter the **Planlanan Miktar** (Planned Quantity). It does not have to be the same as the remaining quantity: a scrap allowance, the lot size and the stock on hand are your decision. ![Production order from a sales order — demand covered](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-siparisten.png) 1. Demand covered — order is linked to this item 2. Sales order item and its configuration 3. BOM — resolved by the configuration 4. Quantity need not equal the open quantity 5. Click **Üretim Emrini Kaydet** (Save Production Order). 6. To release the order, click **Yayınla** (Release), and in the window that opens, **Emri Yayınla** (Release Order). The requirements are resolved with the configuration of the sales order item. ![Released order — linked to a sales order, configured](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-yayinlandi.png) 1. Linked sales order — output reserved for this item 2. Post Consumption 3. Post Output 4. Enter Confirmation — operation confirmation 5. Configuration from the sales order 6. Availability — missing quantity **Result:** The order is opened linked to the sales order item and appears in the **Bağlantılı Belgeler** (Related Documents) section of the order detail. When the output is posted, the finished product enters stock **allocated to that item** and cannot be shipped on any other document. Next steps: [material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme), [operation confirmation](https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme), [production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme). ## What you need to know - **Üretim Emri Aç** (Open Production Order) is always visible on an approved order; the form tells you which item can be produced. An item that cannot be selected is not hidden; the reason is shown: **kart üretim çıktısı olamaz** (the card cannot be a production output) or **yayınlanmış ürün ağacı yok** (no released BOM). For an item without a BOM, the **ağaçsız emir** (order without BOM) link on the form opens an order in which you enter the components manually. - An order is linked to a single sales order item; for an order with several items, a separate production order is opened for each item. - **The configuration is frozen on the order**: when the order is released, the BOM's line conditions, selection conditions and quantity formulas are calculated with the item's values. Example: on **UE-2026-000003**, opened for the item of **SS-2026-000006** (MAM-0006, Tank Hacmi (Tank Volume) 2,000 L, Karıştırıcı (Mixer) Var (Yes)), 10 of the BOM's 14 lines were included; the 1,000 L and 5,000 L lines were not, and the 2,000 L sheet became 290 KG × 5% scrap = **304.5 KG**. Rule language: [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar); to test: [Configure and test](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirarak-deneme). - For a configurable item, the order can be opened **only** from a sales order; if you try to open it manually, the server says "'MAM-0001' yapılandırılabilir kart — üretim emri yalnız yapılandırılmış bir satış siparişi satırından açılır." ('MAM-0001' is a configurable card — a production order can be opened only from a configured sales order line.) - If the BOM contains a semi-finished item with a **make-to-order** strategy, the **Alt Emirler** (Sub-Orders) card appears on the order detail after release: [Sub-order proposal](https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi). - If you are coming from planning: for a make-to-order item, MRP proposes a **planned order linked to the sales order**; converting the planned order establishes the same link — [Convert a planned order](https://erpdocs.corexlogic.com/en/uretim/islemler/planli-emri-donusturme). ### Common messages | Message | English meaning | Cause | |---|---|---| | Satış siparişi bulunamadı ya da üretim emri açılabilecek açık kalemi yok. | The sales order was not found or has no open item for which a production order can be opened. | The order is not approved, is closed, or all its items have been shipped. | | Bağlanacak satış siparişi kalemi bulunamadı ya da artık açık değil. | The sales order item to be linked was not found or is no longer open. | The item was shipped or closed in the meantime. | | Emrin çıktı kartı, '\{sipariş\}' siparişindeki \{n\}. kalemin kartıyla aynı değil. | The order's output card is not the same as the card of item \{n\} on order '\{sipariş\}'. | The BOM of another card was selected. | | Planlanan miktar zorunlu. | The planned quantity is required. | The quantity is empty. | ## Related - [Sales orders](https://erpdocs.corexlogic.com/en/satis/ekranlar/satis-siparisleri) · [Approve an order](https://erpdocs.corexlogic.com/en/satis/islemler/siparisi-onaylama) - [Order-to-production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) - [Production orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) --- # Open sub-orders (collective order) > Open linked sub-orders with a single click for the make-to-order semi-finished requirements of a released parent order; semi-finished items expected from stock and the stock error. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/alt-emir-onerisi - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Emirleri › emir detayı › Alt Emirler (Production › Production Orders › order detail › Sub-Orders) - **Screen route:** `/erp/manufacturing/orders/{id}` - **Required permission:** `erp-manufacturing-orders.create`, `erp-manufacturing-orders.edit` - **Prerequisites:** - The parent order is in **Yayınlandı** (Released) or **Üretimde** (In Production) status. - The semi-finished item card in the requirement is **produced** and its planning strategy is **Siparişe Üretim** (Make-to-Order). A collective order means opening, together with the order for a finished product, the orders for the semi-finished items that go into it (cabin, panel, subassembly). In CoreX this is **single-level** and is proposed from the frozen requirement list of the parent order; it is not MRP. A sub-order's own sub-orders are proposed the same way, from its own detail. ## Steps 1. Open the detail of the parent order. If there is an eligible requirement, the **Alt Emirler** (Sub-Orders) card appears below the summary boxes. 2. Check the proposed quantity in the **Açılacak** (To Open) column; change it if necessary. Empty or zero lines are not opened. 3. Click **Alt Emirleri Aç** (Open Sub-Orders). **Result:** A **released** sub-order is opened for each line (because opening a sub-order also releases it, both create and edit permissions are required): its requirement list is frozen, its routing is copied, and it is ready for production. The output of the sub-order goes into stock **allocated** to that requirement of the parent order and cannot be given to any other document; the consumption of the parent order uses this stock. ## Which requirements are proposed | Card of the requirement | What happens | |---|---| | Produced **and** planning strategy **Siparişe Üretim** (Make-to-Order) | Proposed on the **Alt Emirler** (Sub-Orders) card. | | Produced, but strategy **Stoğa Üretim** (Make-to-Stock) or **Planlama Yok** (No Planning) | Not proposed — the order expects this semi-finished item **from stock**. | | Purchased (not produced) card | Not proposed — covered from stock, by purchasing. | Proposed quantity = open requirement − stock allocated to this requirement − remaining quantity of linked open sub-orders. If the line reads **Stoktan karşılanıyor** (Covered from stock) or **Karşılandı** (Covered), there is nothing to open. If there is no proposal, the card is not drawn at all. The sub-order is opened from the **latest released** revision of the BOM; the quantity is converted to the output unit of the BOM and rounded up to the precision. If the item has no BOM, the sub-order is opened without one. The operation is **all or nothing**: if one line is rejected, no sub-order is opened. > **Semi-finished item expected from stock** No sub-order is proposed for a semi-finished item with a make-to-stock or no-planning strategy; it is deducted from stock in the parent order's consumption. If there is no stock, the consumption is rejected: "'YM-0001' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 1,000000." (Card 'YM-0001' does not have enough stock in the 'SIFIR' status. Available: 0, requested: 1.000000.) In that case, either produce the semi-finished item to stock with a separate production order or set the card's planning strategy to **Siparişe Üretim** (Make-to-Order) — this is the correct setting for a semi-finished item produced together with every order. > **Demo installation** The semi-finished items of the demo company (YM-0001 … YM-0009) use the **Stoğa Üretim** (Make-to-Stock) strategy and have opening stock; the **Alt Emirler** (Sub-Orders) card does not appear on these orders, and the semi-finished items are consumed from stock. The example of a make-to-order semi-finished item is **DMO-KSL-05** Demo conveyor drive unit: on the order of the **DMO-KSL-01** conveyor (UE-2026-000011), the card proposes **Gereken** (Required) 1, **Stoktan** (From Stock) 0, **Açılacak** (To Open) 1; the sub-order opened with **Alt Emirleri Aç** (Open Sub-Orders) (UE-2026-000012, parent order UE-2026-000009) is created in **Yayınlandı** (Released) status. End to end: [Order to production](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime). ![Released order — resolved BOM and sub-order proposal](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/surec-emir-yayinlandi.png) 1. Configuration from the sales order 2. Open Sub-orders — make-to-order subassembly 3. Sub-order quantity to open 4. Consumption, output and confirmation 5. Materials selected by the conditions ## Common messages | Message | English meaning | Cause | |---|---|---| | Açılacak alt emir için en az bir miktar girin. | Enter at least one quantity for a sub-order to open. | All lines are empty. | | Seçilen gereksinim alt emre uygun değil — üretilen ve siparişe göre üretim stratejili bir kart olmalı. | The selected requirement is not eligible for a sub-order — it must be a produced card with a make-to-order strategy. | The card's strategy is not eligible. | | \{n\}. gereksinimin alt emir miktarı sıfırdan büyük olmalıdır. | The sub-order quantity of requirement \{n\} must be greater than zero. | Zero or negative quantity. | | Alt kartın ağacının bugün geçerli revizyonu yok — geçerlilik daha sonra başlıyor. | The component card's BOM has no revision valid today — validity starts later. | The release is future-dated. | | Gereksinim miktarını kapsayan parti büyüklüğü alternatifi yok — alt kartın ağaç alternatiflerini düzenleyin. | No lot-size alternative covers the requirement quantity — edit the BOM alternatives of the component card. | The lot-size range does not fit. | | Gereksinimin birimi ürün ağacının çıktı birimine çevrilemiyor — alt emir açılamaz. | The requirement's unit cannot be converted to the output unit of the BOM — the sub-order cannot be opened. | Missing unit conversion. | | \{UE-…\} alt emri yayınlanamadı: … | Sub-order \{UE-…\} could not be released: … | A release rule of the sub-order (e.g. an inactive work center). | - A linked sub-order cannot be split ("Bağlı alt emir bölünmez — çıktısı üst emrin gereksinimine tahsisli." — A linked sub-order cannot be split — its output is allocated to the parent order's requirement.) and cannot be linked to a sales order. When the parent order is completed or cancelled, the stock reserved for it and not consumed is released. ## Related - [Production orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Record material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) - [Order-to-production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime) --- # Release a production order > Release a draft production order — material requirements are frozen from the revision and operations from the routing; no stock movement and no reservation. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-yayinlama - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Üretim Emirleri › emir detayı › Yayınla (Production › Production Execution › Production Orders › order detail › Release) - **Screen route:** `/erp/manufacturing/orders/{id}` - **Required permission:** `erp-manufacturing-orders.edit` - **Prerequisites:** - The order is in **Taslak** (Draft) status. - The selected revision is still valid; the work centers in the routing are active. Releasing hands the order over to the shop floor. Freezing the plan ensures that an order in progress is not disrupted even if the BOM or routing changes later. ## Steps 1. On the detail of the draft order, click **Yayınla** (Release). ![Draft production order](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-taslak.png) 1. Release — requirements and operations are created 2. Edit — draft only 3. Split — part of the quantity to a new order 4. Planned start and finish 5. Cancel — reason required 2. In the window, check the order number and the item, and click **Emri Yayınla** (Release Order). ![Release production order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-yayinla.png) 1. Release Order — no stock movement 3. If a shortage notice appears above the order (e.g. 'Emir yayınlandı — 1 kalem eksik: HAM-0031 (24,5 KG). Eksik Parça Listesi' (Order released — 1 item missing: HAM-0031 (24.5 KG). Missing Parts List)), cover the shortages by purchasing or stock transfer. A shortage does not block the release. ![Released order — linked to a sales order, configured](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-yayinlandi.png) 1. Linked sales order — output reserved for this item 2. Post Consumption 3. Post Output 4. Enter Confirmation — operation confirmation 5. Configuration from the sales order 6. Availability — missing quantity **Result:** The order becomes **Yayınlandı** (Released): the requirements are copied from the current revision and the operations from the routing, and they are frozen; even if the current BOM changes, the order does not. On the shop floor, **Sarf Kaydet** (Record Consumption), **Teyit Gir** (Enter Confirmation) and **Çıktı Kaydet** (Record Output) can now be used. ## What you need to know - **Releasing does not create stock movements and does not reserve material.** There is no stock reservation; to bring the material to the line, **Malzeme Hazırla** (Stage Material) (a transfer reservation to the supply warehouse) is used. - Requirement = line quantity × (planned ÷ BOM base quantity) × (1 + scrap/100), rounded **up** to the unit's precision. For a unit that does not accept fractions (ADET (pcs)), the release is rejected if the result is fractional; no silent rounding is done. - The machine and labor times of the operations scale with the order quantity; the setup time is fixed. A conditional operation of the routing (e.g. "Karıştırıcı montajı" (Mixer assembly) only when Karıştırıcı (Mixer) is Var (Yes)) is included according to the configuration. - In the list, you can select several draft orders and release them collectively with **Yayınla** (Release) (at most 50); the result window shows the result for each order separately. - The plan of a released order (quantity, revision) does not change; **Böl** (Split) can be used to separate a quantity. ### Common messages | Message | English meaning | Cause | |---|---|---| | Yalnız Taslak durumundaki üretim emri yayınlanabilir. | Only a production order in Draft status can be released. | The order has already been released. | | Üretim emri en az bir malzeme gereksinimi olmadan yayınlanamaz. | A production order cannot be released without at least one material requirement. | No components. | | Seçili ürün ağacı revizyonu artık geçerli değil. Taslakta revizyonu yeniden seçin. | The selected BOM revision is no longer valid. Select the revision again in the draft. | The revision's validity changed. | | '\{kart\}' için gereksinim (\{miktar\}), '\{birim\}' biriminin \{n\} ondalık basamak sınırını aşıyor. Sessiz yuvarlama yapılmaz. | The requirement (\{miktar\}) for '\{kart\}' exceeds the \{n\} decimal place limit of the '\{birim\}' unit. No silent rounding is done. | The quantity produces a fraction. | | Rotanın '\{iş merkezi\}' iş merkezi pasif — emir yayınlanamaz; rotayı düzeltin. | Work center '\{iş merkezi\}' of the routing is inactive — the order cannot be released; correct the routing. | Inactive work center. | | '\{kart\}' yapılandırılabilir üst kart — gereksinim materyalize edilmiş bir varyant olmalı. | '\{kart\}' is a configurable parent card — the requirement must be a materialized variant. | A configurable component in the BOM without a selected variant. | | \{n\}. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (…). | The quantity formula of line \{n\} is unknown — one of the values it reads is missing in the configuration (…). | A value read by the formula is missing in the configuration — [Conditions](https://erpdocs.corexlogic.com/en/uretim/kosullar). | | Konfigürasyon ürün ağacının hiçbir satırını seçmiyor — ağacın koşullarını düzeltin. | The configuration selects none of the BOM's lines — correct the BOM's conditions. | No line condition was met. | ## Related - [Production orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Missing parts list](https://erpdocs.corexlogic.com/en/uretim/ekranlar/eksik-parca-listesi) - [Record material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) --- # Record material consumption > Post component consumption to a production order — warehouse, storage location, stock status, batch and serial number; stock is reduced immediately. Components flagged for backflush are deducted with the output. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Emirleri › emir detayı › Sarf Kaydet (Production › Production Orders › order detail › Record Consumption) - **Screen route:** `/erp/manufacturing/orders/{id}/consumptions/new` - **Required permission:** `erp-manufacturing-postings.create` - **Prerequisites:** - The order is in **Yayınlandı** (Released) or **Üretimde** (In Production) status. - The component is in available stock in the warehouse/storage location/stock status to be selected and is not in a physical inventory count. - The consumption date is in an open posting period. Material consumption deducts the component used in production from stock and posts it to the order. The same requirement can be split across several lines (different warehouse, storage location or batch). ## Steps 1. On the order detail, click **Sarf Kaydet** (Record Consumption). 2. Check the **Sarf Tarihi** (Consumption Date; default today). The **İş Merkezi** (Work Center) is proposed from the order's work center; select the place where the work was actually performed. Enter a **Not** (Note) if you wish. 3. On the line of the requirement to be consumed, click **Sarf Ekle** (Add Consumption). To add all remaining quantities at once, click **Tümünü Ekle** (Add All). 4. Select the line's **Depo** (Warehouse) and **Lokasyon** (Storage Location) according to where the stock is kept; to set the same warehouse on all lines, use **Depo (tümüne)** (Warehouse, all lines). **Stok Durumu** (Stock Status) defaults to SIFIR. The **Anlık kullanılabilir** (Currently available) stock is shown under the line. ![Material Consumption — requirements and line](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/sarf-olustur.png) 1. Consumption date — open posting period 2. Add All — all remaining quantities as lines 3. Add Consumption — this requirement only 4. Warehouse and location — where the stock is 5. Available stock now — informative 6. Save Consumption — stock decreases at once 5. For a batch-managed component, select the batch or split the quantity across the batches with the nearest expiry dates using **FEFO ile Dağıt** (Allocate by FEFO); for a serial-managed component, select the serial numbers. Change the **Miktar** (Quantity) if necessary. 6. Click **Sarfı Kaydet** (Save Consumption). **Result:** The consumption is saved with the number **MS-yyyy-nnnnnn**, the component is **deducted immediately** from the selected warehouse/storage location/status, and the requirement's **Tüketilen** (Consumed) quantity increases. If this is the first physical posting, the order becomes **Üretimde** (In Production). The document does not change; an error is reversed with a [consumption correction](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme). ## What you need to know - **The storage location matters**: **Lokasyonsuz** (No storage location) is not the warehouse total but a separate stock breakdown. If the stock is in a storage location and you do not select it, the posting is rejected with "yeterli stok yok" (not enough stock). The **Anlık kullanılabilir** (Currently available) information exists for this reason; the server validates again at the time of posting. - Stock statuses such as **Sıfır** (New) and **İkinci El** (Second-hand) are separate stock segments; consumption is deducted from the selected segment. - **Backflush**: a component flagged **Geri sarf** (Backflush) in the BOM (a "Geri sarf" badge on the requirement, "geri sarf — çıktıyla düşer" (backflush — deducted with output) on the form) is not consumed separately; it is deducted automatically when the output is posted. Quantity deducted = planned × (total produced ÷ order's planned quantity) − consumed so far; manual consumption is not counted twice. Consuming manually on the form is allowed (it warns, it does not block). Details: [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar). - After saving, you return to the order detail; the banner in the header shows the number (**Belgeyi aç** (Open document) opens the consumption document). Consumption documents are on the order's **Malzeme Sarfları** (Material Consumptions) tab. - **Tamamla** (Complete) requires at least one material consumption on the order; staying below the plan does not prevent completion. - The accounting entry (material issue to production) is created together with the consumption; its details are outside the scope of this document. ![Material consumption document](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/sarf-detay.png) 1. Immutable document — correction is a separate record 2. Create Consumption Correction 3. Warehouse and location ### Example **MS-2026-000003** for **UE-2026-000001** (MAM-0010 × 3): HAM-0030 sheet 56.7 KG and HAM-0034 pipe 12 M, from HAMMADDE / SAC-ALANI, work center LAZER. If the pipe were an item in an ongoing physical inventory count, the posting would be rejected (see below). ### Common messages | Message | English meaning | Cause | |---|---|---| | 'HAM-0049' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 8,000000. | Card 'HAM-0049' does not have enough stock in the 'SIFIR' status. Available: 0, requested: 8.000000. | There is no or not enough stock in the selected warehouse/storage location/status. Check the storage location. | | 'SARF-0005' kartı 'HAMMADDE' deposunda sayımda (SAY-2026-000001) — sayım kaydedilene ya da iptal edilene kadar stok hareketi yazılamaz. | Card 'SARF-0005' is in a physical inventory count in warehouse 'HAMMADDE' (SAY-2026-000001) — no stock movement can be posted until the count is posted or cancelled. | The item is being counted in that warehouse; try again when the count is finished. | | Yalnız Yayınlandı ya da Üretimde durumundaki üretim emrine sarf kaydedilebilir. | Consumption can be posted only to a production order in Released or In Production status. | The order is draft, completed, closed or cancelled. | | Sarf en az bir satır içermelidir. | The consumption must contain at least one line. | No line was added. | | Sarf satırında depo seçilmelidir. · Sarf satırında stok durumu seçilmelidir. | A warehouse must be selected on the consumption line. · A stock status must be selected on the consumption line. | A required field is empty. | | Sarf miktarı sıfırdan büyük olmalıdır. | The consumption quantity must be greater than zero. | Quantity is 0. | | '\{durum\}' durumu pasif — sarf yapılamaz. | Status '\{durum\}' is inactive — consumption is not possible. | The stock status is inactive. | | \{n\}. gereksinim kilitli bir alternatif grubunda ve planı yok — yalnız seçili karta sarf yapılabilir (kilit: …). | Requirement \{n\} is in a locked alternative group and has no plan — consumption is possible only for the selected card (lock: …). | The selection in the alternative group is locked. | | Bu üretim emri bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin. | This production order was changed by another user in the meantime. Refresh the page and try again. | Concurrent posting; use **Bağlamı yenile** (Refresh context). | ## Related - [Record production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) - [Correct consumption and output](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme) - [Missing parts list](https://erpdocs.corexlogic.com/en/uretim/ekranlar/eksik-parca-listesi) --- # Enter an operation confirmation > Record the yield and scrap quantity of an operation, the actual setup/machine/labor time and the employees; the final confirmation closes the operation. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/operasyon-teyidi-girme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Yürütme › Operasyon Teyidi Gir (Production › Production Execution › Enter Operation Confirmation) - **Screen route:** `/erp/manufacturing/confirmations/new?emir={id}` - **Required permission:** `erp-manufacturing-postings.create` - **Prerequisites:** - The order is **Yayınlandı** (Released) or **Üretimde** (In Production) and has operations (item with a routing). - The operation has not received its final confirmation. A confirmation is the shop floor's report that "this much work came out of this operation, and it took this long". Capacity load, labor and scrap reports and OEE are fed by confirmations. ## Steps 1. Click **Teyit Gir** (Enter Confirmation) on the order detail, or **Teyit Gir** on the row in the **Üretim Operasyonları** (Production Operations) worklist. 2. Select the operation to be confirmed from the table (the first open operation is preselected). An operation with a final confirmation cannot be selected. 3. Check the **Teyit tarihi** (Confirmation date). Enter the **Sağlam** (Yield) quantity or click **Kalanı yaz** (Enter remaining); enter the **Fire** (Scrap) quantity, if any. ![Enter Operation Confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/teyit-gir.png) 1. Pick the operation — remaining = planned − (yield + scrap) 2. Yield quantity 3. Fill remaining 4. Scrap quantity 5. Actual times — server proposes when empty 6. Save Confirmation — no stock posting 4. Enter the **Hazırlık (dk)** (Setup, min), **Makine (dk)** (Machine, min) and **İşçilik (dk)** (Labor, min) times. If you leave them empty, the server proposes them from the planned values (grey text is a preview). 5. If necessary, select the employees with **Çalışan ekle** (Add employee). If the operation finishes with this confirmation, check the **Son teyit — operasyon kapanır** (Final confirmation — operation closes) box. 6. Click **Teyidi Kaydet** (Save Confirmation). **Result:** The confirmation is saved with the number **TYD-yyyy-nnnnnn**; the operation's yield/scrap total and actual time increase. If this is the first physical posting, the order becomes **Üretimde** (In Production). **A confirmation does not post stock** — to put the finished product into stock, [record the production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme). ## What you need to know - **Partial confirmation** is allowed: several confirmations can be entered for the same operation during the day; the total **Sağlam / fire** (Yield / scrap) and **Kalan** (Remaining) are updated and the status becomes **Kısmi teyit** (Partially confirmed). When **Son teyit** (Final confirmation) is checked, the status becomes **Son teyit** and the operation drops off the worklist. - Proposed times: setup is the planned setup time on the operation's **first** confirmation; machine and labor are proportional to the confirmed quantity relative to the planned quantity. Example: on UE-2026-000001, the plan for operation 10 is setup 15, machine 60, labor 15 min (3 ADET (pcs)); the actual time of the confirmation entered with 15 + 55 + 16 min was **86 min**. - A confirmation does not enforce the operation sequence; however, if an operation's **in-process inspection** is awaiting a decision, the next operation cannot be confirmed. - A quantity posted to **rework** does not count as yield; a final confirmation cannot be given before the rework is finished. - Cancelling a confirmation: **İptal Et** (Cancel) on the row in the [Operation confirmations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri) list (a reason is mandatory). If a final confirmation is cancelled, the operation is reopened. - The yield confirmation of the last operation appears as a proposal on the output form (**Öneriyi Uygula** (Apply Proposal)); the confirmation does not post the output by itself. ### Common messages | Message | English meaning | Cause | |---|---|---| | Teyit edilecek operasyonu seçin. | Select the operation to be confirmed. | No row was selected. | | Teyit ileri tarihli olamaz. | A confirmation cannot be future-dated. | The date is after today. | | Teyit boş olamaz — miktar ya da süre girin. | A confirmation cannot be empty — enter a quantity or a time. | All fields are empty. | | Yalnız Yayınlandı ya da Üretimde durumundaki üretim emrine operasyon teyidi girilebilir. | Operation confirmations can be entered only for a production order in Released or In Production status. | The order is not in an eligible status. | | Çalışanların süreleri toplamı işçilik süresine eşit olmalı. | The sum of the employees' times must equal the labor time. | The times do not add up. | | Üretim emri bu arada değişti — bağlamı yenileyip yeniden deneyin. | The production order changed in the meantime — refresh the context and try again. | Concurrent posting; use **Bağlamı yenile** (Refresh context). | ## Related - [Operation confirmations screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/operasyon-teyitleri) - [Production operations](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-operasyonlari) - [Record production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) --- # Record production output > Put the produced finished product into stock — warehouse, storage location, quantity, batch/serial number; backflush components are deducted at the same time, and on an order linked to a sales order the stock is allocated to the item. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Emirleri › emir detayı › Çıktı Kaydet (Production › Production Orders › order detail › Record Output) - **Screen route:** `/erp/manufacturing/orders/{id}/outputs/new` - **Required permission:** `erp-manufacturing-postings.create` - **Prerequisites:** - The order is in **Yayınlandı** (Released) or **Üretimde** (In Production) status. - The output card is active; for a batch-managed finished product the batch number, and for a serial-managed finished product the serial numbers, are ready. Output is the receipt of the produced finished product into stock (goods receipt from production). An order can be put into stock in parts, with several outputs. ## Steps 1. On the order detail, click **Çıktı Kaydet** (Record Output). 2. If there is a quantity from the last operation's confirmation that has not yet been posted as output, enter it in the quantity with **Öneriyi Uygula** (Apply Proposal). 3. Check the **Çıktı Tarihi** (Output Date). On the output line, select the **Depo** (Warehouse) and **Lokasyon** (Storage Location) the finished product will enter, and enter the **Miktar** (Quantity). To split across different warehouses, use **Satır Ekle** (Add Line). 4. For a batch-managed finished product, enter the **Lot** (Batch) (and production/expiry date); for a serial-managed finished product, enter the serial numbers. 5. In the **Geri Sarf** (Backflush) section, select the **Geri sarf deposu** (Backflush warehouse) from which the backflush components will be deducted; empty = the warehouse of the first output line. **Stok durumu** (Stock status) empty = default. ![Production Output form](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/cikti-olustur.png) 1. Output date 2. Warehouse receiving the product 3. Location 4. Quantity — in the order unit 5. Backflush warehouse — backflush components issue from here 6. Save Output — product enters stock 6. Click **Çıktıyı Kaydet** (Save Output). **Result:** The output is saved with the number **UC-yyyy-nnnnnn**; the finished product **enters** the selected warehouse/storage location, and the order's **Üretilen** (Produced) quantity increases. Components flagged for backflush are deducted with a separate consumption document. On an order linked to a sales order, the finished product enters stock **allocated to the sales order item** and leaves only with the delivery for that order. Next step: [complete the order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma). ## What you need to know - **Exceeding or falling short of the plan is allowed**: the output is not limited to the planned quantity, and the order does not have to fill the plan to be completed. The status is not derived from the output quantity — completion is a separate command. - **Backflush** is opened in the same posting as the output, and the consumption is written immediately afterwards. A component that cannot be deducted **does not reverse the output**: the output document stays open and shows "1 bileşen geri sarf edilemedi — çıktı geri alınmadı." (1 component could not be backflushed — the output was not reversed.) with the reason; the record goes to [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) (link **Hatalı Geri Sarflar'da çözün** (Resolve in Failed Backflushes)). - For a backflush component kept in stock with storage locations, set the backflush warehouse to the component's warehouse and make sure the card's **default storage location** in that warehouse is defined; otherwise backflush looks at the stock without a storage location. - On an order with by-products / co-products, **Yan / Ortak Ürünler** (By-Products / Co-Products) lines appear on the form; a by-product alone can also be posted. - The value of the finished product (material + activity) is calculated at output and is shown in the **Malzeme Maliyeti** (Material Cost) column of the output document (with permission to view costs). The accounting entry is outside the scope of this document. ![Production output document — backflush warning](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/cikti-detay.png) 1. Component not backflushed — output stays 2. Go to Backflush Errors 3. Create Output Correction 4. Warehouse and location received ### Example **UE-2026-000001** (MAM-0010 × 3): the 2 ADET (pcs) yield confirmation of the last operation 40 was entered as output with **Öneriyi Uygula** (Apply Proposal); **UC-2026-000001** received 2 ADET into MAMUL / RAF-M1. The adjustable foot (HAM-0049, backflush) could not be backflushed because it is stored in HAMMADDE / RAF-C: "3. satır: 'HAM-0049' kartının 'SIFIR' durumunda yeterli stok yok. Mevcut: 0, istenen: 8,000000." (Line 3: card 'HAM-0049' does not have enough stock in the 'SIFIR' status. Available: 0, requested: 8.000000.) ### Common messages | Message | English meaning | Cause | |---|---|---| | Yalnız Yayınlandı ya da Üretimde durumundaki üretim emrine çıktı kaydedilebilir. | Output can be posted only to a production order in Released or In Production status. | The order is not in an eligible status. | | Üretim çıktısı en az bir satır içermelidir. | The production output must contain at least one line. | No line. | | Çıktı satırında depo seçilmelidir. | A warehouse must be selected on the output line. | The warehouse is empty. | | Üretim miktarı sıfırdan büyük olmalıdır. | The production quantity must be greater than zero. | Quantity is 0. | | '\{kart\}' pasif — pasif stok kartı için üretim çıktısı kaydedilemez. | '\{kart\}' is inactive — production output cannot be posted for an inactive stock card. | The card is inactive. | | Seri takipli satırda miktar seri adedine eşit olmalıdır (seri: …, miktar: …). | On a serial-managed line, the quantity must equal the number of serial numbers (serial: …, quantity: …). | The number of serial numbers does not match. | | Bu üretim emri bu sırada başka bir kullanıcı tarafından değiştirildi. Sayfayı yenileyip tekrar deneyin. | This production order was changed by another user in the meantime. Refresh the page and try again. | Concurrent posting. | ## Related - [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) - [Correct consumption and output](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme) - [Create a delivery](https://erpdocs.corexlogic.com/en/satis/islemler/teslimat-olusturma) — shipping a finished product linked to a sales order --- # Complete and finally close a production order > Close an order whose production is finished with Complete, lock it with Close Finally once corrections are done; cancel the order when necessary. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Üretim Emirleri › emir detayı › Tamamla · Kesin Kapat (Production › Production Orders › order detail › Complete · Close Finally) - **Screen route:** `/erp/manufacturing/orders/{id}` - **Required permission:** `erp-manufacturing-orders.edit` - **Prerequisites:** - For Complete, the order is **Üretimde** (In Production); at least one output and at least one material consumption are posted; there is no open failed backflush. - For Close Finally, the order is **Tamamlandı** (Completed). The end of a production order has two steps: **Tamamla** (Complete) finishes production, **Kesin Kapat** (Close Finally) closes the books. In the time between, an incorrect consumption or output can be [corrected](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme). ## Steps 1. On the detail of the order in production, click **Tamamla** (Complete). ![Order in production — operations tab](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-uretimde.png) 1. Operations — plan copied from the routing 2. Confirmed yield and scrap 3. Actual time from confirmations 4. Complete — when output and consumption exist 2. Check the planned and produced quantities and click **Emri Tamamla** (Complete Order). ![Complete production order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-tamamla.png) 1. Planned and produced shown separately 2. Complete Order 3. When there is no further need for corrections, click **Kesin Kapat** (Close Finally). 4. Click **Kesin Kapat** (Close Finally) in the window. ![Close production order permanently dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-kesin-kapat.png) 1. Close Permanently — corrections are closed too **Result:** In **Tamamlandı** (Completed), the order no longer accepts new consumptions, outputs and confirmations, but it remains open to corrections of past postings; in **Kapatıldı** (Closed), no posting can be made, including corrections. There is no way back — if a correction is needed later, a new order is opened. ## Rules for completion - Only an order in **Üretimde** (In Production) can be completed; an order in **Yayınlandı** (Released) (with no physical postings) cannot be completed — it is cancelled. - At least one **output** and at least one **material consumption** are required. If there is output but no consumption, the detail shows "Tamamlamak için en az bir malzeme sarfı gerekir." (At least one material consumption is required to complete.) instead of **Tamamla** (Complete). - **The plan does not have to be filled**: UE-2026-000001 was planned for 3 ADET (pcs), 2 ADET were produced and it was completed (67%). Missing consumption is not an obstacle either. - If there is an **open failed backflush**, the server rejects it; first retry it or close it with a reason. - On completion: stock reserved for this order from sub-orders and not consumed is released; the difference between the value consumed and the value applied to the outputs (closing variance) is calculated. No new stock is posted. Accounting details are outside the scope of this document. ## Rules for final closing - Only a **Tamamlandı** (Completed) order can be closed finally; no reason is asked for. - On a closed order, consumptions, outputs, confirmations and **their corrections** are not accepted. The purpose is to stop late changes such as reducing consumption afterwards with a correction or posting too much. ![Closed order — read only](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-kapatildi.png) 1. Status: Closed 2. Consumption documents of the order 3. Output documents of the order 4. Planned and consumed ## Cancellation If production will not take place, use **İptal Et** (Cancel) (on an order in Taslak (Draft), Yayınlandı (Released) or Üretimde (In Production)). In the **Üretim emri iptal edilsin mi?** (Cancel the production order?) window, the **İptal Gerekçesi** (Cancellation Reason) is required (at most 512 characters), then click **Emri İptal Et** (Cancel Order). Cancellation is terminal; the order cannot be reopened. If there is consumption or output that has not been reversed, the server rejects it: first make a [correction](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme). Example: **UE-2026-000005** was cancelled with the reason "Talep düştü, üretim yapılmayacak." (Demand dropped, production will not take place.) ![Cancel production order dialog](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/emir-iptal.png) 1. Cancel reason — required, max 512 characters 2. Cancel Order — cannot be undone ### Common messages | Message | English meaning | Cause | |---|---|---| | Yalnız Üretimde durumundaki üretim emri tamamlanabilir. | Only a production order in In Production status can be completed. | The order is Released or already closed. | | Üretim çıktısı olmayan emir tamamlanamaz — önce çıktı kaydedin ya da emri iptal edin. | An order without production output cannot be completed — first post output or cancel the order. | No output. | | Malzeme sarfı olmayan emir tamamlanamaz — önce sarf kaydedin ya da emri iptal edin. | An order without material consumption cannot be completed — first post consumption or cancel the order. | No consumption. | | Emirde çözülmemiş 1 hatalı geri sarf var — tamamlamadan önce yeniden deneyin ya da gerekçeyle kapatın: … | The order has 1 unresolved failed backflush — retry it or close it with a reason before completing: … | Open failed backflush. | | Yalnız tamamlanmış üretim emri kesin kapatılabilir — önce emri tamamlayın. · Emir zaten kesin kapatılmış. | Only a completed production order can be closed finally — complete the order first. · The order has already been closed finally. | Close Finally rule. | | Yalnız Taslak, Yayınlandı ya da Üretimde durumundaki üretim emri iptal edilebilir. | Only a production order in Draft, Released or In Production status can be cancelled. | Completed/closed order. | | Emirde geri alınmamış malzeme sarfı var (…). İptalden önce sarf düzeltmesi yapılmalıdır. | The order has material consumption that has not been reversed (…). A consumption correction must be made before cancellation. | Correct the consumption first. | | Emirde geri alınmamış üretim çıktısı var (…). İptalden önce çıktı düzeltmesi yapılmalıdır. | The order has production output that has not been reversed (…). An output correction must be made before cancellation. | Correct the output first. | | İptal gerekçesi zorunludur. | A cancellation reason is required. | The reason is empty. | ## Related - [Production orders screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-emirleri) - [Correct consumption and output](https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme) - [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) --- # Correct consumption and output > Reverse an incorrectly posted material consumption or production output with a correction document that states a reason; the original document does not change. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/sarf-cikti-duzeltme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Malzeme Sarfı / Üretim Çıktısı belgesi › Sarf Düzeltmesi Oluştur · Çıktı Düzeltmesi Oluştur (Production › Material Consumption / Production Output document › Create Consumption Correction · Create Output Correction) - **Screen route:** `/erp/manufacturing/consumptions/{id}/reversals/new` - **Required permission:** `erp-manufacturing-corrections.create` - **Prerequisites:** - The order is **Üretimde** (In Production) or **Tamamlandı** (Completed) (no corrections on a **Kapatıldı** (Closed) order). - The line to be corrected has a quantity that has not been reversed. Production postings are not deleted or edited; an incorrect consumption or output is reversed with a **correction document**. In this way, the history of the stock and of the order remains traceable. ## Steps 1. Open the document from the **Malzeme Sarfları** (Material Consumptions) (or **Üretim Çıktıları** (Production Outputs)) tab of the order detail and click the **Sarf Düzeltmesi Oluştur** (Create Consumption Correction) (or **Çıktı Düzeltmesi Oluştur** (Create Output Correction)) link. ![Material consumption document](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/sarf-detay.png) 1. Immutable document — correction is a separate record 2. Create Consumption Correction 3. Warehouse and location 2. Check the **Düzeltme Tarihi** (Correction Date; default today) and enter the **Düzeltme Nedeni** (Correction Reason) (required, at most 512 characters). 3. On the line to be corrected, check the **Bu satırı düzelt** (Correct this line) box; enter the quantity in the **Düzeltilecek Miktar** (Quantity to Correct) field or click **Kalanı doldur** (Fill remaining). On a serial-managed line, select the serial numbers. ![Consumption Correction — quantity reversed](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/duzeltme-sarf.png) 1. Correction reason — required 2. Tick the line to correct 3. Quantity to correct — at most the remaining 4. Save Correction — stock returns 4. Click **Düzeltmeyi Kaydet** (Save Correction). **Result:** The correction is a new and **immutable** document; the original posting does not change. A consumption correction **puts the component back** into the warehouse/storage location/status it came from and reduces the requirement's Tüketilen (Consumed) quantity; an output correction **removes** the finished product from stock and reduces the order's Üretilen (Produced) quantity. It is listed in the **Düzeltme Geçmişi** (Correction History) section of the document. ## What you need to know - A correction can be made only on an order that is **Üretimde** (In Production) or **Tamamlandı** (Completed). After **Kesin Kapat** (Close Finally), the form does not open: "Düzeltme bağlamı yüklenemedi: Yalnız Üretimde ya da Tamamlandı durumundaki üretim emrinin sarfı geri alınabilir." (The correction context could not be loaded: consumption can be reversed only for a production order in In Production or Completed status.) - A document can be corrected several times, in parts; on each line at most the **Kalan Düzeltilebilir** (Remaining Correctable) quantity. - An output correction is a stock issue: the finished product is deducted from the warehouse/storage location it entered; if there is not enough stock there, the server rejects it with a stock message. - To cancel the order, all consumptions and outputs must first be corrected. - All output corrections are listed in the **Üretim › Analitik › Çıktı Düzeltmeleri** (Production › Analytics › Output Corrections) report. ### Example The **MS-2026-000003** consumption of **UE-2026-000001** recorded 12 M of pipe; 2 M were left over from cutting. **Sarf Düzeltmesi #1** (Consumption Correction #1), with the reason "Kesimden artan 2 m boru depoya iade edildi." (2 m of pipe left over from cutting returned to the warehouse.), put 2 M back into HAMMADDE / SAC-ALANI; the order's Tüketilen (Consumed) quantity of pipe fell from 12 to 10. ### Common messages | Message | English meaning | Cause | |---|---|---| | Düzeltme gerekçesi zorunludur. | A correction reason is required. | The reason is empty. | | Geri alınabilir miktar aşılıyor. Kalan: …, istenen: … | The reversible quantity is exceeded. Remaining: …, requested: … | The quantity is greater than the remaining quantity. | | \{n\}. sarf satırı daha önce tamamen geri alınmış. · \{n\}. çıktı satırı daha önce tamamen geri alınmış. | Consumption line \{n\} has already been fully reversed. · Output line \{n\} has already been fully reversed. | Nothing remains on the line. | | Sarf düzeltmesi en az bir satır içermelidir. · Çıktı düzeltmesi en az bir satır içermelidir. | A consumption correction must contain at least one line. · An output correction must contain at least one line. | No line was checked. | | Yalnız Üretimde ya da Tamamlandı durumundaki üretim emrinin sarfı geri alınabilir. | Consumption can be reversed only for a production order in In Production or Completed status. | The order is closed (or cancelled). | | Yalnız Üretimde ya da Tamamlandı durumundaki üretim emrinin çıktısı geri alınabilir. | Output can be reversed only for a production order in In Production or Completed status. | The same rule, for output. | | Üretim miktarı negatife düşemez — geri alma miktarı üretilen miktarı aşıyor. | The production quantity cannot become negative — the reversal quantity exceeds the produced quantity. | The output correction is too large. | ## Related - [Record material consumption](https://erpdocs.corexlogic.com/en/uretim/islemler/malzeme-sarfi-kaydetme) - [Record production output](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-ciktisi-kaydetme) - [Complete and finally close a production order](https://erpdocs.corexlogic.com/en/uretim/islemler/uretim-emrini-kapatma) --- # Enter a repetitive manufacturing confirmation > Confirm the quantity produced in order-less repetitive manufacturing — goods receipt of the finished product and backflush of the components in a single posting; open planned orders are reduced. URL: https://erpdocs.corexlogic.com/en/uretim/islemler/seri-uretim-teyidi-girme - **Type:** Task - **Module:** Manufacturing - **Menu path:** Üretim › Seri Üretim › Seri Üretim Teyidi Gir (Production › Repetitive Manufacturing › Enter Repetitive Manufacturing Confirmation) - **Screen route:** `/erp/manufacturing/repetitive/new` - **Required permission:** `erp-manufacturing-repetitive.create` - **Prerequisites:** - The item has an unlocked production version flagged **Seri üretim** (Repetitive manufacturing); the version's BOM is released and valid on the confirmation day. - The components are in sufficient stock in the consumption warehouse (in a warehouse with storage locations, in the card's default storage location). In repetitive manufacturing, no production order is opened; the quantity produced is confirmed period by period. Component consumption and the finished product receipt are in the same posting. All fields and rules of the screen: [Repetitive manufacturing](https://erpdocs.corexlogic.com/en/uretim/ekranlar/seri-uretim). ## Steps 1. Open the **Üretim › Seri Üretim › Seri Üretim Teyidi Gir** (Production › Repetitive Manufacturing › Enter Repetitive Manufacturing Confirmation) screen or click **Teyit Gir** (Enter Confirmation) in the list. 2. Select the item's version in the **Seri üretim versiyonu** (Repetitive manufacturing version) field (only versions flagged for repetitive manufacturing are listed). 3. Check the **Teyit tarihi** (Confirmation date) and enter the quantity produced in the **Miktar (temel birim)** (Quantity, base unit) field. 4. In the **Mamul girişi** (Finished product receipt) section, select the **Depo** (Warehouse) and **Lokasyon** (Storage location); for a batch-managed finished product, enter the **Lot** (Batch), **Üretim tarihi** (Production date) and **Son kullanma** (Expiry date). 5. In the **Geri sarf** (Backflush) section, select the **Sarf deposu** (Consumption warehouse) (empty = the finished product's receiving warehouse); **Stok durumu** (Stock status) empty = default. ![Enter Repetitive Confirmation](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/seri-teyit-gir.png) 1. Production version flagged repetitive 2. Quantity — in the base unit 3. Receiving warehouse 4. Warehouse to issue components from 5. Save Confirmation — receipt and issue together 6. Click **Teyidi Kaydet** (Save Confirmation). **Result:** The confirmation appears in the list with **Kaydedildi** (Posted) status: the finished product enters the selected warehouse, the components are exploded with the BOM valid on the confirmation day and deducted by the backflush rule, and open planned orders are reduced by the confirmed quantity (**Planlı emirden düşülen** (Deducted from planned orders)). An incorrect confirmation is cancelled from the list with a reason. ## What you need to know - Explosion, consumption breakdown and value are calculated on the server; the form does not show a preview. - The components are deducted with the breakdown rules of backflush: a batch-managed component by FEFO, and in a warehouse requiring storage locations from the card's default storage location; a serial-managed component is not backflushed. - A confirmation is cancelled from its row in the **Seri Üretim Teyitleri** (Repetitive Manufacturing Confirmations) list (**Teyidi İptal Et** (Cancel Confirmation), **Gerekçe** (Reason) required, `erp-manufacturing-corrections.create`); the receipt and the consumption are reversed. - The demo installation has no production version flagged for repetitive manufacturing; therefore there is no sample confirmation posting. ## Related - [Repetitive manufacturing screen](https://erpdocs.corexlogic.com/en/uretim/ekranlar/seri-uretim) - [Production versions](https://erpdocs.corexlogic.com/en/uretim/ekranlar/uretim-versiyonlari) - [Failed backflushes](https://erpdocs.corexlogic.com/en/uretim/ekranlar/hatali-geri-sarflar) — the breakdown rules of backflush --- # Data Import > Bulk import and export of data with Excel (.xlsx) workbooks — objects, load order, template, validate, import and result. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi Data Import is the single framework for importing and exporting master data with Excel workbooks, both when migrating from previous software and for bulk maintenance. From the item master to the price list, from the work center to the opening stock, every **object** works with the same three steps: **download the template or the existing records → Kontrol Et (Validate) → Aktar (Import)**. The **Yönetim › Araçlar › Veri Aktarımı** (Administration › Tools › Data Import) screen lists all objects the user can see **in load order**. For an end-to-end setup: [Setup with data import](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum). ![Data Import — objects in load order](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/merkez.png) 1. Load order 2. Click an object to open its import screen 3. Import/export or export only | Column | Meaning | |---|---| | **Sıra** (Order) | Load order. Each object depends on the ones before it (the BOM waits for the item, the opening stock waits for the warehouse). | | **Nesne** (Object) | The object's name, with the workbook's sheets below it. Click to open the object's import screen. | | **Alan** (Area) | The application area the object belongs to (Yönetim (Administration), Ana Veriler (Master Data), Stok Yönetimi (Inventory Management), Üretim (Production), Satın Alma (Purchasing), Satış (Sales), Finans (Finance)). | | **Açıklama** (Description) | What the object carries and what must be loaded before it. | | **Yetki** (Permission) | **İçe / dışa aktarır** (Imports / exports) — you have import permission. **Yalnız dışa aktarır** (Exports only) — you can see the object, download and validate the workbook, but cannot import. | If you do not have permission to see any object, the table reads "Aktarabileceğiniz bir nesne yok — yetki için yöneticinize başvurun." (There is no object you can import — contact your administrator for permission.) ## Objects and load order | Order | Object | Workbook sheets | Must be loaded first | Screen | |---|---|---|---|---| | 1 | [Users and Roles](https://erpdocs.corexlogic.com/en/veri-aktarimi/kullanicilar-ve-roller) | Roller · Kullanıcılar | — (first file) | Data Import | | 1 | [Item Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-aktarimi) | Özellikler · Özellik Değerleri · Nitelik Setleri · Kategoriler · Üreticiler · Ürünler · Yapılandırma · Varyantlar · Birimler · Barkodlar · Alternatifler · Sınıflandırma | — | Ana Veriler › Ürünler › Ürün Aktarımı (Master Data › Items › Item Import) | | 2 | [Business Partner Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-ortagi-aktarimi) | İş Ortakları | — | Ana Veriler › İş Ortakları › İş Ortağı Aktarımı (Master Data › Business Partners › Business Partner Import) | | 3 | [Ship-to Addresses and Contact Persons](https://erpdocs.corexlogic.com/en/veri-aktarimi/sevk-adresleri-ve-ilgili-kisiler) | Sevk Adresleri · İlgili Kişiler | Business partners | Data Import | | 10 | [Warehouses and Storage Locations](https://erpdocs.corexlogic.com/en/veri-aktarimi/depolar-ve-lokasyonlar) | Depolar · Lokasyonlar | — | Data Import | | 20 | [Work Centers](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-merkezleri) | İş Merkezleri · Bireysel Kapasiteler | — | Data Import | | 30 | [Bills of Materials](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-agaclari) | Ürün Ağaçları · Ağaç Satırları · Satır Koşulları | Items and their characteristics | Data Import | | 40 | [Routings](https://erpdocs.corexlogic.com/en/veri-aktarimi/rotalar) | Rotalar · Operasyonlar | Items, work centers | Data Import | | 50 | [Supplier Prices](https://erpdocs.corexlogic.com/en/veri-aktarimi/tedarikci-fiyatlari) | Tedarikçi Fiyatları | Items, suppliers | Data Import | | 60 | [Price List Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/fiyat-listesi-aktarimi) | Fiyat Listeleri · Fiyatlar · Dönem ve Miktar Fiyatları · Karakteristik Farkları · Toplu Değişiklik · Müşteri Listeleri · Özel Fiyatlar · Grup İskontoları | Items, business partners | Data Import | | 60 | [Opening Stock](https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi) | Açılış Bakiyeleri | Items, warehouses and storage locations | Data Import | | 80 | Customer Opening Balance Import | — | Business partners | Finance (its own screen) | | 81 | Vendor Opening Balance Import | — | Business partners | Finance (its own screen) | | 90 | Opening from Trial Balance | — | — | Finance (its own screen) | The **Sıra** (Order) column is the system's own sequence number; objects with the same number do not depend on each other. The last three rows are listed on the central screen but work on their own Finance screens (the open items of customers and vendors on the transition date, and a draft opening journal entry from the previous software's closing trial balance); they are not described in this section. ## Workbook rules All imports are read with the same rules: - **The file is an Excel Workbook (.xlsx).** CSV is not accepted. Each object has its own workbook; the workbook contains **one sub-object per sheet** (e.g. Warehouses and Storage Locations). Sheet names and column headers must be the same as in the template; the order of the columns does not matter. - **All cells are text.** The template and the **Dışa Aktar** (Export) file write cells as text: leading zeros, long codes, VKN/TCKN (tax ID / national ID), phone numbers and postal codes are preserved. When filling in by hand, keep these columns in **Text** format in Excel. - **Records are linked by code.** A sheet refers to another record not by its ID but **by its code** (`DepoKodu`, `UrunKodu`, `CariKod`). The code must either have been created on an earlier sheet of the same workbook or exist in the system. - **If the code exists it is updated; otherwise it is created.** The matching column (e.g. `Kod`, `DepoKodu + Kod`) is stated in each sheet's **Alan Kılavuzu** (Field Guide). Codes are converted to uppercase; the letter i is written as `I` in codes. - **A column that is not in the file does not change in the record.** Bulk corrections can be made with a workbook that contains only the columns you want to change. A record that is not in the file is not deleted either — the import does not delete records. - **The same name is not created twice.** Differences in case, spaces and punctuation count as the same name. - **`Evet` / `Hayır` (Yes / No), `Aktif` / `Pasif` (Active / Inactive)** columns accept no other spelling; in a column with a list of allowed values, the value is written exactly as in the list (the **Örnek / Değerler** (Example / Values) column of the Field Guide). - **Exception — Opening Stock:** it is a document, not an update; the same reference is not written twice. Details: [Opening Stock](https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi). ## Import screen The screen of every object opened from the central screen has three tabs: **İçe Aktar** (Import), **Dışa Aktar** (Export), **Alan Kılavuzu** (Field Guide). (Item Import has a fourth tab, **Aktarım Geçmişi** (Import History); Business Partner Import has its own single-page layout.) ![Import screen — file, validate, import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/ice-aktar.png) 1. Three tabs 2. 1 · File (.xlsx) 3. 2 · Validate — changes nothing 4. 3 · Import — only after a clean validation 5. Result counters | Step | Button | What it does | |---|---|---| | 1 · File | **Dosya Seç** (Choose File) | Selects an .xlsx workbook from your computer. The last job's workbook is kept on the server: if you leave the screen and come back, it reads "Kitap sunucuda — yeniden seçmeniz gerekmez." (The workbook is on the server — you do not need to select it again.) | | 2 · Validation | **Kontrol Et** (Validate) | Validates the workbook row by row and states what will happen for each row. **It does not change any record.** | | 3 · Import | **Aktar** (Import) | Enabled only after an error-free validation, and writes the workbook. If there are invalid rows, **Hatalıları Atlayarak Aktar** (Import Skipping Invalid Rows) appears in place of the button. | Validation and import run on the server as a **job**: the progress bar shows the stage (sheet name), the number of rows and the percentage; you can stop the job with **İptal Et** (Cancel). "Ekrandan ayrılabilirsiniz — iş sunucuda sürer; bitince bildirim gelir ve bağlantısı sonucu bu ekranda açar." (You can leave the screen — the job continues on the server; when it finishes, a notification arrives and its link opens the result on this screen.) If other jobs are queued, it reads "Önünüzde N iş var" (There are N jobs ahead of you). The import is **all-or-nothing**: cancellation or an error writes no records ("Aktarım durdu — hiçbir kayıt yazılmadı." — The import stopped — no records were written.). ### Validation result | Counter (in validation → in import) | Meaning | |---|---| | **Açılacak** (To be created) → **Açıldı** (Created) | The code does not exist in the system; a new record is created. | | **Güncellenecek** (To be updated) → **Güncellendi** (Updated) | The code exists and at least one cell differs from the record. The cell appears **yellow** in the result table. | | **Değişmiyor** (Unchanged) → **Değişmedi** (Not changed) | The code exists, and all values in the file are the same as the record. | | **Hatalı** (Invalid) → **Atlandı** (Skipped) | The row does not comply with a rule; the **Açıklama** (Description) column states the reason. An invalid row writes nothing. | Below the counters there is a per-sheet summary (e.g. "Lokasyonlar 13 satır · açılacak 0 · güncellenecek 1 · 2 hatalı" — Lokasyonlar 13 rows · to be created 0 · to be updated 1 · 2 invalid), and below that the result table: **Sayfa** (Sheet), **Satır** (Row; Excel row number), **Kod** (Code), **Sonuç** (Result), **Açıklama** (Description). The table is filtered with the **Sonuç** (Result) filter (default **Hatalı** (Invalid) if there are invalid rows) and the **Ara** (Search) box. ![Validation result — failed rows and messages](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/kontrol-hatali.png) 1. Failed row count 2. Import skipping failed rows 3. Create · Update · Unchanged · Failed 4. Error message — with row and code When there are invalid rows, there are two ways forward: correct the file and **Kontrol Et** (Validate) again, or write the rest with **Hatalıları Atlayarak Aktar** (Import Skipping Invalid Rows). The latter opens a confirmation dialog ("Hatalı satırlar atlanarak aktarılsın mı?" — Import while skipping invalid rows?); the skipped rows can be corrected in the file and imported again later — the record with the same code is updated, not created a second time. If all rows are invalid, this option is disabled as well. ### Export ![Export tab — current records and blank template](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/disa-aktar.png) 1. Current records — same book as the template 2. Blank template — with sample rows - **Mevcut kayıtlar › Dışa Aktar** (Existing records › Export): the records are downloaded as the **same workbook** as the template — you can correct them and load them back directly; an untouched row changes no record (Değişmiyor — Unchanged). - **Boş şablon › Şablonu İndir** (Empty template › Download Template): all sheets with sample rows. Delete the samples and enter your own records. ### Field Guide For each sheet: its description, the **matching** column and the column table (**Sütun** (Column), **Açıklama** (Description), **Örnek / Değerler** (Example / Values); required columns marked with `*`). The column tables of the object pages in this section are taken from the same source. ![Field Guide — sheet, match key, columns](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/alan-kilavuzu.png) 1. Match column 2. Column — * required 3. Example or allowed values ## Permissions | Task | Required | |---|---| | See the central screen | Permission to view one of the objects (e.g. `erp-inventory-warehouses.view`, `users.import`). | | See the object, download the template, Validate | The object's view permission. | | Import | The object's `import` permission and the permissions to create/edit the record (e.g. `erp-inventory-warehouses.import` + `.create` + `.edit`). | A user without import permission sees "Aktarma yetkiniz yok — kontrol edip dosyayı yetkili kişiye iletebilirsiniz." (You do not have import permission — you can validate and forward the file to an authorized person.) on the screen. The full permission list of each object is in the header of its own page. ## Notifications When a background job starts and finishes, a notification lands in the bell: **Veri aktarımı başladı** (Data import started), **Veri aktarımı kontrolü tamamlandı** (Data import validation completed), **Veri aktarımı tamamlandı** (Data import completed), **Veri aktarımı hata verdi** (Data import failed). Clicking the notification opens the result on the import screen. You can change the channel in **Profil › Bildirim Tercihleri** (Profile › Notification Preferences): [Notifications](https://erpdocs.corexlogic.com/en/ayarlar/bildirimler). ## Tasks - [Download the template](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sablon-indirme) — Empty template or existing records. - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) — Validation without saving. - [Read the validation result](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma) — Counters, invalid rows, correction. - [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) — Write after an error-free validation. --- # Users and Roles import > Create and update organization roles and users with a single Excel workbook — the first object loaded in a setup from scratch. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/kullanicilar-ve-roller - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Kullanıcılar ve Roller (Administration › Tools › Data Import › Users and Roles) - **Screen route:** `/erp/data-import/users` - **Required permission:** `users.import (görme ve kontrol) · users.import + users.create + users.edit (aktarma)` The **first** workbook loaded in a setup from scratch: the users who will load the other files, and their roles, come with it. The workbook has two sheets; the **Roller** (Roles) sheet is always processed before **Kullanıcılar** (Users), so a role created in the same workbook can be assigned to a user immediately. - A role is matched **by name**, a user **by email address**: updated if it exists, created if not. - The file does **not delete** roles or users. If a column is not in the file at all, that field is not touched. - Permission, screen and role lists are separated with `;` and give the **complete** list — the list in the file replaces the one in the record. A catalog role's template permission cannot be removed; if it is missing from the file, it is added anyway. - A new active account counts toward the license's user limit. > **Workbook carrying password hashes** The object is visible only with the **users.import** permission. The **Dışa Aktar** (Export) file of an existing installation carries the users' password hashes; people sign in with that password. Do not send this file by email or put it in a shared folder. Add a person who is not in the file by invitation from the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Roller** (Roles) | `RolAdi` | Roles — processed BEFORE users. If the name exists it is updated; otherwise it is created as an organization role; the file does NOT DELETE roles. | | **Kullanıcılar** (Users) | `Eposta` | Users — matched by email: updated if it exists, created if not. A new active account counts toward the license's user limit. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Roller (Roles) Roles — processed BEFORE users. If the name exists it is updated; otherwise it is created as an organization role; the file does NOT DELETE roles. Matching: `RolAdi`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `RolAdi` | **Yes** | The role name. Catalog roles (Yönetici (Administrator), Depo Memuru (Warehouse Clerk) …) already exist in the installation; the file carries their additional permissions and screens. | `Satın Alma Uzmanı` | | `Izinler` | No | Permission keys separated with ';' — the COMPLETE set of the role's permissions. A catalog role's template permission cannot be removed; if it is missing from the file, it is added anyway. If the column is absent, permissions are not touched. | `erp-procurement-orders.view;erp-procurement-orders.create` | | `Ekranlar` | No | Addresses of the screens shown in the menu, separated with ';'; '*' = all screens. The COMPLETE screen list of the role; empty = no list. If the column is absent, it is not touched. | `/erp/procurement/orders;/erp/procurement/requisitions` | ### Kullanıcılar (Users) Users — matched by email: updated if it exists, created if not. A new active account counts toward the license's user limit. Matching: `Eposta`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Eposta` | **Yes** | Sign-in name. The email of an account, once created, does not change via the file. | `ahmet.yilmaz@ornek.com` | | `AdSoyad` | No | Display name. If the column is absent, it is not touched. | `Ahmet Yılmaz` | | `Telefon` | No | Digits, spaces, +, ( ) and -; 7–15 digits. Empty = no number. | `+90 532 000 00 00` | | `Roller` | No | Role names separated with ';' — the COMPLETE set of the user's roles. The role must be on this workbook's Roller sheet or in the installation. If the column is absent, it is not touched. | `Satın Alma Uzmanı` | | `EkIzinler` | No | Permissions granted to the person on top of the role, separated with ';' — the COMPLETE set. If the column is absent, it is not touched. | | | `ButunEkranlar` | No | Evet (Yes) = all screens, independent of the role's screen list. Empty = Hayır (No) for a new user, untouched for an existing one. | `Evet` · `Hayır` | | `Durum` | No | Pasif (Inactive) = account disabled (not deleted). Empty = Aktif (Active) for a new user, untouched for an existing one. | `Aktif` · `Pasif` | | `HesapKilitleme` | No | Whether the account is locked after failed password attempts. Empty = Evet (Yes) for a new user, untouched for an existing one. | `Evet` · `Hayır` | | `IlkGiristeSifreDegistir` | No | Evet (Yes) = password change required at first sign-in. Empty = Hayır (No) for a new user, untouched for an existing one. | `Evet` · `Hayır` | | `SifreOzeti` | No | The password hash exported by CoreX — written as is, not edited. Empty = a new user is created without a password (awaiting invitation); for an existing one, the password is not touched. | | ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Durum 'Aktif' ya da 'Pasif' olmalı. (Durum must be 'Aktif' or 'Pasif'.) | Only these two values can be entered in the Durum column. | | … 'Evet' ya da 'Hayır' olmalı. (… must be 'Evet' or 'Hayır'.) | Other spellings (E, 1, true) are not accepted in an `Evet`/`Hayır` column. | | Ekran adresi değil: … (Not a screen address: …) | Enter the menu address (`/erp/...`) or `*` in the screen list; do not enter the screen name. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Item Import > Create and update characteristics, categories, manufacturers, item master records, configuration, variants, units, barcodes, alternatives and classification with a single Excel workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-aktarimi - **Type:** Screen - **Module:** General - **Menu path:** Ana Veriler › Ürünler › Ürün Aktarımı (Master Data › Items › Item Import) - **Screen route:** `/erp/catalog/data-exchange` - **Required permission:** `erp-catalog-items.import — kurulum sayfaları (özellik, kategori, üretici) ayrıca kendi ekranlarının iznini ister` All item master data in a single workbook: the setup sheets (**Özellikler** (Characteristics), **Özellik Değerleri** (Characteristic Values), **Nitelik Setleri** (Attribute Sets), **Kategoriler** (Categories), **Üreticiler** (Manufacturers)), **Ürünler** (Items), **Yapılandırma** (Configuration) and **Varyantlar** (Variants), **Birimler** (Units), **Barkodlar** (Barcodes), **Alternatifler** (Alternatives), **Sınıflandırma** (Classification). The sheets are linked to each other **by code** and none of them is required — a file containing only the Barkodlar sheet adds barcodes to existing records. Because it is the foundation of everything, it is loaded **before** BOMs, routings, prices, supplier prices and the opening stock. The screen opens separately from the other imports (**Ana Veriler › Ürünler › Ürün Aktarımı** — Master Data › Items › Item Import); it has four tabs: **İçe Aktar** (Import), **Dışa Aktar** (Export), **Aktarım Geçmişi** (Import History), **Alan Kılavuzu** (Field Guide). ![Product Import — validation result per sheet](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/urun-aktarimi.png) 1. Import History — undo 2. Validate 3. Counters per sheet - On the **Dışa Aktar** (Export) tab, **Kart Listesini İndir** (Download Record List) downloads the existing records as the same workbook as the template; it has the **Durum** (Status: Aktif (Active) / Pasif (Inactive)) and **Gözden geçirme** (Review: Gözden geçirilecek (To be reviewed) / Doğrulanmış (Verified)) filters. **Şablonu İndir** (Download Template) provides the empty template. - **Aktarım Geçmişi** (Import History) lists each import with its date, the user, and the numbers of created, updated and unchanged records, unit conversions and barcodes. **Geri Al** (Undo) restores the updated records to their previous state and deletes the barcodes, unit conversions and records created in that import; it does **not touch** records changed manually after the import. Undo is not a database backup. - A cell can be corrected in the validation result; a corrected cell is not written without **Kontrol Et** (Validate) **again** ("Düzeltmeler kontrol edilmedi — önce **Kontrol Et**." — The corrections have not been validated — **Validate** first.). ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Özellikler** (Characteristics) | `Kod` | Characteristic definitions — the same definition is used in classification (a part's size, type) and in configuration (Brand, Number of Platforms). | | **Özellik Değerleri** (Characteristic Values) | `OzellikKodu` + `DegerKodu` | The values of selection-type characteristics. | | **Nitelik Setleri** (Attribute Sets) | `SetKodu` + `OzellikKodu` | Attribute sets: linked to a category, they state which characteristics are asked for records in that category. | | **Kategoriler** (Categories) | `Kod` | The material group tree. The record's primary category; an attribute set is linked to a category and subcategories inherit it. | | **Üreticiler** (Manufacturers) | `Kod` | Manufacturer definitions — the Uretici column of the Ürünler sheet links to these codes. | | **Ürünler** (Items) | `Kod` | The item's basic, planning and dimension data — one row per record. | | **Yapılandırma** (Configuration) | `Kod` + `OzellikKodu` | The characteristics of a configurable record: values are selected on the sales line, no record is created. | | **Varyantlar** (Variants) | `Kod` | Standard combinations kept in stock — each is a separate record, and its values are its identity. | | **Birimler** (Units) | `Kod` + `Birim` | Alternative units: how many base units 1 unit equals. A case barcode is linked to the case unit — it is defined here first. | | **Barkodlar** (Barcodes) | `Barkod` | The item's barcodes (EAN/GTIN) — there can be several; a case barcode carries the case unit. | | **Alternatifler** (Alternatives) | `AlternatifKodu` | Alternative items — proposed on a sales order if stock is insufficient. The file does not delete alternatives. | | **Sınıflandırma** (Classification) | `Kod` + `OzellikKodu` | The records' characteristic values — characteristics not on the sheet are not touched. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Özellikler (Characteristics) Characteristic definitions — the same definition is used in classification (a part's size, type) and in configuration (Brand, Number of Platforms). Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The characteristic's code (DIS_OLCUSU, MARKA). Matching key: created if it does not exist, updated if it does. | `DIS_OLCUSU` | | `Ad` | **Yes** | The name shown on the screen and in the guide. | `Diş Ölçüsü` | | `VeriTuru` | **Yes** | The value's type — CANNOT CHANGE after creation (written values are stored in the type's column). | `Metin` (Text) · `Tam Sayı` (Integer) · `Ondalık` (Decimal) · `Evet/Hayır` (Yes/No) · `Tarih` (Date) · `Seçim` (Selection) | | `BirimSembolu` | No | The value's unit label (mm, kW) — not a stock unit; not converted to uppercase. | | | `Sira` | No | Order in the guide and form (whole number). | `10` | | `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion — an unused characteristic is set to inactive. | `Aktif` · `Pasif` | ### Özellik Değerleri (Characteristic Values) The values of selection-type characteristics. Matching: `OzellikKodu` + `DegerKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `OzellikKodu` | **Yes** | The code of a selection-type characteristic — must be on the Özellikler sheet or in the system. | `DIS_OLCUSU` | | `DegerKodu` | **Yes** | The value's code; unique within the characteristic. Matching: characteristic + value code. | `1/2` | | `Ad` | **Yes** | The value's name. | `1/2"` | | `Sira` | No | Order in the selection list (whole number). | `10` | | `Durum` | No | Aktif (Active) or Pasif (Inactive). | `Aktif` · `Pasif` | ### Nitelik Setleri (Attribute Sets) Attribute sets: linked to a category, they state which characteristics are asked for records in that category. Matching: `SetKodu` + `OzellikKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `SetKodu` | **Yes** | The set's code. Each characteristic of the same set is a separate row; the set's member list is the rows in the file (complete list). | `SET-BAGLANTI` | | `SetAdi` | No | The set's name — it is enough to enter it on the set's first row; required for a new set. | `Bağlantı Elemanı` | | `OzellikKodu` | **Yes** | The code of the characteristic in the set. | `DIS_OLCUSU` | | `Zorunlu` | No | If Evet (Yes), a value is required on records in this category. | `Evet` · `Hayır` | | `Sira` | No | Order on the record form (whole number); if empty, the row order. | `10` | ### Kategoriler (Categories) The material group tree. The record's primary category; an attribute set is linked to a category and subcategories inherit it. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The category's code. Matching key: created if it does not exist, updated if it does. | `HID-BAG` | | `Ad` | **Yes** | The category's name. | `Bağlantı Elemanları` | | `UstKategoriKodu` | No | The parent category's code — must be on the same sheet or in the system. Empty = root category. | `HID` | | `NitelikSetiKodu` | No | The attribute set linked to the category — the characteristics asked for records in that category. An empty cell removes the link; if the column is absent, the link is not touched. | `SET-BAGLANTI` | | `Sira` | No | Order in the tree (whole number). | `10` | | `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion. | `Aktif` · `Pasif` | ### Üreticiler (Manufacturers) Manufacturer definitions — the Uretici column of the Ürünler sheet links to these codes. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The manufacturer's code. Matching key: created if it does not exist, updated if it does. | `BOSCH` | | `Ad` | **Yes** | The manufacturer's name. | `Robert Bosch GmbH` | | `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion; an inactive manufacturer is not linked to a new record. | `Aktif` · `Pasif` | ### Ürünler (Items) The item's basic, planning and dimension data — one row per record. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The record's unique code. If it exists in the record list, the record is UPDATED; otherwise it is CREATED. Converted to uppercase. | `HM-0001` | | `Ad` | **Yes** | Record name. | `NİPEL HİDROLİK 1/2"` | | `Aciklama` | No | Free-text description. Can be left empty. | | | `Tur` | No | Base type (Hammadde (Raw material), Mamul (Finished product), Hizmet (Service)…). If UrunTuru is filled, it comes from the item type — if entered, it must match the type's base. If UrunTuru is empty, it is required: the base's seed type is assigned (older files). Only 'Hizmet' (Service) has a behavioral effect (does not keep stock). | `Hammadde` (Raw material) · `Yarı Mamul` (Semi-finished product) · `Mamul` (Finished product) · `Ticari Mal` (Trading goods) · `Sarf Malzemesi` (Consumable) · `Ambalaj` (Packaging) · `Yedek Parça` (Spare part) · `Hizmet` (Service) | | `TemelBirim` | **Yes** | The CODE of the base unit of measure. The stock balance is always in this unit, and it CANNOT BE CHANGED after the record is created. | `ADET` | | `IzlemeTipi` | No | Traceability. If left empty, 'Yok' (None) for a new record, untouched for an existing one. On an existing record it changes only while there are no stock movements, stock, open documents (order, production order) or reservations — serial/batch management is determined before stock is entered. A variant's type comes from the parent record. | `Yok` (None) · `Lot` (Batch) · `Seri` (Serial) | | `IzlemeProfili` | No | The CODE of the serial and batch number profile (Özelleştirme › Malzeme › Seri ve Lot Numarası Profilleri — Customization › Material › Serial and Batch Number Profiles) — number template and warranty period. Only on a tracked record; a newly assigned profile must be active. Empty = no profile. If the column is absent from the file, it is not touched. | | | `KategoriKodu` | No | The category CODE (not the category name). If left empty, no category is assigned. | `HID-BAG` | | `KaliteKontrol` | No | Quality inspection requirement on receipt. Empty = Hayır (No). Evet / Hayır | `Hayır` | | `Durum` | No | The record's status. Empty = Aktif (Active). No stock movement can be created for an inactive record. | `Aktif` · `Pasif` | | `StokUrunu` | No | Whether the record keeps stock. If left empty, it is derived from the type (Hizmet = Hayır, others = Evet). It CANNOT BE CHANGED after the record is created. Evet / Hayır | `Evet` | | `Satilabilir` | No | Whether it can be selected on sales documents. Empty = Hayır (No). Evet / Hayır | `Hayır` | | `SatinAlinabilir` | No | Whether it can be selected on purchasing documents. Empty = Hayır (No). Evet / Hayır | `Evet` | | `Uretilebilir` | No | Whether it can be an OUTPUT on production documents (whether it has a recipe). Empty = Hayır (No). Evet / Hayır | `Hayır` | | `PlanlamaStratejisi` | No | Whether the record is planned to stock or to order. Empty = 'Planlama Yok' (No planning). If a value other than 'Planlama Yok' is selected, Tedarik Yolu (procurement type) is also REQUIRED. | `Planlama Yok` (No planning) · `Stoğa Üretim` (Make-to-stock) · `Siparişe Üretim` (Make-to-order) | | `TedarikYolu` | No | The default procurement type when a requirement arises. Empty = not determined. 'Üret' (Make) requires the record to be producible, 'Satın Al' (Buy) requires it to be purchasable. | `Üret` (Make) · `Satın Al` (Buy) | | `GozdenGecirilecek` | No | Whether the record is waiting for human verification. Empty = Hayır (No). Evet / Hayır | `Hayır` | | `GecerlilikBaslangici` | No | Start of availability (dd.mm.yyyy or yyyy-mm-dd). Empty = no limit. It does NOT OVERRIDE Durum, it narrows it: an inactive record cannot be used on any date. | `01.01.2026` | | `GecerlilikBitisi` | No | End of availability (inclusive). Empty = no limit. For seasonal and phase-out items. | `31.12.2026` | | `NetAgirlikKg` | No | Net weight, kg. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. If the column is absent from the file, the measurement is not touched. | | | `BrutAgirlikKg` | No | Gross (packed) weight, kg. Cannot be less than the net weight. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. | | | `UzunlukCm` | No | Length, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. | | | `GenislikCm` | No | Width, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. | | | `YukseklikCm` | No | Height, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. | | | `HacimL` | No | Volume, liters — not calculated from the dimensions, entered separately. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. | | | `MinStok` | No | Minimum stock, in the base unit. When the stock position falls below it, the requirements view proposes an order. Can be zero; empty = undefined. Stock items only. If the column is absent from the file, it is not touched. | | | `MaksStok` | No | Maximum stock, in the base unit — the target the proposal fills up to. Cannot be entered without a minimum and cannot be less than the minimum. Empty = the proposal fills up to the minimum. | | | `TedarikSuresiGun` | No | Lead time, whole days (0–999). The only source for a record without a supplier (produced); for a purchased record, the lead time in the supplier record applies on the document. Stock items only. If the column is absent from the file, it is not touched. | `7` | | `MinSiparisMiktari` | No | Minimum order quantity, in the base unit — the proposal does not go below it. Empty = no rule. | | | `SiparisKatsayisi` | No | Order multiple, in the base unit — the proposal is rounded up to a multiple of it (case, pallet). Empty = no rule. | | | `YabanciAd` | No | Name in a foreign language (external correspondence). If the column is absent from the file, it is not touched. | | | `EkTanimlayici` | No | Additional identifier — the code in another system or an old code. Not unique. | | | `Uretici` | No | Manufacturer CODE (Kurulum › Malzeme › Üreticiler — Setup › Material › Manufacturers, or the workbook's Üreticiler sheet). A newly assigned manufacturer must be active. Empty = no manufacturer. | | | `Gtip` | No | GTİP (Turkish customs tariff code) — 12 digits (0206.22.00.00.00 or 020622000000); the line position of an export invoice. If the column is absent from the file, it is not touched. | | | `UreticiParcaNo` | No | Manufacturer part number — the manufacturer's catalog number; cannot be entered without a manufacturer. If the column is absent from the file, it is not touched. | | | `MalzemeDurumu` | No | Material status CODE (Kurulum › Stok › Malzeme Durumları — Setup › Inventory › Material Statuses) — the record's block/warning in sales, purchasing, production and stock movements. A newly assigned status must be active. Empty = no status. If the column is absent from the file, it is not touched. | | | `MalzemeDurumuBaslangic` | No | The first day the material status is valid (dd.mm.yyyy). Empty = immediately. A date without a status is rejected. | | | `KesilmeTarihi` | No | Discontinuation date (dd.mm.yyyy) — after this day, the record's remaining shortage is passed to the successor, and the record is not restocked. Empty = not discontinued. | | | `HalefKart` | No | The successor record's CODE — a record in the same base unit that EXISTS IN THE DATABASE (a record created in this file cannot be made a successor; provide it in a second import). A discontinuation date is required. | | | `HalefIkiYonlu` | No | Evet (Yes) = two-way interchangeability: the successor's requirement can also be covered from the old stock. Empty = Hayır (No). | | | `UrunTuru` | No | Item type CODE (Özelleştirme › Malzeme › Ürün Türleri — Customization › Material › Item Types; item type). The base type comes from the item type. If empty, the seed type of the Tur column. A flag of a view the type does not allow (sellable, etc.) is rejected. The old name 'MalzemeTuru' is also read. | `HAMMADDE` | ### Yapılandırma (Configuration) The characteristics of a configurable record: values are selected on the sales line, no record is created. Matching: `Kod` + `OzellikKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The configurable record's code — must be on the Ürünler sheet or in the system. A record with rows here is made configurable. | `MML-0001` | | `OzellikKodu` | **Yes** | The characteristic's code (Özellikler sheet). The value of this characteristic is selected on the sales line. | `MARKA` | | `Zorunlu` | No | If Evet (Yes), a value is required on the line. | `Evet` · `Hayır` | | `IzinliDegerler` | No | For a selection type, the allowed value codes, separated with semicolons (a value may contain a decimal comma). Empty = all values of the characteristic. | `SHELL; TOTAL` | | `EnAz` | No | Smallest value for a numeric characteristic. | | | `EnCok` | No | Largest value for a numeric characteristic. | | | `Adim` | No | Step for a numeric characteristic (such as 0,5 m). | | | `Varsayilan` | No | The value preselected on the sales line — a value code for a selection (must be allowed), a decimal with a comma for a number, Evet/Hayır. Empty = no default; if the column is absent, the existing default is kept. | `SHELL` | | `OnKosul` | No | Precondition: the characteristic is asked only when the condition is met. Format "KOŞULÖZELLİĞİ = DEĞER" (condition characteristic = value); values of the same characteristic with "/" (OR), different characteristics with ";" (AND). The condition characteristic must be a selection or Evet/Hayır (Yes/No) characteristic of the same record. Empty = always asked; if the column is absent, the existing condition is kept. | `KABIN = OZEL_OLCU` | ### Varyantlar (Variants) Standard combinations kept in stock — each is a separate record, and its values are its identity. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The variant record's code. Each characteristic of the same code is a separate row. | `MML-0001-SHELL` | | `Ad` | No | The variant's name — it is enough to enter it on the first row; required for a new variant. | `MERKEZİ YIKAMA SİSTEMİ SHELL` | | `UstKartKodu` | **Yes** | The code of the configurable parent record. | `MML-0001` | | `OzellikKodu` | **Yes** | One of the parent record's characteristics. | `MARKA` | | `Deger` | **Yes** | The characteristic's value — a value code for a selection, a decimal with a comma for a number. Empty = the variant has no value for this characteristic (only for a non-required characteristic). | `SHELL` | ### Birimler (Units) Alternative units: how many base units 1 unit equals. A case barcode is linked to the case unit — it is defined here first. Matching: `Kod` + `Birim`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The item's code — must be on the Ürünler sheet or in the system. | `HM-0001` | | `Ad` | No | Read-only — the item description in the export; ignored on import. | `Örnek ürün` | | `Birim` | **Yes** | The alternative unit's code (KOLI, PAKET). The record's base unit is not entered. | `KOLI` | | `TemelBirimMiktari` | **Yes** | How many base units 1 unit equals — if 1 CASE = 12 PIECES, then 12. Decimal separator is a comma, at most 6 decimal places. If the conversion does not exist it is created; if it does, its factor is updated; if the unit is linked to the record with another conversion, the factor must be the same. | `12` | | `TemelBirim` | No | Read-only — the item's base unit in the export; ignored on import. | `ADET` | ### Barkodlar (Barcodes) The item's barcodes (EAN/GTIN) — there can be several; a case barcode carries the case unit. Matching: `Barkod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The barcode's record (item code). | `HM-0001` | | `Ad` | No | Read-only — the item description in the export; ignored on import. | `Örnek ürün` | | `Barkod` | **Yes** | Matching key: created if it does not exist in the system, updated if it exists on the same record; another record's barcode is rejected. Letters are converted to uppercase; no spaces or Turkish letters. The column is in text format — when pasting from another file, make sure leading zeros are not dropped. | `8691234567890` | | `Birim` | No | The barcode's unit (a case barcode carries the case unit): the record's base unit or one of the conversion units — can be defined on the Birimler sheet in the same file. Empty = base unit; if the column is absent, the existing barcode's unit does not change. | `ADET` | | `Aciklama` | No | At most 100 characters. If the column exists but the cell is empty, the description is deleted. | `Tedarikçi EAN` | | `Varsayilan` | No | Evet (Yes) = this becomes the record's default barcode (takes over from the previous one); at most one Evet per record. Hayır (No) or empty does not touch it; the default barcode cannot be set to Hayır. The record's first barcode is automatically the default. | `Evet` · `Hayır` | ### Alternatifler (Alternatives) Alternative items — proposed on a sales order if stock is insufficient. The file does not delete alternatives. Matching: `AlternatifKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The record's code — must be on the Ürünler sheet or in the system. | `HM-0001` | | `AlternatifKodu` | **Yes** | The alternative record's code. The record + alternative pair is the matching key; one-way. | `HM-0002` | | `UyumOrani` | No | Compatibility rate, percentage (0–100). Empty = not specified. | `90` | | `Not` | No | Note — at most 256 characters. | `Ölçü aynı, malzeme farklı` | ### Sınıflandırma (Classification) The records' characteristic values — characteristics not on the sheet are not touched. Matching: `Kod` + `OzellikKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The record's code — must be on the Ürünler sheet or in the system. | `HM-0001` | | `OzellikKodu` | **Yes** | The characteristic's code (Özellikler sheet). Those in the attribute set of the record's category are asked on the record; a characteristic outside the set can also be entered. | `DIS_OLCUSU` | | `Deger` | No | Value — a value code for a selection, a decimal with a comma for a number, Evet/Hayır, dd.mm.yyyy. Empty = remove the value. | `1/2` | ## In the demo package The demo package contains two item workbooks, and both are loaded in order from this screen: | File | Content | Kontrol Et (Validate) (demo installation, 02.11.2026) | |---|---|---| | `01-urun-aktarimi.xlsx` | Purchased materials: 22 characteristics, 22 categories, 17 manufacturers, 98 items, unit conversions, alternatives, classification | 363 rows · Hatalı (Invalid) 0 (all **Değişmiyor** (Unchanged) — the package is already loaded) | | `02-uretilen-ve-satilan-urunler.xlsx` | Finished products, semi-finished products, trading goods, spare parts, services; configuration, size variants, barcodes | 172 rows · Hatalı (Invalid) 0 | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Business Partner Import > Create and update customer and supplier records (identity, address, payment terms, delivery terms) with an Excel workbook containing the "İş Ortakları" sheet. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/is-ortagi-aktarimi - **Type:** Screen - **Module:** General - **Menu path:** Ana Veriler › İş Ortakları › İş Ortağı Aktarımı (Master Data › Business Partners › Business Partner Import) - **Screen route:** `/erp/partners/data-exchange` - **Required permission:** `erp-partners-cards.view (ekran, kontrol) · erp-partners-cards.create + erp-partners-cards.edit (aktarma)` Customer and supplier records come in a single-sheet workbook ("**İş Ortakları**" — Business Partners). Ship-to addresses, contact persons, price list assignments, supplier prices and orders are linked to the record — this workbook is loaded **before** them. - **Only `Kod` is required.** A column that is not in the file does not change on the record; if the column exists but the cell is empty, the field is **cleared**. This way, the identity and address of thousands of records can be filled in bulk with a file containing only the `Kod · KimlikTuru · VergiNo · Il · Ilce` columns. - Keep the VKN/TCKN (tax ID / national ID), phone and postal code columns in **Text** format (so that leading 0s are not dropped and numbers do not turn into scientific notation) — the template and the **Mevcut kartları indir** (Download existing records) file already write these columns as text. Save the file as an **Excel Workbook (.xlsx)**; CSV is not accepted. - The import is **all or nothing**: while there are invalid rows, no record is written ("… satır geçersiz. Aktarım **hep ya da hiç**: bunlar düzeltilmeden hiçbir kart yazılmaz." — … rows are invalid. The import is **all or nothing**: no record is written until these are corrected.). This screen has no "import skipping invalid rows" option. The screen has two sections: **1 · Şablonu ya da mevcut kartları indir** (Download the template or existing records; **Boş şablon** (Empty template), **Mevcut kartları indir** (Download existing records)) and **2 · Doldurulmuş dosyayı yükle** (Upload the completed file; **Dosya seç** (Choose file), **Kontrol et** (Validate), **Aktar** (Import)), with the **Alan kılavuzu** (Field guide) below. ![Business Partner Import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/is-ortagi-aktarimi.png) 1. Blank template 2. Download current cards 3. Validate 4. Import — all or nothing ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **İş Ortakları** (Business Partners) | `Kod` | The business partner record (customer, supplier or both). If the code exists it is updated; otherwise it is created. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### İş Ortakları (Business Partners) The business partner record (customer, supplier or both). If the code exists it is updated; otherwise it is created. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | Matching key: updated if it exists, created if not. Converted to uppercase. | `M-0001` | | `Unvan` | No | Required for a new record. | `Örnek Makine A.Ş.` | | `Musteri` | No | Customer role. For a new record, at least one of Musteri or Tedarikci is Evet (Yes). | `Evet` · `Hayır` | | `Tedarikci` | No | Supplier role. | `Evet` · `Hayır` | | `KimlikTuru` | No | If VKN/TCKN is selected, the number is validated with its check digit. | `Belirtilmemiş` (Not specified) · `VKN` · `TCKN` · `Yurt dışı` (Abroad) | | `VergiNo` | No | VKN (10) or TCKN (11) — spaces/dots/hyphens are ignored. | `1234567890` | | `VergiDairesi` | No | Tax office. | `Kadıköy` | | `Ad` | No | Only for TCKN (natural person). | | | `Soyad` | No | Only for TCKN (natural person). | | | `Eposta` | No | | `info@ornek.com` | | `Telefon` | No | | `0212 555 00 00` | | `Adres` | No | Street line; province/district in separate columns. | `Organize Sanayi 3. Cd. No:5` | | `Ilce` | No | Required for an e-Invoice recipient. | `Başakşehir` | | `Il` | No | Required for an e-Invoice recipient. | `İstanbul` | | `PostaKodu` | No | | `34490` | | `Ulke` | No | ISO two-letter code (TR, DE …). | `TR` | | `VadeGun` | No | Default payment term (days), 0 = cash in advance. | `30` | | `TeslimSekli` | No | Incoterms 2020 code. | `EXW` · `FCA` · `CPT` · `CIP` · `DAP` · `DPU` · `DDP` · `FAS` · `FOB` · `CFR` · `CIF` | | `Aktif` | No | A new record is always created active. | `Evet` · `Hayır` | ## In the demo package `06-cari-hesaplar.xlsx`: 43 customers, 20 suppliers (one of them both), 2 sole proprietorships (TCKN), 4 foreign customers. **Kontrol et** (Validate) in the demo installation: 62 rows · Hatalı (Invalid) 0. ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Ship-to Addresses and Contact Persons import > Create and update the ship-to addresses and contact persons of business partner records with an Excel workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/sevk-adresleri-ve-ilgili-kisiler - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Sevk Adresleri ve İlgili Kişiler (Administration › Tools › Data Import › Ship-to Addresses and Contact Persons) - **Screen route:** `/erp/data-import/partner-relations` - **Required permission:** `erp-partners-cards.view (görme, kontrol) · erp-partners-cards.import + erp-partners-cards.edit (aktarma)` The business partner's **ship-to addresses** and **contact persons**. The billing address is the record's own address — it is not in this workbook but in [Business Partner Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-ortagi-aktarimi). Business partners are loaded **first**; the workbook finds the records by `CariKod`. A ship-to address is matched by `CariKod + AdresAdi`, a contact person by `CariKod + Ad`: a second record with the same name is not created on the same business partner; the existing one is updated. If the business partner has two records with the same name, the row is invalid because it is unclear which one should be updated. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Sevk Adresleri** (Ship-to Addresses) | `CariKod` + `AdresAdi` | The record's shipping destinations — the billing address is the record's own address, not here. | | **İlgili Kişiler** (Contact Persons) | `CariKod` + `Ad` | The record's contact persons. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Sevk Adresleri (Ship-to Addresses) The record's shipping destinations — the billing address is the record's own address, not here. Matching: `CariKod` + `AdresAdi`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `CariKod` | **Yes** | The business partner's code. | `M-00008` | | `CariUnvan` | No | Information — not read. | | | `AdresAdi` | **Yes** | The name that identifies the address within the record (at most 64 characters). | `Malatya Şube` | | `TeslimAlan` | No | The receiving person or unit. | | | `Telefon` | No | Phone number of the shipping location. | | | `Adres` | No | Street, neighborhood, number — required for a new address; if the column is absent, the saved address is kept. | `Orduzu Mah. Kanyon Cad. No:21` | | `Ilce` | No | District — from the list in a country with a province list (Turkish-letter insensitive). | `Battalgazi` | | `Il` | No | Province — from the list in a country with a province list. | `Malatya` | | `PostaKodu` | No | | | | `Ulke` | No | ISO country code (TR). | `TR` | | `Varsayilan` | No | Evet (Yes) = the record's default ship-to address. Hayır (No) does not remove the default. | `Evet` · `Hayır` | ### İlgili Kişiler (Contact Persons) The record's contact persons. Matching: `CariKod` + `Ad`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `CariKod` | **Yes** | The business partner's code. | `M-00462` | | `CariUnvan` | No | Information — not read. | | | `Ad` | **Yes** | The person's name (unique within the record). | `Oğuzhan Yılmaz` | | `Unvan` | No | Job title. | `İstasyon sahibi` | | `Telefon` | No | | | | `Eposta` | No | | | | `Varsayilan` | No | Evet (Yes) = the record's default contact. Hayır (No) does not remove the default. | `Evet` · `Hayır` | ## In the demo package `07-sevk-adresleri-ve-kisiler.xlsx`: 12 ship-to addresses (hotel chain, supermarket warehouses, factories), 96 contact persons. **Kontrol Et** (Validate) in the demo installation: 108 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | CariKod ve AdresAdi zorunlu. (CariKod and AdresAdi are required.) | Both key columns must be filled on the Sevk Adresleri sheet. | | '…' iş ortağı bulunamadı. (Business partner '…' was not found.) | The code does not exist in the system — import the business partner first, or correct the code. | | Kartta '…' adıyla iki sevk adresi var — hangisinin güncelleneceği belli değil. (The record has two ship-to addresses named '…' — it is unclear which one to update.) | On the screen, rename one of the addresses with the same name on the record. | | Varsayilan Evet ya da Hayır olmalı. (Varsayilan must be Evet or Hayır.) | Enter `Evet` or `Hayır`. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Warehouses and Storage Locations import > Create and update warehouses and the storage locations (bins) within them with an Excel workbook — before the opening stock. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/depolar-ve-lokasyonlar - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Depolar ve Lokasyonlar (Administration › Tools › Data Import › Warehouses and Storage Locations) - **Screen route:** `/erp/data-import/warehouses` - **Required permission:** `erp-inventory-warehouses.view (görme, kontrol) · erp-inventory-warehouses.import + .create + .edit (aktarma)` Warehouses and the storage locations (bins) within them. The opening stock and stock documents are linked to the warehouse — this workbook is loaded before **Stok Açılışı** (Opening Stock). A storage location's warehouse can be created on the **Depolar** (Warehouses) sheet of the same workbook; the sheets are processed in order. The sample screenshots on this page were taken in the demo installation with a copy that was intentionally prepared with errors (only **Kontrol Et** (Validate), no records were written): a new warehouse (**Açılacak** — To be created), a bin whose name changed (**Güncellenecek** — To be updated), and an unrecognized warehouse type, a bin in a non-existent warehouse and a negative weight capacity (**Hatalı** — Invalid). ![Validation result — failed rows and messages](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/kontrol-hatali.png) 1. Failed row count 2. Import skipping failed rows 3. Create · Update · Unchanged · Failed 4. Error message — with row and code ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Depolar** (Warehouses) | `Kod` | The warehouse master record. If the code exists it is updated; otherwise it is created. | | **Lokasyonlar** (Storage locations) | `DepoKodu` + `Kod` | A storage location (bin) within a warehouse. Matched by warehouse + storage location code; its warehouse can be created in the same file. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Depolar (Warehouses) The warehouse master record. If the code exists it is updated; otherwise it is created. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The warehouse code — converted to uppercase; the letter i is written as 'I' in codes. | `ANA-D` | | `Ad` | **Yes** | The warehouse name. The same name (including differences in case, spaces and punctuation) is not created twice. | `Ana Depo` | | `TesisKodu` | No | The plant it belongs to. For a new warehouse, empty = default plant; a warehouse with stock does not change plant. | `MERKEZ` | | `DepoTuru` | No | Empty = Genel (General). | `Genel` (General) · `Hammadde` (Raw material) · `Karantina` (Quarantine) · `Üretim` (Production) · `Mamul` (Finished goods) · `Yedek Parça` (Spare parts) · `Hurda` (Scrap) | | `LokasyonZorunlu` | No | If Evet (Yes), every movement into this warehouse is posted with a storage location. | `Evet` · `Hayır` | | `Durum` | No | Empty = Aktif (Active). A warehouse with stock cannot be set to inactive. | `Aktif` · `Pasif` | ### Lokasyonlar (Storage locations) A storage location (bin) within a warehouse. Matched by warehouse + storage location code; its warehouse can be created in the same file. Matching: `DepoKodu` + `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `DepoKodu` | **Yes** | The storage location's warehouse — must be on the Depolar sheet or in the system. | `ANA-D` | | `Kod` | **Yes** | The storage location code — unique within the warehouse. | `STOK` | | `Ad` | **Yes** | The storage location name — unique within the warehouse (spelling differences do not count as a different name). | `Stok` | | `GozTipi` | No | Empty = Raf (Shelf) (for a new storage location). | `Raf` (Shelf) · `Blok istif` (Block stacking) · `Mal kabul alanı` (Goods receipt area) · `Sevk hazırlık alanı` (Shipping staging area) | | `MaksAgirlikKg` | No | Bin capacity, kg. Empty = unlimited. | | | `MaksHacimL` | No | Bin capacity, liters. Empty = unlimited. | | | `TekUrun` | No | If Evet (Yes), only one item is kept in the bin. | `Evet` · `Hayır` | | `Durum` | No | Empty = Aktif (Active). A storage location with stock cannot be set to inactive. | `Aktif` · `Pasif` | ## In the demo package `10-depolar-ve-lokasyonlar.xlsx`: the HAMMADDE, KIMYA and MAMUL warehouses and their bins (the MERKEZ warehouse comes from the master data seed). **Kontrol Et** (Validate) in the demo installation: 14 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | DepoTuru 'Soğuk Oda' tanınmadı: Genel, Hammadde, Karantina, Üretim, Mamul, Yedek Parça, Hurda. (DepoTuru 'Soğuk Oda' was not recognized: …) | Enter one of the allowed values with the same spelling. | | 'DEPO-X' kodlu depo bulunamadı — Depolar sayfasında ya da sistemde olmalı. (No warehouse with code 'DEPO-X' was found — it must be on the Depolar sheet or in the system.) | Add the storage location's warehouse to the Depolar sheet first, or correct the code. | | Ağırlık kapasitesi sıfırdan büyük olmalı; sınırsız için boş bırakın. (The weight capacity must be greater than zero; leave it empty for unlimited.) | Enter a positive number in the capacity column or leave it empty. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Work Centers import > Create and update production work centers and their individual capacities (machines) with an Excel workbook — before the routings. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/is-merkezleri - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › İş Merkezleri (Administration › Tools › Data Import › Work Centers) - **Screen route:** `/erp/data-import/work-centers` - **Required permission:** `erp-manufacturing-work-centers.view (görme, kontrol) · .import + .create + .edit (aktarma)` The stations where production takes place (machine, labor). The operations of routings are linked to a work center — this workbook is loaded before **Rotalar** (Routings). The **Bireysel Kapasiteler** (Individual Capacities) sheet carries the work center's identical named units (machines); the work center's capacity count is derived from the active units. The file does not delete units. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **İş Merkezleri** (Work Centers) | `Kod` | The work center master record. If the code exists it is updated; otherwise it is created. | | **Bireysel Kapasiteler** (Individual Capacities) | `Kod` | The work center's named units — identical machines. If work center code + Kod exists it is updated; otherwise it is created; the file does not delete. The capacity count is derived from the active units. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### İş Merkezleri (Work Centers) The work center master record. If the code exists it is updated; otherwise it is created. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | The work center code — converted to uppercase. | `KAYNAKHANE` | | `Ad` | **Yes** | The work center name. The same name (including spelling differences) is not created twice. | `Kaynakhane` | | `Tur` | No | Empty = İşçilik (Labor) (for a new record). | `Makine` (Machine) · `İşçilik` (Labor) · `Diğer` (Other) | | `Aciklama` | No | Free-text description. | | | `Sira` | No | Order in the list (whole number). | `10` | | `Durum` | No | Empty = Aktif (Active). | `Aktif` · `Pasif` | | `UstIsMerkeziKodu` | No | The code of the parent work center — empty = root. It can come later in the same file; a new link is made to an active work center. | `TALASLI` | ### Bireysel Kapasiteler (Individual Capacities) The work center's named units — identical machines. If work center code + Kod exists it is updated; otherwise it is created; the file does not delete. The capacity count is derived from the active units. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `IsMerkeziKodu` | **Yes** | The code of the individual capacity's work center — it can be on the İş Merkezleri sheet of the same file. | `CNC-01` | | `Kod` | **Yes** | The individual capacity's code — unique within the work center, converted to uppercase. | `CNC-1` | | `Ad` | **Yes** | The individual capacity's name. | `CNC Torna 1 — Haas ST-20` | | `Sira` | No | Order (whole number); empty = 0 (for a new record) or the existing value. | `10` | | `Durum` | No | Empty = Aktif (Active) (for a new record) or the existing value. | `Aktif` · `Pasif` | ## In the demo package `03-is-merkezleri.xlsx`: 13 work centers. **Kontrol Et** (Validate) in the demo installation: 13 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Tur '…' tanınmadı: … (Tur '…' was not recognized: …) | Enter one of the allowed values given in the message. | | Durum Aktif ya da Pasif olmalı. (Durum must be Aktif or Pasif.) | Enter `Aktif` or `Pasif`. | | Üst iş merkezi '…' bulunamadı. (Parent work center '…' was not found.) | Create the parent work center earlier in the same workbook, or correct the code. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Bills of Materials import > Create and update bills of materials (header, component lines, line conditions of a configurable item) with an Excel workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-agaclari - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Ürün Ağaçları (Administration › Tools › Data Import › Bills of Materials) - **Screen route:** `/erp/data-import/boms` - **Required permission:** `erp-manufacturing-boms.view (görme, kontrol) · .import + .create + .edit (aktarma)` The item's components and quantities; for a configurable item, line conditions. Items and their characteristics ([Item Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-aktarimi)) are loaded **first**. A BOM is identified by **item + usage + alternative**; the workbook's three sheets are linked to each other by `UrunKodu`. In a line condition, values of the same characteristic are combined with **OR**, different characteristics with **AND**; conditions exist only in the BOM of a configurable item. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Ürün Ağaçları** (Bills of Materials) | `UrunKodu` | The BOM header: item, usage, alternative and base quantity. Item + usage + alternative identify a BOM. | | **Ağaç Satırları** (BOM Lines) | `UrunKodu` | The BOM's component lines — in SatirNo order. | | **Satır Koşulları** (Line Conditions) | `UrunKodu` | Line condition: values of the same characteristic OR, different characteristics AND. Only in the BOM of a configurable item. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Ürün Ağaçları (Bills of Materials) The BOM header: item, usage, alternative and base quantity. Item + usage + alternative identify a BOM. Matching: `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The BOM's output (a producible item). | `MM-00001` | | `UrunAdi` | No | Information — not read. | `MERKEZİ YIKAMA SİSTEMİ` | | `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) | | `Alternatif` | **Yes** | 1, 2, 3 … within the usage — a new alternative must be the next number. | `1` | | `TemelMiktar` | **Yes** | The line quantities are for this much output. | `1` | | `Birim` | **Yes** | The unit of the base quantity (the item's unit or a convertible unit). | `ADET` | | `MontajFiresi` | No | Percentage, 0 ≤ x < 100. Empty = 0. | `0` | | `Aciklama` | No | The alternative's name. | | | `PartiAltSinir` | No | Lot size lower limit (in the base unit). | | | `PartiUstSinir` | No | Lot size upper limit (in the base unit). | | | `Yayinla` | No | Empty = Evet (Yes). Hayır (No): remains a draft revision. | `Evet` · `Hayır` | ### Ağaç Satırları (BOM Lines) The BOM's component lines — in SatirNo order. Matching: `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The item on the header row. | `MM-00001` | | `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) | | `Alternatif` | **Yes** | The alternative on the header row. | `1` | | `SatirNo` | **Yes** | The line's order; conditions are linked by this number. | `10` | | `BilesenKodu` | **Yes** | The component item. | `YM-00050` | | `BilesenAdi` | No | Information — not read. | `KABİN-(2x2mt)` | | `Miktar` | **Yes** | Per base quantity. | `1` | | `Birim` | **Yes** | The component's unit or a convertible unit. | `ADET` | | `FireYuzde` | No | Component scrap, 0 ≤ x < 100. Empty = 0. | `0` | | `GeriSarf` | No | Evet (Yes): consumed automatically when the output is posted (backflush). Empty = Hayır (No). | `Evet` · `Hayır` | | `SecimKosulu` | No | Selection condition with an expression (configurable item only) — e.g. UZUNLUK > 10. | | | `MiktarFormulu` | No | Quantity by expression (configurable item only): quantity = Miktar + the formula's result — e.g. 2 * ADET_KAPI. Empty = fixed quantity. | | | `KosulMetni` | No | Information — not read (the readable form of the conditions). | | ### Satır Koşulları (Line Conditions) Line condition: values of the same characteristic OR, different characteristics AND. Only in the BOM of a configurable item. Matching: `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The item on the header row. | `MM-00001` | | `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) | | `Alternatif` | **Yes** | The alternative on the header row. | `1` | | `SatirNo` | **Yes** | The line the condition is attached to. | `20` | | `OzellikKodu` | **Yes** | A configuration characteristic of the item. | `MARKA` | | `DegerKodu` | **Yes** | The characteristic's value. | `SHELL` | ## In the demo package `04-urun-agaclari.xlsx`: 19 BOMs, released; line conditions on configurable items. **Kontrol Et** (Validate) in the demo installation: 251 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Bu ağaç dosyada ikinci kez var. (This BOM appears a second time in the file.) | Delete the second header row with the same item + usage + alternative. | | 'Ürün Ağaçları' sayfasında bu ağacın başlığı yok. (The 'Ürün Ağaçları' sheet has no header for this BOM.) | Add a header row for the BOM of the line or condition. | | Kullanim '…' tanınmadı: Üretim, Mühendislik. (Kullanim '…' was not recognized: Üretim, Mühendislik.) | Enter `Üretim` or `Mühendislik`. | | '…' yapılandırılabilir değil — satır koşulu yalnız yapılandırılabilir ürünün ağacında olur. ('…' is not configurable — a line condition exists only in the BOM of a configurable item.) | Remove the condition, or make the item configurable. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Routings import > Create and update routings and master recipes (operations, work centers, times) with an Excel workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/rotalar - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Rotalar (Administration › Tools › Data Import › Routings) - **Screen route:** `/erp/data-import/routings` - **Required permission:** `erp-manufacturing-routings.view (görme, kontrol) · .import + .create + .edit (aktarma)` The item's operations, work centers and times. Items and [work centers](https://erpdocs.corexlogic.com/en/veri-aktarimi/is-merkezleri) are loaded **first**. A routing is identified by **item + alternative**; operations are read in `OperasyonNo` order. The `Tur` column selects a routing or a master recipe (process manufacturing). ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Rotalar** (Routings) | `UrunKodu` | The routing header: item and alternative identify a routing. | | **Operasyonlar** (Operations) | `UrunKodu` | The routing's operations — in OperasyonNo order. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Rotalar (Routings) The routing header: item and alternative identify a routing. Matching: `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The routing's item (producible). | `MM-00001` | | `UrunAdi` | No | Information — not read. | `MERKEZİ YIKAMA SİSTEMİ` | | `Alternatif` | **Yes** | 1, 2, 3 … — a new alternative must be the next number. | `1` | | `Tur` | No | Empty = Rota (Routing). Cannot change after creation. | `Rota` (Routing) · `Ana Reçete` (Master recipe) | | `TemelMiktar` | **Yes** | The times are for this much output (in the item's base unit). | `1` | | `Aciklama` | No | The alternative's name. | | | `PartiAltSinir` | No | Lot size lower limit. | | | `PartiUstSinir` | No | Lot size upper limit. | | | `Yayinla` | No | Empty = Evet (Yes). Hayır (No): remains a draft revision. | `Evet` · `Hayır` | ### Operasyonlar (Operations) The routing's operations — in OperasyonNo order. Matching: `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | The item on the header row. | `MM-00001` | | `Alternatif` | **Yes** | The alternative on the header row. | `1` | | `OperasyonNo` | **Yes** | 10, 20, 30 … | `10` | | `Aciklama` | **Yes** | The operation's name. | `Kabin Üretimi` | | `IsMerkeziKodu` | **Yes** | An active work center. | `KAYNAKHANE` | | `KontrolAnahtari` | No | Empty = İç İşlem (Internal processing). | `İç İşlem` (Internal processing) · `Dış İşlem` (External processing) | | `HazirlikDk` | No | Setup time (minutes, fixed). Empty = 0. | `0` | | `MakineDk` | No | Machine time (minutes, per base quantity). Empty = 0. | `0` | | `IscilikDk` | No | Labor time (minutes, per base quantity). Empty = 0. | `60` | | `FireYuzde` | No | Operation scrap, 0 ≤ x < 100. Empty = 0. | `0` | | `SecimKosulu` | No | Super routing: the operation comes into the order only if the expression is true (configurable item). | `KABIN IN ('STANDART')` | | `HazirlikFormulu` | No | Setup time by formula (configurable item). | | | `MakineFormulu` | No | Machine time by formula. | | | `IscilikFormulu` | No | Labor time by formula. | | ## In the demo package `05-rotalar.xlsx`: 19 routings (2 master recipes), selection conditions on operations. **Kontrol Et** (Validate) in the demo installation: 92 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Bu rota dosyada ikinci kez var. (This routing appears a second time in the file.) | Delete the second header row for the same item + alternative. | | … '…' iş merkezi bulunamadı. (… work center '…' was not found.) | Import the work center first, or correct the code. | | KontrolAnahtari '…' tanınmadı: İç İşlem, Dış İşlem. (KontrolAnahtari '…' was not recognized: İç İşlem, Dış İşlem.) | Enter `İç İşlem` or `Dış İşlem`. | | Tur '…' tanınmadı: Rota, Ana Reçete. (Tur '…' was not recognized: Rota, Ana Reçete.) | Enter `Rota` or `Ana Reçete`. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Supplier Prices import > Create and update item × supplier records (supplier's item code, purchase price, minimum order, lead time, main supplier) with an Excel workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/tedarikci-fiyatlari - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Tedarikçi Fiyatları (Administration › Tools › Data Import › Supplier Prices) - **Screen route:** `/erp/data-import/item-suppliers` - **Required permission:** `erp-procurement-item-suppliers.view (görme, kontrol) · .import + .create + .edit (aktarma)` Item × supplier: the supplier's item code, purchase price and unit, minimum order, lead time, main supplier and block. Items and suppliers are loaded **first**. A record is matched by `UrunKodu + TedarikciKodu`; a record not in the file is not deleted. The price proposal on a purchase order comes from this record; it can also be the basis of the **opening valuation** after the opening stock. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Tedarikçi Fiyatları** (Supplier Prices) | `UrunKodu` + `TedarikciKodu` | Item–supplier records. Created if it does not exist, updated if it does; a record not in the file is not deleted. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Tedarikçi Fiyatları (Supplier Prices) Item–supplier records. Created if it does not exist, updated if it does; a record not in the file is not deleted. Matching: `UrunKodu` + `TedarikciKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `UrunKodu` | **Yes** | An active, purchasable item. | `HM-00277` | | `UrunAdi` | No | Information — not read. | | | `TedarikciKodu` | **Yes** | An active business partner with the supplier role. | `T-00029` | | `TedarikciUnvan` | No | Information — not read. | | | `TedarikciUrunKodu` | No | The code the supplier gives this item. | | | `TedarikciUrunAdi` | No | The supplier's item description. | | | `BirimFiyat` | No | Purchase price — together with the currency and price unit. Empty = no price. | `100` | | `ParaBirimi` | No | Three-letter code (TRY, USD, EUR). | `TRY` | | `FiyatBirimi` | No | The price unit: the item's unit or a convertible unit. | `M` | | `MinSiparisMiktari` | No | Minimum order quantity, in the item's base unit. | | | `TedarikSuresiGun` | No | Lead time, whole days. | | | `AnaTedarikci` | No | Evet (Yes) = the item's main supplier (the previous one's flag is removed). Empty = Hayır (No). | `Evet` · `Hayır` | | `GecerlilikBaslangici` | No | The first day the price is valid (dd.mm.yyyy). | | | `GecerlilikBitisi` | No | The last day the price is valid. | | | `Not` | No | Free-text note. | | | `Bloke` | No | Evet (Yes) = blocked in the source list (no orders are placed with this supplier). Empty = Hayır (No). | `Evet` · `Hayır` | | `BlokeGerekcesi` | No | Required if blocked. | | ## In the demo package `09-tedarikci-fiyatlari.xlsx`: main and alternative suppliers, lead time, minimum order; KUTU (box) price for screws/rivets; one blocked record. **Kontrol Et** (Validate) in the demo installation: 159 rows · Hatalı (Invalid) 0 (1 Güncellenecek (To be updated) — the record was changed on the screen after the package was loaded). ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | UrunKodu ve TedarikciKodu zorunlu. (UrunKodu and TedarikciKodu are required.) | Fill in both key columns. | | '…' ürünü bulunamadı. (Item '…' was not found.) | Import the item first, or correct the code. | | '…' iş ortağı bulunamadı. (Business partner '…' was not found.) | Import the supplier record first. | | TedarikSuresiGun '…' tam gün olmalı. (TedarikSuresiGun '…' must be whole days.) | Enter a whole number (not a decimal). | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Price List Import > Import price lists, list prices, period/quantity prices, characteristic surcharges, bulk increases/reductions, customer lists, special prices and group discounts with a single workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/fiyat-listesi-aktarimi - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Fiyat Listesi Aktarımı (Administration › Tools › Data Import › Price List Import) - **Screen route:** `/erp/data-import/price-lists` - **Required permission:** `erp-sales-price-lists.view (görme, kontrol) · .import + .create + .edit (aktarma)` All of sales pricing in a single workbook, eight sheets. Items and business partners are loaded **first**. For how the price is proposed on a sales document: [Price lists](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri). - The **Toplu Değişiklik** (Bulk Change) sheet (increase / reduction) is applied to the list's **explicit** prices, **after** the **Fiyatlar** (Prices) sheet. Do not change the same item on both sheets. In the export this sheet is empty; its matching is the row order. - A period price takes precedence over the permanent price; in quantity scales, the highest threshold met applies. - For a configurable item, line price = list price + the surcharges of the selected values (**Karakteristik Farkları** — Characteristic Surcharges). - **Özel Fiyatlar** (Special Prices) take precedence over the list; one record per customer × item × currency. - The workbook is this object's template in the system (**Dışa Aktar › Şablonu İndir** — Export › Download Template); no separate template is included in the package. ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Fiyat Listeleri** (Price Lists) | `Kod` | The list header. Created if it does not exist, updated if it does. | | **Fiyatlar** (Prices) | `ListeKodu` + `UrunKodu` | The explicit price in the list. The price of an item not in the file is not deleted. | | **Dönem ve Miktar Fiyatları** (Period and Quantity Prices) | `ListeKodu` + `UrunKodu` + `MinMiktar` + `Baslangic` | A period or quantity scale price. A period price takes precedence over the permanent price; in scales, the highest threshold met applies. | | **Karakteristik Farkları** (Characteristic Surcharges) | `ListeKodu` + `UrunKodu` + `OzellikKodu` + `DegerKodu` | The option surcharge of a configurable item: line price = list price + the surcharges of the selected values. | | **Toplu Değişiklik** (Bulk Change) | `satır sırası` (row order) | Increase / reduction: to the list's EXPLICIT prices, AFTER the Fiyatlar sheet. Do not change the same item on both sheets. Empty in the export. | | **Müşteri Listeleri** (Customer Lists) | `CariKod` | The customer's price list (business partner record › Sales). | | **Özel Fiyatlar** (Special Prices) | `CariKod` + `UrunKodu` + `ParaBirimi` | A customer-specific price — takes precedence over the list. One record per customer × item × currency. | | **Grup İskontoları** (Group Discounts) | `CariKod` + `KategoriKodu` + `Baslangic` | A category discount — proposed on the list price as a line discount. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Fiyat Listeleri (Price Lists) The list header. Created if it does not exist, updated if it does. Matching: `Kod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Kod` | **Yes** | List code, at most 32 characters. | `STANDART` | | `Ad` | No | Required for a new list, at most 128 characters. | `Standart Satış Fiyat Listesi` | | `ParaBirimi` | No | ISO code (TRY, USD, EUR). Required for a new list; cannot change on a list that has prices. | `TRY` | | `TemelListe` | No | For a derived list, the code of the base list: an item without an explicit price comes from base price × factor. | | | `Katsayi` | No | Required if TemelListe is filled (1,10 = 10% more). | | | `Varsayilan` | No | Evet (Yes) = the list for customers without an assigned list. Hayır (No) does not remove the default (it is handed over by making another list the default). | `Evet` · `Hayır` | | `Durum` | No | Aktif (Active) / Pasif (Inactive). | `Aktif` · `Pasif` | ### Fiyatlar (Prices) The explicit price in the list. The price of an item not in the file is not deleted. Matching: `ListeKodu` + `UrunKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `ListeKodu` | **Yes** | The list on the Fiyat Listeleri sheet or in the system. | `STANDART` | | `UrunKodu` | **Yes** | A sellable item. | `MM-0001` | | `UrunAdi` | No | Information — not read. | | | `Birim` | No | Information — the price is in the item's base unit. | `ADET` | | `Fiyat` | **Yes** | Per base unit, in the list's currency, excluding VAT. Turkish decimal comma (490720,41). | `490720,41` | ### Dönem ve Miktar Fiyatları (Period and Quantity Prices) A period or quantity scale price. A period price takes precedence over the permanent price; in scales, the highest threshold met applies. Matching: `ListeKodu` + `UrunKodu` + `MinMiktar` + `Baslangic`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `ListeKodu` | **Yes** | | `STANDART` | | `UrunKodu` | **Yes** | | `HZ-0001` | | `MinMiktar` | No | Scale threshold, in the item's base unit; empty = no scale. | `10` | | `Baslangic` | No | dd.mm.yyyy; empty = no time limit. | `01.01.2027` | | `Bitis` | No | dd.mm.yyyy; empty = no time limit. | `31.03.2027` | | `Fiyat` | **Yes** | Per base unit, excluding VAT. | `90,00` | | `Not` | No | | `10 saat ve üzeri` | ### Karakteristik Farkları (Characteristic Surcharges) The option surcharge of a configurable item: line price = list price + the surcharges of the selected values. Matching: `ListeKodu` + `UrunKodu` + `OzellikKodu` + `DegerKodu`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `ListeKodu` | **Yes** | | `STANDART` | | `UrunKodu` | **Yes** | A configurable item. | `MM-0001` | | `OzellikKodu` | **Yes** | A configuration characteristic of the item. | `PERON_SAYISI` | | `DegerKodu` | No | For a characteristic with options, the value code (required). Empty for a numeric characteristic: the surcharge is per unit of the value. | `3` | | `Fark` | **Yes** | In the list's currency; can be negative. Empty cell = this surcharge is removed. | `209563,69` | ### Toplu Değişiklik (Bulk Change) Increase / reduction: to the list's EXPLICIT prices, AFTER the Fiyatlar sheet. Do not change the same item on both sheets. Empty in the export. Matching: `satır sırası` (row order). | Column | Required | Description | Example / allowed values | |---|---|---|---| | `ListeKodu` | **Yes** | | `STANDART` | | `KategoriKodu` | No | The category and its subcategories; empty = the whole list. | | | `Arama` | No | Text contained in the item code or name; empty = no filter. | | | `Yontem` | **Yes** | Yüzde (Percentage): new = old × (1 + value / 100). Tutar (Amount): new = old + value. | `Yüzde` · `Tutar` | | `Deger` | **Yes** | Percentage: 10 = 10% increase, -5 = 5% reduction. Amount: in the list's currency. | `10` | | `Yuvarlama` | No | Decimal places (0–4); empty = 2. | `2` | ### Müşteri Listeleri (Customer Lists) The customer's price list (business partner record › Sales). Matching: `CariKod`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `CariKod` | **Yes** | The customer record. | `M-00487` | | `CariUnvan` | No | Information — not read. | | | `ListeKodu` | **Yes** | Empty cell = the assignment is removed and the customer gets the default list. | `SHELL` | ### Özel Fiyatlar (Special Prices) A customer-specific price — takes precedence over the list. One record per customer × item × currency. Matching: `CariKod` + `UrunKodu` + `ParaBirimi`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `CariKod` | **Yes** | | `M-00487` | | `CariUnvan` | No | Information — not read. | | | `UrunKodu` | **Yes** | | `HZ-0001` | | `Fiyat` | **Yes** | Per base unit, excluding VAT. | `85,00` | | `ParaBirimi` | **Yes** | ISO code. | `TRY` | | `Baslangic` | No | dd.mm.yyyy; empty = no time limit. | | | `Bitis` | No | dd.mm.yyyy; empty = no time limit. | | | `Not` | No | | | ### Grup İskontoları (Group Discounts) A category discount — proposed on the list price as a line discount. Matching: `CariKod` + `KategoriKodu` + `Baslangic`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `CariKod` | No | Empty = all customers. | | | `KategoriKodu` | **Yes** | The category and its subcategories. | `TIC` | | `IskontoYuzde` | **Yes** | 0 – 100. | `5` | | `Baslangic` | No | dd.mm.yyyy; empty = no time limit. | | | `Bitis` | No | dd.mm.yyyy; empty = no time limit. | | | `Not` | No | | | ## In the demo package `08-fiyat-listesi-aktarimi.xlsx`: STANDART, BAYI (Standart × 0,85), IHRACAT (EUR); scale and period prices, characteristic surcharges, a special price, a group discount. **Kontrol Et** (Validate) in the demo installation: 109 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Yeni listede Ad ve ParaBirimi zorunlu. (Ad and ParaBirimi are required for a new list.) | Fill in both columns for a new list code. | | '…' fiyat listesi bulunamadı. (Price list '…' was not found.) | Create the list on the Fiyat Listeleri sheet of the same workbook, or correct the code. | | '…' ürünü bulunamadı. (Item '…' was not found.) | Import the item first. | | '…' iş ortağı bulunamadı. (Business partner '…' was not found.) | Import the customer record first. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) - [Price lists screen](https://erpdocs.corexlogic.com/en/satis/ekranlar/fiyat-listeleri) --- # Opening Stock import > Import the inherited stock with warehouse, storage location, status, batch/serial number and unit cost as a one-time opening document. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi - **Type:** Screen - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Stok Açılışı (Administration › Tools › Data Import › Opening Stock) - **Screen route:** `/erp/data-import/stock-opening` - **Required permission:** `erp-inventory-opening-balances.view (görme, kontrol) · .import + .create (aktarma)` The inherited stock: with warehouse, storage location, status, batch/serial number and unit cost. Items, warehouses and storage locations are loaded **first**. This object is **migration data**: it is only imported with the template, and existing records are not exported (on the Dışa Aktar (Export) tab: "Bu nesne geçiş verisidir — yalnız şablonla içeri alınır, mevcut kayıt dışa aktarılmaz." — This object is migration data — it is only imported with the template, existing records are not exported.). > **Cannot be run again — a document, not an update** The other objects work by code as "update if it exists, create if not"; the opening stock does not. Rows with the same `Referans` become a **single opening document**, and a reference that has already been posted **is not posted a second time**. In the demo installation, when the demo package's already-loaded opening workbook was validated again, all 136 rows were rejected with this message: "Bu referansla açılış zaten yazılmış (AB-2026-000001) — stok ikinci kez girmez." (An opening has already been posted with this reference (AB-2026-000001) — the stock is not entered a second time.) Loading the same file again does not correct anything; changes after the opening are made with Inventory Management documents. ![Stock Opening — same reference is not posted twice](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/stok-acilisi-tekrar.png) 1. All rows rejected 2. "Opening already posted with this reference" ## Workbook sheets | Sheet | Matching (record key) | What it writes | |---|---|---| | **Açılış Bakiyeleri** (Opening Balances) | `Referans` | Opening rows. The same Referans becomes a single opening document; a reference already posted is not posted a second time. | ## Columns The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with **Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır` (Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the list. ### Açılış Bakiyeleri (Opening Balances) Opening rows. The same Referans becomes a single opening document; a reference already posted is not posted a second time. Matching: `Referans`. | Column | Required | Description | Example / allowed values | |---|---|---|---| | `Referans` | **Yes** | Groups the document — e.g. one reference per warehouse. | `DEVIR-ANA-D` | | `AcilisTarihi` | **Yes** | Opening date (dd.mm.yyyy) — the go-live date is recommended. It cannot be in a closed period; a date earlier than today requires the back-dating permission. | `01.11.2026` | | `DepoKodu` | **Yes** | The warehouse code. | `ANA-D` | | `LokasyonKodu` | No | The warehouse's storage location; must be filled for a warehouse that requires storage locations. | `STOK` | | `UrunKodu` | **Yes** | A stock-keeping item. | `HM-00001` | | `UrunAdi` | No | Information — not read. | | | `Miktar` | **Yes** | Greater than zero. | `10` | | `Birim` | **Yes** | The item's unit or a convertible unit. | `ADET` | | `StokDurumu` | **Yes** | Stock status code (SIFIR, IKINCIEL …) — does not fall back to the default. | `SIFIR` | | `LotNo` | No | Required for a batch-managed item. | | | `UretimTarihi` | No | The batch's production date. | | | `SonKullanmaTarihi` | No | The batch's expiry date. | | | `TedarikciLotNo` | No | The supplier's batch number. | | | `SeriNolari` | No | For a serial-managed item, as many serial numbers as the quantity, separated with ';'. | | | `BirimMaliyet` | **Yes** | Approved unit cost in the row's unit. Enter 0 for free-of-charge stock — it cannot be left empty: a goods receipt with cost is rejected for stock with an unknown cost (an opening valuation is required first). | `125,50` | | `ParaBirimi` | **Yes** | Three-letter code (TRY, USD, EUR); a non-TRY cost is converted at the exchange rate of the opening date. | `TRY` | | `MaliyetKaynagi` | **Yes** | The basis of the cost (count record, purchase invoice, valuation list) — written into the document's description. | `Son alış faturası` | ## In the demo package `11-stok-acilisi.xlsx`: opening on 01.10.2026 — four warehouses, batch-managed chemicals (with expiry dates), serial-numbered inverters and pumps; total value 1,960,810 TL. **Kontrol Et** (Validate) on an empty installation: 136 rows · Hatalı (Invalid) 0. ## Common errors The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the variable part). | Message | Cause and solution | |---|---| | Bu referansla açılış zaten yazılmış (…) — stok ikinci kez girmez. (An opening has already been posted with this reference (…) — the stock is not entered a second time.) | The reference was imported before. If rows are missing, prepare a separate opening with a new reference. | | …: '…' deposu bulunamadı. (…: warehouse '…' was not found.) | Create the warehouse first with [Warehouses and Storage Locations](https://erpdocs.corexlogic.com/en/veri-aktarimi/depolar-ve-lokasyonlar). | | …: '…' deposunda '…' lokasyonu yok. (…: warehouse '…' has no storage location '…'.) | Create the storage location under the warehouse; in a warehouse that requires storage locations, this column must be filled. | | …: '…' stok durumu bulunamadı. (…: stock status '…' was not found.) | Write the stock status code (e.g. `SIFIR`) exactly as defined in the system; an empty status does not fall back to the default. | ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # Download the import template or existing records > Download an import object's empty template (with sample rows) or its existing records as the same Excel workbook as the template. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sablon-indirme - **Type:** Task - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › › Dışa Aktar (Administration › Tools › Data Import › › Export) - **Screen route:** `/erp/data-import/{key}?sekme=disa-aktar` - **Required permission:** `Nesnenin görme izni (ör. erp-inventory-warehouses.view)` - **Prerequisites:** - The object appears in the Veri Aktarımı (Data Import) list (you have view permission). The template of every import object is downloaded from the system itself; no separate template is included in the package. The export of existing records is the **same** workbook as the template: you can download it, correct it and load it back directly. ## Steps 1. Open the **Yönetim › Araçlar › Veri Aktarımı** (Administration › Tools › Data Import) screen. The list shows the objects in load order. ![Data Import — objects in load order](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/merkez.png) 1. Load order 2. Click an object to open its import screen 3. Import/export or export only 2. In the **Nesne** (Object) column, click the name of the object you want to import (example: **Depolar ve Lokasyonlar** — Warehouses and Storage Locations). 3. Switch to the **Dışa Aktar** (Export) tab. ![Export tab — current records and blank template](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/disa-aktar.png) 1. Current records — same book as the template 2. Blank template — with sample rows 4. To fill in from scratch, click **Şablonu İndir** (Download Template) in the **Boş şablon** (Empty template) section. The workbook contains all sheets with sample rows. 5. To correct existing records, click **Dışa Aktar** (Export) in the **Mevcut kayıtlar** (Existing records) section. The records are downloaded as the same workbook as the template. **Result:** The workbook is downloaded to your computer. After filling it in or correcting it, [validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme). ## What you need to know - In the template, all cells are written as **text**; leading zeros and codes are preserved. Delete the sample rows and enter your own records — if a sample row is left in, it is also validated and imported. - In the existing-records workbook, a row you do not touch counts as **Değişmiyor** (Unchanged) and changes no record. You are also free to keep only the rows and columns you want to change: a column that is not in the file does not change in the record. - **Stok Açılışı** (Opening Stock) is migration data: existing records are not exported; only the empty template is downloaded. - On the **Ürün Aktarımı** (Item Import) screen the buttons are **Kart Listesini İndir** (Download Record List; with the Durum (Status) and Gözden geçirme (Review) filters) and **Şablonu İndir** (Download Template); in **İş Ortağı Aktarımı** (Business Partner Import), **Boş şablon** (Empty template) and **Mevcut kartları indir** (Download existing records). - The meaning of the columns is on the **Alan Kılavuzu** (Field Guide) tab of the same screen and on the object pages of this documentation. ## Related - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) --- # Validate the workbook > Validate a completed Excel workbook without changing any record — see whether each row will be created, updated, left unchanged or is invalid. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme - **Type:** Task - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › › İçe Aktar (Administration › Tools › Data Import › › Import) - **Screen route:** `/erp/data-import/{key}` - **Required permission:** `Nesnenin görme izni (Kontrol Et aktarma yetkisi istemez)` - **Prerequisites:** - The workbook is in .xlsx format and the sheet names are the same as in the template. - The records the workbook links to (e.g. a storage location's warehouse, a BOM's item) exist in the system or in the same workbook. **Kontrol Et** (Validate) is a rehearsal of the import: the server reads the workbook as if importing it, calculates the result for each row and writes nothing. A user without import permission can also validate and forward the file to an authorized person. ## Steps 1. On the **Yönetim › Araçlar › Veri Aktarımı** (Administration › Tools › Data Import) screen, click the object's name; the screen opens with the **İçe Aktar** (Import) tab. 2. In the **1 · Dosya** (1 · File) box, click **Dosya Seç** (Choose File) and select the workbook. 3. In the **2 · Kontrol** (2 · Validation) box, click **Kontrol Et** (Validate). The progress bar shows the stage and the number of rows; you can leave the screen, and a notification arrives when it finishes. 4. Read the **Kontrol sonucu** (Validation result) counters: **Açılacak** (To be created), **Güncellenecek** (To be updated), **Değişmiyor** (Unchanged), **Hatalı** (Invalid). If Hatalı is 0, the **Aktar** (Import) button is enabled. ![Import screen — file, validate, import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/ice-aktar.png) 1. Three tabs 2. 1 · File (.xlsx) 3. 2 · Validate — changes nothing 4. 3 · Import — only after a clean validation 5. Result counters **Result:** The workbook has been validated; no records were written. If there are invalid rows, [read the result and correct them](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma); if there are none, [import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma). ## What you need to know - Validation runs on the server as a job. You can stop it with **İptal Et** (Cancel) ("Kontrol iptal edildi." — Validation cancelled.); because validation does not change any record, cancelling has no effect. - The validated workbook is kept on the server. If you leave the screen and come back, the last job appears on the screen again (if it finished within 60 minutes; always if you come from the notification), and it reads "Kitap sunucuda — yeniden seçmeniz gerekmez." (The workbook is on the server — you do not need to select it again.) - Validating the same workbook a second time is safe. An already-loaded workbook returns entirely **Değişmiyor** (Unchanged) — this is the update and re-run rule. The only exception is **Stok Açılışı** (Opening Stock): a posted reference returns **Hatalı** (Invalid) with the message "Bu referansla açılış zaten yazılmış (…) — stok ikinci kez girmez." (An opening has already been posted with this reference (…) — the stock is not entered a second time.) - The workbook's sheet order is the processing order: in the same workbook, a warehouse can be created first, and then that warehouse's storage location. ## Related - [Read the validation result](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma) - [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) --- # Read the validation result and correct invalid rows > Read the counters, the sheet summary and the messages of invalid rows in the Validate result, and correct the workbook. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/sonucu-okuma - **Type:** Task - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › › İçe Aktar › Kontrol sonucu (Administration › Tools › Data Import › › Import › Validation result) - **Screen route:** `/erp/data-import/{key}?job={id}` - **Required permission:** `Nesnenin görme izni` - **Prerequisites:** - Kontrol Et (Validate) has completed for the workbook. The validation result states what will happen to each row; the message of an invalid row states the problem and the expected value. The example below was taken in the demo installation with an intentionally broken copy of the warehouse workbook (validation only). ## Steps 1. Look at the counters next to the **Kontrol sonucu** (Validation result) heading. If the **Hatalı** (Invalid) count is greater than 0, the screen reads 'N satır hatalı. Dosyayı düzeltip yeniden kontrol edin ya da hatalı satırları atlayarak geri kalanını aktarın' (N rows are invalid. Correct the file and validate again, or import the rest while skipping the invalid rows). ![Validation result — failed rows and messages](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/kontrol-hatali.png) 1. Failed row count 2. Import skipping failed rows 3. Create · Update · Unchanged · Failed 4. Error message — with row and code 2. The result table opens with the invalid rows (the **Sonuç** (Result) filter is **Hatalı** (Invalid)). Read the **Sayfa** (Sheet), **Satır** (Row; Excel row number), **Kod** (Code) and **Açıklama** (Description) columns of each row. 3. To see the records to be created and updated, select **Hepsi** (All) in the **Sonuç** (Result) filter. On a row to be updated, a cell that differs from the record appears yellow. 4. Open the workbook in Excel, correct the row named in the message and save. On the import screen, select the corrected workbook with **Dosya Seç** (Choose File) and click **Kontrol Et** (Validate) again. **Result:** The workbook is error-free. [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma). ## Example: four results together | Sheet | Row | Code | Result | Description | |---|---|---|---|---| | Depolar | 5 | YEDEK-PARCA | Açılacak (To be created) | — (new warehouse) | | Depolar | 6 | SOGUK | Hatalı (Invalid) | DepoTuru 'Soğuk Oda' tanınmadı: Genel, Hammadde, Karantina, Üretim, Mamul, Yedek Parça, Hurda. (DepoTuru 'Soğuk Oda' was not recognized: …) | | Lokasyonlar | 11 | MAMUL/RAF-M2 | Güncellenecek (To be updated) | — (`Ad` changed) | | Lokasyonlar | 13 | DEPO-X/RAF-1 | Hatalı (Invalid) | 'DEPO-X' kodlu depo bulunamadı — Depolar sayfasında ya da sistemde olmalı. (No warehouse with code 'DEPO-X' was found — it must be on the Depolar sheet or in the system.) | | Lokasyonlar | 14 | MAMUL/RAF-M3 | Hatalı (Invalid) | Ağırlık kapasitesi sıfırdan büyük olmalı; sınırsız için boş bırakın. (The weight capacity must be greater than zero; leave it empty for unlimited.) | The remaining 13 rows are **Değişmiyor** (Unchanged) (18 rows · To be created 1 · To be updated 1 · Unchanged 13 · Invalid 3). ## What you need to know - **Satır** (Row) is the row number in Excel (the header is row 1); make the correction directly in that row. - **Kod** (Code) is the sheet's matching key; a two-part key is joined with `/` (`MAMUL/RAF-M2`). - An invalid row **writes nothing**. Instead of correcting, you can also write the rest with **Hatalıları Atlayarak Aktar** (Import Skipping Invalid Rows); you then correct the skipped rows later and import the same workbook again — the rows already written then return **Değişmiyor** (Unchanged). - On the **Ürün Aktarımı** (Item Import) screen, a cell can be corrected in the result table; the correction is not written without validating again ("Düzeltmeler kontrol edilmedi — önce **Kontrol Et**." — The corrections have not been validated — **Validate** first.). - Object-specific messages are in the **Common errors** section of the object pages. ## Related - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) - [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma) - [Warehouses and Storage Locations](https://erpdocs.corexlogic.com/en/veri-aktarimi/depolar-ve-lokasyonlar) --- # Import the workbook > Write an Excel workbook that has been validated without errors to the system — records are created or updated by code. URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma - **Type:** Task - **Module:** General - **Menu path:** Yönetim › Araçlar › Veri Aktarımı › › İçe Aktar (Administration › Tools › Data Import › › Import) - **Screen route:** `/erp/data-import/{key}` - **Required permission:** `Nesnenin import izni ve kaydı açma/düzeltme izinleri (ör. erp-inventory-warehouses.import + .create + .edit)` - **Prerequisites:** - Kontrol Et (Validate) has completed for the same workbook with Hatalı (Invalid) 0 (or you have decided to skip the invalid rows). - The objects the workbook depends on have been imported beforehand (load order). **Aktar** (Import) writes the workbook as shown in the validation result. The button is enabled only after an error-free validation; a workbook that has not been validated or was changed after validation cannot be imported (selecting a new file clears the result). > **Check which installation you are importing into** Re-importing master data objects does not create records a second time, but a workbook imported into the wrong installation (e.g. live instead of test) changes that installation's master data; an object that writes documents, such as Opening Stock, writes stock and value. Import only in the target installation, by an authorized person, and in load order. The examples in this documentation were taken with **Kontrol Et** (Validate) only. ## Steps 1. While the validation result shows **Hatalı: 0** (Invalid: 0), click **Aktar** (Import) in the **3 · Aktarım** (3 · Import) box. ![Import screen — file, validate, import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/ice-aktar.png) 1. Three tabs 2. 1 · File (.xlsx) 3. 2 · Validate — changes nothing 4. 3 · Import — only after a clean validation 5. Result counters 2. If there are invalid rows and you want to write the rest, click **Hatalıları Atlayarak Aktar** (Import Skipping Invalid Rows); read in the dialog how many rows will be written and click **Atlayarak Aktar** (Import Skipping). 3. When the job finishes, read the result: 'Aktarım tamamlandı: N kayıt açıldı, N kayıt güncellendi, N kayıt değişmedi' (Import completed: N records created, N records updated, N records not changed). The counters are named **Açıldı** (Created), **Güncellendi** (Updated), **Değişmedi** (Not changed), **Atlandı** (Skipped). **Result:** The records have been written. Move on to the next object in the load order: [Setup with data import](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum). ## What you need to know - **All-or-nothing:** the import either writes everything or nothing. A server error or **İptal Et** (Cancel) results in "Aktarım iptal edildi — hiçbir kayıt yazılmadı." (The import was cancelled — no records were written.) - **Can be run again:** re-importing the same workbook does not create a second record because of code matching; changed cells are updated, identical ones count as **Değişmedi** (Not changed). Exception: [Opening Stock](https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi). - **Does not delete:** a record, row or (on most sheets) sub-record that is not in the file is not deleted. Columns that give the "complete" list, such as a role list, are stated on their own pages. - **İş Ortağı Aktarımı** (Business Partner Import) does not skip invalid rows: "Aktarım **hep ya da hiç**: bunlar düzeltilmeden hiçbir kart yazılmaz." (The import is **all or nothing**: no record is written until these are corrected.) - In **Ürün Aktarımı** (Item Import), each import is recorded in **Aktarım Geçmişi** (Import History) and can be undone there with **Geri Al** (Undo): updated records return to their previous state, and the barcodes, unit conversions and records created in that import are deleted; records changed manually after the import are not touched. - When the job starts and finishes, a **Veri aktarımı başladı** (Data import started) / **Veri aktarımı tamamlandı** (Data import completed) (or **hata verdi** (failed)) notification arrives. ## Related - [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) - [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi) - [Setup with data import](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum) --- # For AI agents > Connecting the CoreX ERP documentation to an AI agent — llms.txt, llms-full.txt, per-page Markdown and procedures.json. URL: https://erpdocs.corexlogic.com/en/yapay-zeka This documentation is written for AI agents as much as for people. Every task page has the same structure: screen name, menu path, application route, required permission, prerequisites, numbered steps and result. An agent can carry out the work in CoreX ERP with these steps, without asking for additional context. ## Endpoints | File | Content | |---|---| | [`/llms.txt`](pathname:///llms.txt) | Site summary and a list of all pages ([llmstxt.org](https://llmstxt.org) format) | | [`/llms-full.txt`](pathname:///llms-full.txt) | Plain Markdown text of all pages, in a single file | | `/.md` | The Markdown version of each page — append `.md` to the page URL | | [`/procedures.json`](pathname:///procedures.json) | Structured steps of the task pages | | `/en/…` | The English version of the same files | ## procedures.json Each task is one record: ```json { "id": "teklif-olusturma", "title": "Create a sales quotation", "route": "/erp/sales/quotations/new", "menuPath": "Satış › Teklif Yönetimi › Satış Teklifi Oluştur (Sales › Quotation Management › Create Sales Quotation)", "permissions": ["erp-sales-quotations.create"], "prerequisites": ["The customer is defined as an Aktif (Active) business partner on the Müşteriler (Customers) screen."], "steps": [ { "n": 2, "action": "fill", "target": "Müşteri", "value": "M-0004", "text": "In the Müşteri (Customer) field, type the customer's code or name and press Enter…" } ], "result": "The quotation is saved with number ST-yyyy-nnnnnn in Taslak (Draft) status…" } ``` | Field | Meaning | |---|---| | `action` | `navigate` open the screen · `click` click a button · `fill` type into a field · `select` select from a list · `choose` check an option · `press` press a key · `open` open a tab or section · `verify` check the result | | `target` | The **Turkish** screen, button or field name in the application — verbatim | | `value` | Example value (from the demo company) | | `expect` | What should be visible after the step | ## Rules - Screen and field names are the Turkish names used in the application; `target` is Turkish on the English pages as well. - The application route (`route`) is appended to the installation's domain: `https:///erp/sales/quotations`. - The screenshots in the steps are taken from a fictitious demo company; codes and names are examples. - If the permission is missing, the button is not displayed — an agent should check the `permissions` field first. --- # Administration > Administration — users, roles and permissions, organization chart, module management and access monitoring. URL: https://erpdocs.corexlogic.com/en/yonetim The Yönetim (Administration) menu manages **who signs in** to CoreX ERP and **what they can see and do inside**: user accounts, roles and permissions, organizational units, the modules turned on in the installation, and sign-in records. This section is intended for the system administrator; the steps are written so that they can be carried out without needing any other information. Access is determined in four layers — details in the [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli): 1. **License and Module Management** — which modules and features are turned on in the installation. Nobody can use a feature that is turned off. 2. **Permission** — keys such as `erp-sales-orders.create` that come from the user's roles (and, if any, from unit roles and person-specific additional permissions). Buttons, screens and API requests check permissions. 3. **Screen catalog** — the screens the role shows in the menu. It does not grant permissions; it only simplifies the menu. 4. **Data restrictions** — warehouse and work center restrictions, sales channel membership, price and cost visibility. End-to-end example: [New user and permissions](https://erpdocs.corexlogic.com/en/surecler/yeni-kullanici-ve-yetki). ## Tasks - [Invite a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme) — Email invitation; the user sets their own password. - [Create a user with a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma) — When email is not configured or the account is needed immediately. - [Create a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma) — From a template or from scratch; permissions and screens. - [Change a role's permissions](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-yetkilerini-duzenleme) — Add and remove permissions; template lock. - [Assign a role to a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama) — Add and remove roles; segregation of duties warning. - [Grant extra permissions](https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme) — Person-specific permissions on top of the role. - [Assign an organizational restriction](https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme) — Narrow a user to specific warehouses and work centers. - [Assign a role to a unit](https://erpdocs.corexlogic.com/en/yonetim/islemler/birime-rol-verme) — The same role for everyone in the unit. - [Reset a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama) — Reset link or manual password. - [Unlock an account](https://erpdocs.corexlogic.com/en/yonetim/islemler/kilit-kaldirma) — An account locked after failed attempts. - [Disable a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciyi-devre-disi-birakma) — Employee who has left; restoring. - [Turn a module or feature on or off](https://erpdocs.corexlogic.com/en/yonetim/islemler/modul-acma-kapatma) — The installation's module selection. ## Concepts and reference - [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) — Permission, role, catalog, restriction; the effect of a change; rejection messages. - [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi) — 397 permission keys, the screens they open and the role templates. - [Role examples](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri) — Predefined roles and eight role recipes. - [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi) — License, module, feature and dependency. ## Menu map | Section | Screen | Required permission | Description | |---|---|---|---| | Kullanıcı ve Roller (Users and Roles) | Kullanıcılar (Users) | `users.view` | [Users](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) | | Kullanıcı ve Roller | Roller (Roles) | `roles.view` | [Roles](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/roller) | | Kullanıcı ve Roller | Çalışanlar (Employees) | `organization.view` | The people who perform the work in operation confirmations; they do not need to be ERP users and hold no permissions. | | Onay Süreci (Approval Process) | Onayımı Bekleyenler (Awaiting My Approval) · Onay Şablonları (Approval Templates) · Onay Vekaletleri (Approval Delegations) | approval permissions, `erp-approval-templates.view` | In the approval process's own document. Their permissions are in the [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi). | | İzleme (Monitoring) | İşlem Kayıtları (Audit Log) · Erişim Günlüğü (Access Log) | `audit.view` | [Monitoring screens](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/izleme) | | İzleme | Gönderim Kuyruğu (Dispatch Queue) | `outbox.view` | The outgoing email queue. | | Araçlar (Tools) | Toplu Belge Yazdırma (Bulk Document Printing) · Veri Aktarımı (Data Import) · Toplu Belge Gönderimi (Bulk Document Sending) | one of the permissions of the relevant document | In their own modules. | | Özelleştirme › Kuruluş Yapısı (Customization › Organizational Structure) | Organizasyon Şeması (Organization Chart) | `organization.view` | [Organization chart](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/organizasyon-semasi) | | Özelleştirme › Genel (Customization › General) | Modül Yönetimi (Module Management) | `company-profile.view` (changing requires `company-profile.edit`) | [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi) | | Özelleştirme › Genel | E-posta Ayarları (Email Settings) · Uyarı ve Bildirim Yönetimi (Alert and Notification Management) | `email-settings.view` · `alerts.view` | Email settings are required for invitation and password links. | > **Administrator account** The **Yönetici** (Administrator) role holds all permissions and is intended for setup. For daily work, use a separate account that holds the person's job role; the system also shows a segregation of duties warning when the Administrator role is assigned together with another role. --- # Permission model > How access is determined in CoreX ERP — permission, action, role, unit role, additional permission, screen catalog, data restrictions, the effect of changes and rejection messages. URL: https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli - **Type:** Guide - **Module:** Administration This page describes all the rules that determine **what a user sees and what they can do** in CoreX ERP. The rules are enforced on the server: whether or not the user interface hides a button, a request without permission is rejected on the server. ``` License ──► Module Management ──► Permission (roles ∪ unit roles ∪ additional permissions) ──► Data restrictions (scope) (installation's choice) opens the screen, the button, the API request (warehouse, work center, channel, price, cost) Screen catalog ──► only what appears in the menu (does not grant permissions) ``` ## Permission A **permission** is the key to a single action. Its format is `.`: | Part | Example | Meaning | |---|---|---| | Resource | `erp-sales-orders` | What it applies to: sales orders. ERP resources are named `erp--` (`erp-procurement-orders`, `erp-inventory-counts`). Administration resources have no prefix: `users`, `roles`, `organization`, `company-profile`, `audit`, `outbox`, `alerts`, `email-settings`. | | Action | `create` | What is done: create. | In the **Yetkiler** (Permissions) tree of the role window, a permission appears with the name **Kaynak · İşlem** (Resource · Action): `erp-sales-orders.create` → **Satış Siparişleri · Oluştur** (Sales Orders · Create). All permissions in the installation: [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi). ### Actions and what they open | Action | Name in the tree | What it typically opens | Note | |---|---|---|---| | `view` | Görüntüle (View) | List and detail screens, the menu leaf, the record being visible in pickers | Read permission. | | `create` | Oluştur (Create) | The **Yeni…** (New…) button in the list, the "… Oluştur" (Create …) menu leaf, actions that open documents | Some creation screens also require a second read permission (e.g. `erp-partners-cards.view` for a sales order). | | `edit` | Düzenle (Edit) | **Düzenle** (Edit), most status actions on the document (e.g. **Siparişi Onayla** (Approve Order), **Gönder** (Send)) | Its scope varies by resource; the ⓘ icon in the tree states the scope. | | `delete` | Sil (Delete) · on some resources **İptal** (Cancel) or **Listeden kaldır** (Remove from list) | Deleting, cancelling or removing from the list | Documents are not deleted; the name in the tree states the actual meaning. | | `import` | İçe Aktar (Import) · **Dosyadan yükle** (Load from file) | Bulk loading from an Excel workbook | A separate permission from editing a single record. | | `approve` | Onayla (Approve) | **Onayla** (Approve) / **Reddet** (Reject) in the approval step | Not sufficient on its own: if the approval template's step requires a specific role, the user must also hold that role. | | `close` | Kapat (Close) | Closing a document manually (giving up the unfulfilled remainder) | A fully shipped document closing automatically does not depend on this permission. | | `release` | Serbest Bırak (Release; on some resources **Blokeyi çöz** — Remove block) | Releasing an allocation, a block or a lot | | | `issue` | Çekme (Mal Ver) (Pick (Issue Goods)) | Issuing goods from a reservation or from project stock | It is separate so that the person who opens the reservation and the person who issues the goods can be different. | | `transfer` | Aktar · **Transfer** (Transfer) | Stock transfer between warehouses | | | `finalize` | Kesinleştir (Finalize) | Finalizing an invoice | | | `activate` | Etkinleştir (Activate) | Putting an e-Document live | | | `reopen` · `backdate` | Yeniden Aç (Reopen) · Geçmiş Tarihli Kayıt (Backdated Posting) | Reopening a posting period, posting a backdated document | Belongs to the accounting period. | > **Action not shown** If an action does not appear under a resource in the tree, that action **does not exist** for that resource (the note at the bottom of the window: "Bir sayfada görünmeyen işlem, o sayfada böyle bir işlem olmadığı anlamına gelir." — An action that does not appear on a page means that the page has no such action.). ### Is the button hidden or disabled? - **Without permission, the button or menu item is not drawn at all.** Example: with the Demo — Satış Temsilcisi (Demo — Sales Representative) role, only **Dışa Aktar** (Export) appears on the **Fiyat Listeleri** (Price Lists) screen; the **Satın Alma Siparişleri** (Purchase Orders) list has no **Yeni Sipariş** (New Order) button (the role does not have `erp-sales-price-lists.create` and `erp-procurement-orders.create`). - **If the permission exists but a rule prevents the action, the button is visible but disabled**, and the reason is shown when you hover over it. Example: on the **Roller** (Roles) screen, the **Sil** (Delete) item of the **Yönetici** (Administrator) row is disabled — "Yerleşik rol silinemez" (A built-in role cannot be deleted). - On a row that has no actions left in the actions menu, the cell remains empty. - Hiding something from the menu is not a security boundary: a user who types the address manually is stopped by the screen's gate and by the server (see [Rejection messages](#ret-iletileri)). ## Role A **role** is a named set of permissions. Permissions are not granted to a user one by one, but through a role. - A user can have **multiple roles**. The effective permissions are the **union** of the roles' permissions; one role does not restrict another role's permissions, and there is no "denying" role. - A role also has a **screen catalog** (see below). - A role's name cannot be changed after it is created ("Rol adı bu sürümde değiştirilemiyor." — The role name cannot be changed in this release.). - A permission change saved in the role window applies to **everyone** who holds the role **immediately**. ### Predefined roles (role templates) The installation comes with 26 predefined roles; each is bound to a **role template**. The role's area and level (**Eleman** (Staff), **Müdür** (Manager), **Yönetim** (Executive)) appear in the list. Full list and permission counts: [Role examples](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri). | Rule | Details | |---|---| | **The Administrator is built-in** | It appears in the list with the **Yerleşik** (Built-in) badge, cannot be deleted ("Yerleşik Yönetici rolü silinemez." — The built-in Administrator role cannot be deleted.) and holds all permissions. Permissions that come with a new release are also added to it during the installation upgrade. | | **Template permissions are locked** | The template permissions of a role that comes from a template are shown with a lock icon in the tree and cannot be removed; they are restored with every release upgrade. **Additional** permissions can be granted to the role. | | **Narrower role = copy** | If you do not want one of the template's permissions, **Kopyala** (Copy) the role from the list; the copy is not bound to the template and all of its permissions can be changed. | | **Screens are not locked** | The screen catalog of a template role can be changed. | | **Read baseline** | All templates other than Administrator carry a common set of 93 view permissions: master data, document lists and definitions can be read. The real difference between roles is the write permissions; the **Kapsam (yazma)** (Scope (write)) column in the list shows this. | ## Effective permissions: four sources A user's effective permissions are calculated on the server on every request as the union of: 1. **Their own roles** — **Kullanıcılar › İşlemler › Kullanıcıyı Düzenle › Roller** (Users › Actions › Edit User › Roles). 2. **The roles of their organizational unit** — if the user is attached to a unit, the roles assigned to that unit (**Organizasyon Şeması › Rolleri yönet** — Organization Chart › Manage roles). Only the user's **own unit** counts; the roles of parent units are not inherited. 3. **The unit manager's automatic permission** — the unit manager automatically receives only the permission to view and edit service calls (`erp-service-desk-tickets.view`, `.edit`). 4. **Extra permissions** — permissions granted directly to the person through **Kullanıcılar › İşlemler › Ekstra Yetkiler** (Users › Actions › Extra Permissions). Then the permissions of features that are **turned off** in the installation are subtracted (see [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi)). The user window also states this: "Etkili izinler seçilen rollerin ve birimin rollerinin birleşimidir." (The effective permissions are the union of the selected roles and the unit's roles.) > **Extra permissions cannot remove what comes from a role** In the **Ekstra Yetkiler** (Extra Permissions) window, permissions that come from roles are locked ("kullanıcının rolünden gelir" — comes from the user's role). To take one of a role's permissions away from a person, give them a different (narrower) role. ## Screen catalog (menu) The role's **Ekranlar** (Screens) tab determines which screens appear in the **menu** of the person who holds the role. - The catalog **does not grant permissions**: a screen that is in the catalog but has no permission does not appear in the menu; a screen that has permission but is not in the catalog does not appear in the menu, but it can be opened by its address, and read surfaces such as reports and pickers work. - If **Bütün ekranlar — katalog yok** (All screens — no catalog) is checked, every screen with permission is in the menu (Administrator and Auditor work this way). - If the catalog is **empty**, the menu is drawn with the screens of the resources the role has write permission for. - When you grant a new write permission on the role's **Yetkiler** (Permissions) tab, the screens of that resource are checked automatically in the catalog; **Yazdığı Ekranları İşaretle** (Mark the Screens It Writes To) adds any missing ones in bulk. - For a user, **Ekstra Yetkiler › Bütün ekranları göster** (Extra Permissions › Show all screens) opens all permitted screens in the menu regardless of the role's catalog; it does not grant permissions either. - The menu order is the same for everyone; the role only prunes it. If all screens of an area drop out, the area is also removed from the menu. Example: with the Demo — Satış Temsilcisi (Demo — Sales Representative) role, the top menu shows **Satış, Stok Yönetimi, Lojistik Yönetimi, Üretim, Ana Veriler, Finans** (Sales, Inventory Management, Logistics Management, Production, Master Data, Finance); **Satın Alma** (Purchasing) and **Yönetim** (Administration) do not appear. Even so, when the address of the purchase order list is opened, the list can be read (read baseline), but the **Yeni Sipariş** (New Order) button does not appear. ## Data restrictions A permission opens an action; the rules below narrow **which records** that action can be performed on. | Restriction | Where it is set | Effect | Rejection message | |---|---|---|---| | **Warehouse restriction** | Kullanıcılar › İşlemler › **Organizasyon Kısıtlaması › Depolar** (Users › Actions › Organizational Restriction › Warehouses) | The user posts stock only to the selected warehouses; opens physical inventory counts, warehouse tasks, waves, transfers and reservations only there; sees only those warehouses in the work queues. If nothing is selected, there is no restriction. | `'' deposunda işlem yetkiniz yok.` (You are not authorized to perform transactions in warehouse '…'.) | | **Work center restriction** | The same window › **İş Merkezleri** (Work Centers) | Confirmations, consumption, output, capacity scheduling and backflush only at the selected work centers. A restriction on a parent work center covers the subtree. | `'' iş merkezinde işlem yetkiniz yok.` (You are not authorized to perform transactions at work center '…'.) | | **Sales channel** | Members of the sales channel | A user who is a member of a channel sees only the documents of their own channels; cannot open documents in another channel. | `'' satış kanalında belge açma yetkiniz yok.` (You are not authorized to open documents in sales channel '…'.) | | **Sales price visibility** | By permission | In sales documents, prices and amounts are visible only if one of these permissions exists: `erp-sales-price-lists.view`, `erp-sales-orders.create`/`.edit`, `erp-sales-quotations.create`/`.edit`, `erp-invoicing-invoices.view`, `erp-invoicing-references.create` (for returns, additionally `erp-sales-free-returns.create`). Otherwise the amounts are hidden; quantity, item and status remain visible. | — | | **Purchase price visibility** | By permission | In purchasing documents, prices are visible only with `erp-procurement-item-suppliers.view`, `erp-procurement-orders.create`/`.edit`/`.approve`, `erp-invoicing-references.create` or `erp-invoicing-incoming-invoices.view` (for a request for quotation, additionally `erp-procurement-rfqs.edit`). | — | | **Cost visibility** | `erp-inventory-costs.view` | Stock value, moving average unit cost, movement cost, employee hourly rate and cost reports are visible only with this permission; the values are not sent to a user without it. | — | | **Document history** | The role's level | A document's change history is visible to the person who created the record, the area's **Müdür** (Manager) level role (in Master Data and Logistics, the master data specialist) and holders of `audit.view`. | `Belgenin geçmişini kaydı açan kişi, alanın müdürü (Ana Veriler ve Lojistik'te ana veri uzmanı) ve Yönetici görür.` (The document's history is visible to the person who created the record, the area's manager (in Master Data and Logistics, the master data specialist) and the Administrator.) | A restriction does not grant permissions; it only narrows them: if the user's role has no stock write permission, selecting a warehouse does not give them that permission. There is **no** user restriction by company or sales organization. ## When does a change take effect? | Change | Effect | |---|---| | The role's permissions or screens | **Immediately** for everyone who holds the role: the server decides with the new permissions on the next request, and the menu of open sessions is refreshed. Signing in again is not required. | | The user's roles, extra permissions, unit, restriction | **Immediately** for that user (on the next request). | | The unit's roles | **Immediately** for everyone in the unit ("Değişiklik tüm üyelere anında yansır." — The change applies to all members immediately.). | | Module Management | Immediately for the user who saved it, **within 30 seconds at the latest** for other users. | | The role of an approval step, the document history area | These two checks look at the session's **role names**; role names are updated when the session information is read again (when the page is refreshed). After a role assignment, tell the user to refresh the page. | | Disabling, password change | The open session ends on the next request; the user returns to the sign-in screen. | The session is kept in a cookie: it stays open for 8 hours while in use, or 30 days if **Beni hatırla** (Remember me) is checked. ## Account security | Topic | Rule | |---|---| | Password | At least 8 characters; at least one digit and one lowercase letter. Uppercase letters and symbols are not required. | | Locking | After **5** consecutive failed attempts the account is locked for **15 minutes**; it unlocks automatically when the period expires, or an administrator clicks **Kilidi Kaldır** (Unlock). It can be turned off per user (**Hatalı şifre denemelerinde hesabı kilitle** — Lock the account on failed password attempts). | | Attempt limit | More than 10 sign-in attempts per minute from the same address are temporarily rejected: "Çok fazla deneme yapıldı. 60 saniye sonra tekrar deneyin." (Too many attempts. Try again in 60 seconds.) | | Invitation link | Valid for 3 days, single use; when a new one is sent, the old one no longer works. | | Reset link | Valid for 30 minutes. | | Password change at first sign-in | If the administrator set the password manually and **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) is checked, the user first sees the **Parolanızı değiştirin** (Change your password) screen; they cannot perform any action without changing it. | | Two-factor authentication, session list | **Not available.** To close a user's open session, disable their account or change their password. | | License user limit | If the license's active user limit is full, no new account can be created and a disabled account cannot be restored (message below). | ## Segregation of duties {#gorevler-ayriligi} When roles are selected for a user, the system shows a **Görevler ayrılığı uyarısı** (Segregation of duties warning) for certain pairs of roles. The warning **does not block** saving ("Kayıt engellenmez; küçük ekipte bilerek verilebilir." — Saving is not blocked; in a small team the roles can be assigned knowingly.). | Roles assigned together | Reason (text in the window) | Meaning | |---|---|---| | Depo Memuru (Warehouse Clerk) + Stok Yöneticisi (Inventory Manager) | belgeyi yazan stok farkını da kapatır | the person who posts the document also closes the stock difference | | Depo Memuru + Satın Alma Uzmanı (Purchasing Specialist) | siparişi veren malı da teslim alır — üçlü eşleşme çöker | the person who places the order also receives the goods — three-way matching collapses | | Depo Memuru + Satış Temsilcisi (Sales Representative) | satış siparişini yazan malı da çıkarır | the person who enters the sales order also issues the goods | | Depo Memuru + Üretim Operatörü (Production Operator) | mal kabulle plan üstü sarf gizli bir çıkış olur | with goods receipt, unplanned consumption becomes a hidden issue | | Depo Memuru + Kalite Uzmanı (Quality Specialist) | malı içeri alan kendi kabulünü serbest bırakır | the person who receives the goods releases their own receipt | | Stok Yöneticisi + Kalite Uzmanı | stok farkını yazan kalite kararını da verir | the person who posts the stock difference also makes the quality decision | | Ürün Ana Veri Uzmanı (Item Master Data Specialist) + Stok Yöneticisi | depo ve hareket nedeni sözlüğünü yazan düzeltmeyi de yazar | the person who maintains the warehouse and movement reason dictionary also posts the adjustment | | Satın Alma Uzmanı + İş Ortağı Ana Veri Uzmanı (Business Partner Master Data Specialist) | tedarikçi kartını açan ona sipariş de yazar — hayalet tedarikçi | the person who creates the supplier record also places orders with it — ghost supplier | | Satış Temsilcisi + İş Ortağı Ana Veri Uzmanı | müşteri kartını açan ona sipariş de yazar — hayalet müşteri | the person who creates the customer record also enters orders for it — ghost customer | | Satın Alma Uzmanı + Faturalama Uzmanı (Invoicing Specialist) | siparişi yazan faturayı da bağlar — sipariş → fatura zinciri tek elde | the person who enters the order also links the invoice — the order → invoice chain is in one person's hands | | Satış Temsilcisi + Faturalama Uzmanı | siparişi yazan faturayı da keser — satış zinciri tek elde | the person who enters the order also issues the invoice — the sales chain is in one person's hands | | Satın Alma Uzmanı + Satın Alma Müdürü (Purchasing Manager) | siparişi yazan onay merciine de sahip olur | the person who enters the order also holds the approval authority | | Satış Temsilcisi + Satış Müdürü (Sales Manager) | teklifi yazan onay merciine de sahip olur | the person who enters the quotation also holds the approval authority | | Satış Temsilcisi + Kredi Yöneticisi (Credit Manager) | satışçı kendi siparişinin kredi blokesini kaldırır | the salesperson removes the credit block on their own order | | Satın Alma Uzmanı + Üretim Planlayıcı (Production Planner) | hizmet siparişini yazan hizmet kabulünü de yazar | the person who enters the service order also posts the service acceptance | | Üretim Planlayıcı + Üretim Operatörü | ürün ağacını değiştirebilen operatör sarf farkını yok eder | an operator who can change the bill of materials makes consumption differences disappear | | Stok Yöneticisi + Üretim Operatörü | sarfı yazan stok farkını da kapatır | the person who posts consumption also closes the stock difference | | Denetçi (Salt Okunur) (Auditor (Read-Only)) + any role that writes | denetçinin salt okunur kalması gerekir | the auditor must remain read-only | | Yönetici (Administrator) + any role | yönetici hesabı her kesimi aşar — günlük operasyon ayrı bir hesapla yapılmalı | the administrator account overrides every separation — daily operations should be done with a separate account | The warning looks at role **names**: no warning appears for roles you copied from predefined roles and saved under a different name; you maintain the separation in the role design yourself. ## Rejection messages {#ret-iletileri} | Situation | What is shown on the screen | |---|---| | The address of a screen without permission was opened | "Bu işlemi gerçekleştirmek için yetkiniz bulunmuyor." (You are not authorized to perform this action.) · "Erişim gerekiyorsa sistem yöneticinizle iletişime geçin." (If you need access, contact your system administrator.) · **Ana Sayfa'ya dön** (Return to Home Page) | | The permission exists in the role but the feature is turned off in the installation | "Bu özellik kuruluşunuzda etkin değil." (This feature is not active in your organization.) (A user who has no permission at all is not told the feature status.) | | An action without permission reached the server | "Bu işlemi gerçekleştirmek için yetkiniz bulunmuyor." (You are not authorized to perform this action.) | | Restricted warehouse / work center | `'' deposunda işlem yetkiniz yok.` (You are not authorized to perform transactions in warehouse '…'.) · `'' iş merkezinde işlem yetkiniz yok.` (You are not authorized to perform transactions at work center '…'.) | | Action without changing the password | "Devam etmeden önce parolanızı değiştirmeniz gerekiyor — bu parolayı sizden başka biri de biliyor." (You must change your password before continuing — someone other than you also knows this password.) | | Wrong email or password | "E-posta veya parola hatalı." (Email or password is incorrect.) | | Sign-in with a locked account | "Hesap … başarısız giriş denemesi nedeniyle kilitlendi. … dakika sonra tekrar deneyebilir, beklemek istemiyorsanız yöneticinizden kilidi kaldırmasını ya da parola sıfırlama bağlantısı göndermesini isteyebilirsiniz." (The account was locked because of … failed sign-in attempts. You can try again in … minutes; if you do not want to wait, you can ask your administrator to remove the lock or to send a password reset link.) | | License read-only | E.g. "Kurulum lisansı etkin değil — sistem salt okunur. Lütfen sistem yöneticinizle iletişime geçin." (The installation license is not active — the system is read-only. Please contact your system administrator.) (records cannot be saved; reading continues) | | License user limit | "Lisans en çok … etkin kullanıcıya izin veriyor; şu an … etkin kullanıcı var. Kullanılmayan bir hesabı kapatın ya da lisansı genişletin." (The license allows at most … active users; there are currently … active users. Close an unused account or extend the license.) | ## Monitoring - **Yönetim › İzleme › Erişim Günlüğü** (Administration › Monitoring › Access Log) records sign-ins, failed sign-ins, lockouts, attempts while locked, sign-outs and terminated sessions (kept for 2 years; passwords are not stored). - **Yönetim › İzleme › İşlem Kayıtları** (Administration › Monitoring › Audit Log) keeps the trail of record creation, update and deletion, with the changed fields. Details: [Monitoring screens](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/izleme). --- # Permission list > All CoreX ERP permission keys, module by module — their Turkish name, the menu screen they open and the role templates that include them. URL: https://erpdocs.corexlogic.com/en/yonetim/izin-listesi - **Type:** Guide - **Module:** Administration This page lists **all 397 permissions** in the server's permission catalog. The table was not written by hand; it was generated from the following sources: - **Permission key** — the server's catalog (the list the role window reads). Roles, users and the API use the same key. - **Resource · Action** — the name shown in the **Yetkiler** (Permissions) tree of the role window, verbatim (the English meaning follows in parentheses). The small text below it is the actual scope of the permission; the "Also required in the user interface" note says that a second permission is also needed to open the permission's screen (the permission can be granted on its own, and the server accepts it on its own; the other permission is needed only to reach the screen). - **Menu screen it opens** — the screens in the menu that are tied to this permission. "(all together)" means that **all** the permissions listed for that screen are required; "(any one is enough)" means that **one** of the listed permissions is sufficient. "—" indicates that the permission has no menu leaf of its own: the permission opens a button or action inside a screen (e.g. `…create` opens the **Yeni** (New) button in the list, `…approve` opens **Onayla** (Approve) in the document detail). - **Role templates** — the predefined role templates that hold the permission. **Read baseline** is the set of 93 view permissions common to all templates other than Administrator. Because **Yönetici** (Administrator) holds all permissions, it is not listed separately in the column. How permissions work, what the action names mean and why buttons are hidden: [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). Comparison of the predefined roles and recipes: [Role examples](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri). > **Sections** The section headings (Materials Management, Sales and Distribution…) are the modules of the **Yetkiler** (Permissions) tree in the role window; they are not always the same as the area names in the menu. Finance permissions are listed here for reference. The **Role templates** column uses the role names exactly as they appear on the **Roller** (Roles) screen: | Role template (on screen) | Meaning | |---|---| | Ürün Ana Veri Uzmanı | Item Master Data Specialist | | İş Ortağı Ana Veri Uzmanı | Business Partner Master Data Specialist | | Satın Alma Uzmanı | Purchasing Specialist | | Satın Alma Müdürü | Purchasing Manager | | Satış Temsilcisi | Sales Representative | | Satış Müdürü | Sales Manager | | Depo Elemanı | Warehouse Worker | | Depo Memuru | Warehouse Clerk | | Stok Yöneticisi | Inventory Manager | | Kalite Uzmanı | Quality Specialist | | Üretim Planlayıcı | Production Planner | | Üretim Amiri | Production Supervisor | | Üretim Operatörü | Production Operator | | Taşıma Planlayıcı | Transport Planner | | Bakım Planlayıcı | Maintenance Planner | | Bakım Teknisyeni | Maintenance Technician | | Faturalama Uzmanı | Invoicing Specialist | | Alacak Muhasebecisi | Receivables Accountant | | Borç Muhasebecisi | Payables Accountant | | Nakit Yöneticisi | Cash Manager | | Kredi Yöneticisi | Credit Manager | | Genel Muhasebe Uzmanı | General Ledger Specialist | | Servis Teknisyeni | Service Technician | | Servis Yöneticisi | Service Manager | | Denetçi (Salt Okunur) | Auditor (Read-Only) | | Yönetici | Administrator | ## Materials Management | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-catalog-items.view` | Ürün Ana Verileri · Görüntüle (Product Master Data · View) | Ana Veriler › Ürünler › Ürün Ana Verileri (Master Data › Products › Product Master Data) | Read baseline (all templates) | | `erp-catalog-items.create` | Ürün Ana Verileri · Oluştur (Product Master Data · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-catalog-items.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-items.edit` | Ürün Ana Verileri · Düzenle (Product Master Data · Edit)
In addition to updating the record, it also covers deactivating it and adding, changing and deleting item-specific unit conversions.
Also required in the user interface: `erp-catalog-items.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-items.delete` | Ürün Ana Verileri · Listeden kaldır (Product Master Data · Remove from list)
Does NOT DESTROY the record: it drops the record from lists and pickers, and past documents continue to show it. The record code becomes free, and the same code can be created again. The difference from deactivating is that the record does not appear in the record list at all.
Also required in the user interface: `erp-catalog-items.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-items.import` | Ürün Ana Verileri · Dosyadan yükle (Product Master Data · Load from file)
Creates and updates records in bulk from an Excel workbook (.xlsx). Matching is by record CODE. Validation (dry run) does NOT REQUIRE this permission — only writing does. If even one row is invalid, no record is written.
Also required in the user interface: `erp-catalog-items.view` | Ana Veriler › Ürünler › Ürün Aktarımı (Master Data › Products › Product Import)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Ürün Ana Veri Uzmanı | | `erp-catalog-categories.view` | Kategoriler · Görüntüle (Categories · View)
In addition to the category tree, it also opens the category pickers in the item record form and the record list; without this permission, records continue to work without categories. | Yönetim › Özelleştirme › Malzeme › Kategoriler (Administration › Customization › Material › Categories) | Read baseline (all templates) | | `erp-catalog-categories.create` | Kategoriler · Oluştur (Categories · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-catalog-categories.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-categories.edit` | Kategoriler · Düzenle (Categories · Edit)
In addition to updating the category, it also covers deactivating it and moving it under another parent category in the tree.
Also required in the user interface: `erp-catalog-categories.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-classifications.view` | Sınıflandırmalar · Görüntüle (Classifications · View) | Ana Veriler › Sınıflandırma › Sınıflandırmalar (Master Data › Classification › Classifications) | Read baseline (all templates) | | `erp-catalog-classifications.create` | Sınıflandırmalar · Oluştur (Classifications · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-classifications.edit` | Sınıflandırmalar · Düzenle (Classifications · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-attributes.view` | Özellikler · Görüntüle (Characteristics · View) | Ana Veriler › Sınıflandırma › Özellikler (Master Data › Classification › Characteristics)
Ana Veriler › Sınıflandırma › Varyant Tabloları (Master Data › Classification › Variant Tables) | Read baseline (all templates) | | `erp-catalog-attributes.create` | Özellikler · Oluştur (Characteristics · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-attributes.edit` | Özellikler · Düzenle (Characteristics · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-units.view` | Ölçü Birimleri · Görüntüle (Units of Measure · View) | Yönetim › Özelleştirme › Malzeme › Ölçü Birimleri (Administration › Customization › Material › Units of Measure) | Read baseline (all templates) | | `erp-catalog-units.create` | Ölçü Birimleri · Oluştur (Units of Measure · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-catalog-units.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-units.edit` | Ölçü Birimleri · Düzenle (Units of Measure · Edit)
Also required in the user interface: `erp-catalog-units.view` | — | Ürün Ana Veri Uzmanı | | `erp-catalog-tax-rates.view` | Vergi Oranları · Görüntüle (Tax Rates · View) | Yönetim › Özelleştirme › Finans › Vergi Oranları (Administration › Customization › Finance › Tax Rates) | Read baseline (all templates) | | `erp-catalog-tax-rates.create` | Vergi Oranları · Oluştur (Tax Rates · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-tax-rates.edit` | Vergi Oranları · Düzenle (Tax Rates · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-number-series.view` | Numara Serileri · Görüntüle (Number Ranges · View) | Yönetim › Özelleştirme › Malzeme › Numara Serileri (Administration › Customization › Material › Number Ranges) | Read baseline (all templates) | | `erp-catalog-number-series.create` | Numara Serileri · Oluştur (Number Ranges · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-number-series.edit` | Numara Serileri · Düzenle (Number Ranges · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-manufacturers.view` | Üreticiler · Görüntüle (Manufacturers · View) | Ana Veriler › Ürünler › Üreticiler (Master Data › Products › Manufacturers) | Read baseline (all templates) | | `erp-catalog-manufacturers.create` | Üreticiler · Oluştur (Manufacturers · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-manufacturers.edit` | Üreticiler · Düzenle (Manufacturers · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-material-statuses.view` | Malzeme Durumları · Görüntüle (Material Statuses · View) | Yönetim › Özelleştirme › Malzeme › Malzeme Durumları (Administration › Customization › Material › Material Statuses) | Read baseline (all templates) | | `erp-catalog-material-statuses.create` | Malzeme Durumları · Oluştur (Material Statuses · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-material-statuses.edit` | Malzeme Durumları · Düzenle (Material Statuses · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-material-types.view` | Ürün Türleri · Görüntüle (Product Types · View) | Yönetim › Özelleştirme › Malzeme › Ürün Türleri (Administration › Customization › Material › Product Types) | Read baseline (all templates) | | `erp-catalog-material-types.create` | Ürün Türleri · Oluştur (Product Types · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-material-types.edit` | Ürün Türleri · Düzenle (Product Types · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-tracking-profiles.view` | Seri ve Lot Numarası Profilleri · Görüntüle (Serial and Batch Number Profiles · View) | Yönetim › Özelleştirme › Malzeme › Seri ve Lot Numarası Profilleri (Administration › Customization › Material › Serial and Batch Number Profiles) | Read baseline (all templates) | | `erp-catalog-tracking-profiles.create` | Seri ve Lot Numarası Profilleri · Oluştur (Serial and Batch Number Profiles · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-tracking-profiles.edit` | Seri ve Lot Numarası Profilleri · Düzenle (Serial and Batch Number Profiles · Edit) | — | Ürün Ana Veri Uzmanı | ## Inventory and Warehouse | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-inventory-warehouses.view` | Depolar · Görüntüle (Warehouses · View) | Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough)
Yönetim › Özelleştirme › Kuruluş Yapısı › Tesisler (Administration › Customization › Organizational Structure › Plants)
Yönetim › Özelleştirme › Kuruluş Yapısı › Fabrika Takvimleri (Administration › Customization › Organizational Structure › Factory Calendars)
Yönetim › Özelleştirme › Kuruluş Yapısı › Depolar (Administration › Customization › Organizational Structure › Warehouses) | Read baseline (all templates) | | `erp-inventory-warehouses.create` | Depolar · Oluştur (Warehouses · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-inventory-warehouses.view` | — | Ürün Ana Veri Uzmanı | | `erp-inventory-warehouses.edit` | Depolar · Düzenle (Warehouses · Edit)
In addition to updating and deactivating the warehouse, it also covers adding and updating storage locations.
Also required in the user interface: `erp-inventory-warehouses.view` | — | Ürün Ana Veri Uzmanı | | `erp-inventory-warehouses.import` | Depolar · İçe Aktar (Warehouses · Import) | — | Ürün Ana Veri Uzmanı | | `erp-inventory-conditions.view` | Stok Durumları · Görüntüle (Stock Statuses · View) | Yönetim › Özelleştirme › Stok › Stok Durumları (Administration › Customization › Stock › Stock Statuses) | Read baseline (all templates) | | `erp-inventory-conditions.create` | Stok Durumları · Oluştur (Stock Statuses · Create) | — | Ürün Ana Veri Uzmanı | | `erp-inventory-conditions.edit` | Stok Durumları · Düzenle (Stock Statuses · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-inventory-stock.view` | Stok Bakiyesi · Görüntüle (Stock Balance · View) | Stok Yönetimi › Stok Görünümü › Stok Bakiyesi (Inventory › Stock Overview › Stock Balance)
Stok Yönetimi › Fiziksel Envanter › Seri Etiketleri (Inventory › Physical Inventory › Serial Labels)
Stok Yönetimi › Analitik › Stok Durum Raporu (Inventory › Analytics › Stock Status Report)
Stok Yönetimi › Analitik › Hareketsiz Stok (Inventory › Analytics › Slow-Moving Stock)
Stok Yönetimi › Analitik › Stok Yaş Analizi (Inventory › Analytics › Stock Aging Analysis)
Stok Yönetimi › Analitik › ABC Analizi (Inventory › Analytics › ABC Analysis)
Stok Yönetimi › Analitik › Stok Devir Hızı (Inventory › Analytics › Inventory Turnover) | Read baseline (all templates) | | `erp-inventory-costs.view` | Stok Maliyeti · Görüntüle (Stock Cost · View) | Satış › Analitik › Brüt Kâr (Sales › Analytics › Gross Profit) (all together)
Stok Yönetimi › Değerleme › Malzeme Değerleme (Inventory › Valuation › Material Valuation) (all together)
Stok Yönetimi › Değerleme › Standart Fiyat Değişiklikleri (Inventory › Valuation › Standard Price Changes) (all together)
Stok Yönetimi › Değerleme › Materyal Defteri (Inventory › Valuation › Material Ledger) (all together)
Stok Yönetimi › Değerleme › Gerçekleşen Maliyet Kapanışları (Inventory › Valuation › Actual Cost Closings) (all together)
Stok Yönetimi › Analitik › Stok Değerleme Raporu (Inventory › Analytics › Stock Valuation Report)
Üretim › Seri Üretim › Ürün Maliyet Toplayıcıları (Production › Repetitive Manufacturing › Product Cost Collectors) (all together)
Üretim › Ürün Maliyetlendirme › Üst Ürün Fiyatlarını Güncelle (Production › Product Costing › Update Parent Product Prices) (all together)
Üretim › Analitik › Üretim Maliyeti (Production › Analytics › Production Cost) (all together) | Satın Alma Uzmanı, Stok Yöneticisi | | `erp-inventory-reservations.view` | Stok Tahsisleri · Görüntüle (Stock Allocations · View) | Stok Yönetimi › Stok Görünümü › Stok Tahsisleri (Inventory › Stock Overview › Stock Allocations) | Read baseline (all templates) | | `erp-inventory-reservations.release` | Stok Tahsisleri · Serbest Bırak (Stock Allocations · Release) | — | Stok Yöneticisi | | `erp-inventory-material-reservations.view` | Rezervasyonlar · Görüntüle (Reservations · View) | Stok Yönetimi › Mal Hareketleri › Rezervasyonlar (Inventory › Goods Movements › Reservations) | Read baseline (all templates) | | `erp-inventory-material-reservations.create` | Rezervasyonlar · Oluştur (Reservations · Create) | — | Depo Memuru, Stok Yöneticisi, Üretim Planlayıcı, Servis Teknisyeni | | `erp-inventory-material-reservations.issue` | Rezervasyonlar · Çekme (Mal Ver) (Reservations · Pick (Issue Goods)) | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-projects.view` | Projeler ve Proje Stoğu · Görüntüle (Projects and Project Stock · View) | Stok Yönetimi › Proje Stoğu › Projeler (Inventory › Project Stock › Projects)
Stok Yönetimi › Proje Stoğu › Proje Stoğu (Inventory › Project Stock › Project Stock)
Stok Yönetimi › Proje Stoğu › Proje Stok Belgeleri (Inventory › Project Stock › Project Stock Documents) | Read baseline (all templates) | | `erp-inventory-projects.create` | Projeler ve Proje Stoğu · Oluştur (Projects and Project Stock · Create) | — | Satın Alma Uzmanı, Stok Yöneticisi, Üretim Planlayıcı | | `erp-inventory-projects.edit` | Projeler ve Proje Stoğu · Düzenle (Projects and Project Stock · Edit) | — | Satın Alma Uzmanı, Stok Yöneticisi, Üretim Planlayıcı | | `erp-inventory-projects.issue` | Projeler ve Proje Stoğu · Çekme (Mal Ver) (Projects and Project Stock · Pick (Issue Goods)) | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-transfer-orders.view` | Transfer Siparişleri · Görüntüle (Transfer Orders · View) | Stok Yönetimi › Mal Hareketleri › Transfer Siparişleri (Inventory › Goods Movements › Transfer Orders) | Read baseline (all templates) | | `erp-inventory-transfer-orders.create` | Transfer Siparişleri · Oluştur (Transfer Orders · Create) | — | Depo Memuru, Stok Yöneticisi, Üretim Planlayıcı | | `erp-inventory-warehouse-tasks.view` | Depo Görevleri · Görüntüle (Warehouse Tasks · View) | Stok Yönetimi › Depo Yürütme › Depo İzleme (Inventory › Warehouse Execution › Warehouse Monitor)
Stok Yönetimi › Depo Yürütme › Depo Görevleri (Inventory › Warehouse Execution › Warehouse Tasks)
Stok Yönetimi › Depo Yürütme › Dalgalar (Inventory › Warehouse Execution › Waves) | Read baseline (all templates) | | `erp-inventory-warehouse-tasks.create` | Depo Görevleri · Oluştur (Warehouse Tasks · Create) | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-warehouse-tasks.edit` | Depo Görevleri · Düzenle (Warehouse Tasks · Edit) | Stok Yönetimi › Depo Yürütme › El Terminali (Inventory › Warehouse Execution › Handheld Terminal) | Depo Elemanı, Depo Memuru, Stok Yöneticisi | | `erp-inventory-movements.view` | Stok Hareketleri · Görüntüle (Stock Movements · View) | Stok Yönetimi › Mal Hareketleri › Stok Hareketleri (Inventory › Goods Movements › Stock Movements)
Stok Yönetimi › Analitik › Stok Hareket Dökümü (Inventory › Analytics › Stock Movement List)
Stok Yönetimi › Analitik › Lot/Seri İzlenebilirlik (Inventory › Analytics › Lot/Serial Traceability) | Read baseline (all templates) | | `erp-inventory-movements.create` | Stok Hareketleri · Oluştur (Stock Movements · Create) | Stok Yönetimi › Mal Hareketleri › Mal Girişi (Inventory › Goods Movements › Goods Receipt)
Stok Yönetimi › Mal Hareketleri › Mal Çıkışı (Inventory › Goods Movements › Goods Issue)
Stok Yönetimi › Mal Hareketleri › Stok Durumu Değişimi (Inventory › Goods Movements › Stock Status Change) | Stok Yöneticisi | | `erp-inventory-movements.transfer` | Stok Hareketleri · Transfer (Stock Movements · Transfer)
Warehouse/storage location transfer. It neither increases nor decreases stock; goods receipts/issues without a reference document and stock status changes additionally require "Oluştur" (Create). | Stok Yönetimi › Mal Hareketleri › Stok Transferi (Inventory › Goods Movements › Stock Transfer) | Depo Memuru, Stok Yöneticisi | | `erp-inventory-vendor-consignment.view` | Tedarikçi Konsinyesi · Görüntüle (Vendor Consignment · View) | Stok Yönetimi › Özel Stoklar › Tedarikçi Konsinye Stoğu (Inventory › Special Stocks › Vendor Consignment Stock)
Stok Yönetimi › Özel Stoklar › Konsinye Çekişleri (Inventory › Special Stocks › Consignment Withdrawals) | Read baseline (all templates) | | `erp-inventory-vendor-consignment.create` | Tedarikçi Konsinyesi · Oluştur (Vendor Consignment · Create)
Posts the withdrawal from vendor consignment into own stock (411 K); this is what creates the payable.
Also required in the user interface: `erp-inventory-vendor-consignment.view` | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-customer-consignment.view` | Müşteride Konsinye · Görüntüle (Customer Consignment · View) | Stok Yönetimi › Özel Stoklar › Müşteride Konsinye Stoğu (Inventory › Special Stocks › Customer Consignment Stock)
Stok Yönetimi › Özel Stoklar › Müşteride Konsinye Belgeleri (Inventory › Special Stocks › Customer Consignment Documents) | Read baseline (all templates) | | `erp-inventory-customer-consignment.create` | Müşteride Konsinye · Oluştur (Customer Consignment · Create)
Posts fill-up and pickup documents for consignment stock held at the customer.
Also required in the user interface: `erp-inventory-customer-consignment.view` | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-opening-balances.view` | Açılış Bakiyeleri · Görüntüle (Opening Balances · View) | Stok Yönetimi › Stok İşlemleri › Açılış Bakiyeleri (Inventory › Stock Transactions › Opening Balances)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-inventory-opening-balances.create` | Açılış Bakiyeleri · Oluştur (Opening Balances · Create) | — | Stok Yöneticisi | | `erp-inventory-opening-balances.import` | Açılış Bakiyeleri · İçe Aktar (Opening Balances · Import) | — | Stok Yöneticisi | | `erp-inventory-adjustments.view` | Stok Düzeltmeleri · Görüntüle (Stock Adjustments · View) | Stok Yönetimi › Stok İşlemleri › Stok Düzeltmeleri (Inventory › Stock Transactions › Stock Adjustments)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-inventory-adjustments.create` | Stok Düzeltmeleri · Oluştur (Stock Adjustments · Create) | — | Stok Yöneticisi | | `erp-inventory-adjustment-reversals.view` | Düzeltme Geri Almaları · Görüntüle (Adjustment Reversals · View) | — | Read baseline (all templates) | | `erp-inventory-adjustment-reversals.create` | Düzeltme Geri Almaları · Oluştur (Adjustment Reversals · Create) | — | Stok Yöneticisi | | `erp-inventory-revaluations.view` | Stok Yeniden Değerleme · Görüntüle (Stock Revaluation · View) | Stok Yönetimi › Değerleme › Yeniden Değerleme (Inventory › Valuation › Revaluation)
Stok Yönetimi › Değerleme › Malzeme Değerleme (Inventory › Valuation › Material Valuation) (all together)
Stok Yönetimi › Değerleme › Standart Fiyat Değişiklikleri (Inventory › Valuation › Standard Price Changes) (all together)
Stok Yönetimi › Değerleme › Materyal Defteri (Inventory › Valuation › Material Ledger) (all together)
Stok Yönetimi › Değerleme › Gerçekleşen Maliyet Kapanışları (Inventory › Valuation › Actual Cost Closings) (all together) | Read baseline (all templates) | | `erp-inventory-revaluations.create` | Stok Yeniden Değerleme · Oluştur (Stock Revaluation · Create) | — | Stok Yöneticisi | | `erp-inventory-quality.view` | Kalite Kontrol · Görüntüle (Quality Control · View) | Stok Yönetimi › Kalite Yönetimi › Kontrol Partileri (Inventory › Quality Management › Inspection Lots)
Stok Yönetimi › Kalite Yönetimi › Kalite Kontrol (Inventory › Quality Management › Quality Control)
Stok Yönetimi › Kalite Yönetimi › Muayene Planları (Inventory › Quality Management › Inspection Plans)
Stok Yönetimi › Kalite Yönetimi › Kusur Kodları (Inventory › Quality Management › Defect Codes) | Read baseline (all templates) | | `erp-inventory-quality.edit` | Kalite Kontrol · Düzenle (Quality Control · Edit) | — | Kalite Uzmanı | | `erp-inventory-quality.release` | Kalite Kontrol · Serbest Bırak (Quality Control · Release) | — | Kalite Uzmanı | | `erp-catalog-customs-groups.view` | Gümrük Grupları · Görüntüle (Customs Groups · View) | Yönetim › Özelleştirme › Satın Alma › Gümrük Grupları (Administration › Customization › Procurement › Customs Groups) | Read baseline (all templates) | | `erp-catalog-customs-groups.create` | Gümrük Grupları · Oluştur (Customs Groups · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-customs-groups.edit` | Gümrük Grupları · Düzenle (Customs Groups · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-shipping-methods.view` | Sevk Yöntemleri · Görüntüle (Shipping Methods · View) | Yönetim › Özelleştirme › Lojistik › Sevk Yöntemleri (Administration › Customization › Logistics › Shipping Methods) | Read baseline (all templates) | | `erp-catalog-shipping-methods.create` | Sevk Yöntemleri · Oluştur (Shipping Methods · Create) | — | Ürün Ana Veri Uzmanı | | `erp-catalog-shipping-methods.edit` | Sevk Yöntemleri · Düzenle (Shipping Methods · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-procurement-import-charges.view` | İthalat Masraf Türleri · Görüntüle (Import Cost Types · View) | Yönetim › Özelleştirme › Satın Alma › İthalat Masraf Türleri (Administration › Customization › Procurement › Import Cost Types) | Read baseline (all templates) | | `erp-procurement-import-charges.create` | İthalat Masraf Türleri · Oluştur (Import Cost Types · Create) | — | Satın Alma Uzmanı | | `erp-procurement-import-charges.edit` | İthalat Masraf Türleri · Düzenle (Import Cost Types · Edit) | — | Satın Alma Uzmanı | | `erp-procurement-landed-costs.view` | İthalat Masrafları · Görüntüle (Landed Costs · View) | Satın Alma › Tedarikçi Faturaları › İthalat Masrafları (Procurement › Supplier Invoices › Landed Costs) | Read baseline (all templates) | | `erp-procurement-landed-costs.create` | İthalat Masrafları · Oluştur (Landed Costs · Create) | — | Satın Alma Uzmanı | | `erp-inventory-scrap.view` | Hurda İşlemleri · Görüntüle (Scrap Transactions · View) | Stok Yönetimi › Stok İşlemleri › Hurda İşlemleri (Inventory › Stock Transactions › Scrap Transactions)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-inventory-scrap.create` | Hurda İşlemleri · Oluştur (Scrap Transactions · Create) | — | Stok Yöneticisi | | `erp-inventory-scrap-reversals.view` | Hurda Geri Almaları · Görüntüle (Scrap Reversals · View) | — | Read baseline (all templates) | | `erp-inventory-scrap-reversals.create` | Hurda Geri Almaları · Oluştur (Scrap Reversals · Create) | — | Stok Yöneticisi | | `erp-inventory-counts.view` | Stok Sayımları · Görüntüle (Physical Inventory Counts · View) | Stok Yönetimi › Fiziksel Envanter › Stok Sayımları (Inventory › Physical Inventory › Physical Inventory Counts)
Stok Yönetimi › Fiziksel Envanter › Dönemsel Sayım (Inventory › Physical Inventory › Periodic Count)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-inventory-counts.create` | Stok Sayımları · Sayım aç (Physical Inventory Counts · Open count)
Opens and cancels the count. As soon as the count is opened, stock movements of the records in scope stop (including deliveries, goods receipts and production) and remain stopped until the count is posted or cancelled.
Also required in the user interface: `erp-inventory-counts.view` | — | Stok Yöneticisi | | `erp-inventory-counts.edit` | Stok Sayımları · Say (Physical Inventory Counts · Count)
Enters the counted quantity, adds items found during the count and completes the count. It is a blind count: the book quantity is not visible with this permission.
Also required in the user interface: `erp-inventory-counts.view` | — | Depo Elemanı, Depo Memuru, Stok Yöneticisi | | `erp-inventory-counts.approve` | Stok Sayımları · Farkı kaydet (Physical Inventory Counts · Post difference)
Sees the book quantity and the difference, sends the count back for recount and posts the difference to the books. It is the second signature: a person who entered quantities in the count or completed the count cannot post the difference — there is no exception for administrators either.
Also required in the user interface: `erp-inventory-counts.view` | — | Stok Yöneticisi | | `erp-inventory-movement-reasons.view` | Hareket Nedenleri · Görüntüle (Movement Reasons · View) | Yönetim › Özelleştirme › Stok › Hareket Nedenleri (Administration › Customization › Stock › Movement Reasons) | Read baseline (all templates) | | `erp-inventory-movement-reasons.create` | Hareket Nedenleri · Oluştur (Movement Reasons · Create) | — | Ürün Ana Veri Uzmanı | | `erp-inventory-movement-reasons.edit` | Hareket Nedenleri · Düzenle (Movement Reasons · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-inventory-lots.view` | Lot Yönetimi · Görüntüle (Batch Management · View) | Stok Yönetimi › Stok Görünümü › Lotlar (Inventory › Stock Overview › Batches) | Read baseline (all templates) | | `erp-inventory-lots.edit` | Lot Yönetimi · Bloke et (Batch Management · Block)
Only BLOCKS the batch (it cannot be used in issues and transfers). Removing the block requires the "Serbest Bırak" (Release) permission — so that the person who ships cannot remove their own block. The batch number and dates cannot be changed.
Also required in the user interface: `erp-inventory-lots.view` | — | Depo Memuru, Stok Yöneticisi | | `erp-inventory-lots.release` | Lot Yönetimi · Blokeyi çöz (Batch Management · Remove block)
Makes a blocked batch usable again (Active) — the job of Stock Control.
Also required in the user interface: `erp-inventory-lots.view` | — | Stok Yöneticisi | ## Purchasing | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-procurement-item-suppliers.view` | Ürün Tedarikçileri · Görüntüle (Product Suppliers · View) | Satın Alma › Kaynak Bulma › Tedarikçi Fiyatları (Procurement › Sourcing › Supplier Prices) | Satın Alma Uzmanı | | `erp-procurement-item-suppliers.create` | Ürün Tedarikçileri · Oluştur (Product Suppliers · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-procurement-item-suppliers.view` | — | Satın Alma Uzmanı | | `erp-procurement-item-suppliers.edit` | Ürün Tedarikçileri · Düzenle (Product Suppliers · Edit)
Also required in the user interface: `erp-procurement-item-suppliers.view` | — | Satın Alma Uzmanı | | `erp-procurement-item-suppliers.delete` | Ürün Tedarikçileri · İlişkiyi kaldır (Product Suppliers · Remove relationship)
Does NOT DELETE the supplier or the item; it only removes the price/code record between them. Past orders continue to show their own price.
Also required in the user interface: `erp-procurement-item-suppliers.view` | — | Satın Alma Uzmanı | | `erp-procurement-item-suppliers.import` | Ürün Tedarikçileri · İçe Aktar (Product Suppliers · Import) | — | Satın Alma Uzmanı | | `erp-procurement-sourcing.view` | Kaynak Listesi ve Kota · Görüntüle (Source List and Quota · View) | Satın Alma › Talep Yönetimi › Talep Kaynak Ataması (Procurement › Demand Management › Requisition Source Assignment) (all together)
Satın Alma › Kaynak Bulma › Kaynak Listesi ve Kota (Procurement › Sourcing › Source List and Quota) | Satın Alma Uzmanı | | `erp-procurement-sourcing.edit` | Kaynak Listesi ve Kota · Düzenle (Source List and Quota · Edit)
Saves the source list requirement and the quota arrangement.
Also required in the user interface: `erp-procurement-sourcing.view` | — | Satın Alma Uzmanı | | `erp-procurement-requisitions.view` | Satın Alma Talepleri · Görüntüle (Purchase Requisitions · View) | Satın Alma › Talep Yönetimi › Satınalma Talepleri (Procurement › Demand Management › Purchase Requisitions) | Read baseline (all templates) | | `erp-procurement-requisitions.create` | Satın Alma Talepleri · Oluştur (Purchase Requisitions · Create) | Satın Alma › Talep Yönetimi › Satınalma Talebi Oluştur (Procurement › Demand Management › Create Purchase Requisition) | Satış Temsilcisi, Depo Memuru, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | — | Satın Alma Uzmanı, Satış Temsilcisi, Depo Memuru, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü | | `erp-procurement-requisitions.delete` | Satın Alma Talepleri · Sil (Purchase Requisitions · Delete) | — | Satın Alma Uzmanı | | `erp-procurement-requisitions.approve` | Satın Alma Talepleri · Onayla (Purchase Requisitions · Approve) | Yönetim › Onay Süreci › Onayımı Bekleyenler (Administration › Approval Process › Awaiting My Approval) (any one is enough)
Yönetim › Onay Süreci › Onay Vekaletleri (Administration › Approval Process › Approval Delegations) (any one is enough) | Satın Alma Müdürü | | `erp-procurement-rfqs.view` | Teklif İstekleri · Görüntüle (Requests for Quotation · View) | Satın Alma › Kaynak Bulma › Teklif İstekleri (Procurement › Sourcing › Requests for Quotation)
Satın Alma › Analitik › Teklif Tasarrufu (Procurement › Analytics › Quotation Savings) | Read baseline (all templates) | | `erp-procurement-rfqs.create` | Teklif İstekleri · Oluştur (Requests for Quotation · Create) | — | Satın Alma Uzmanı | | `erp-procurement-rfqs.edit` | Teklif İstekleri · Düzenle (Requests for Quotation · Edit) | — | Satın Alma Uzmanı | | `erp-procurement-rfqs.delete` | Teklif İstekleri · Sil (Requests for Quotation · Delete) | — | Satın Alma Uzmanı | | `erp-procurement-orders.view` | Satın Alma Siparişleri · Görüntüle (Purchase Orders · View) | Satın Alma › Sipariş Yönetimi › Satın Alma Siparişleri (Procurement › Order Management › Purchase Orders)
Satın Alma › Analitik › Harcama Raporu (Procurement › Analytics › Spend Report)
Satın Alma › Analitik › Açık Siparişler (Procurement › Analytics › Open Orders)
Satın Alma › Analitik › Tedarikçi Performansı (Procurement › Analytics › Supplier Performance)
Satın Alma › Analitik › Tedarikçi Değerlendirme (Procurement › Analytics › Supplier Evaluation) | Read baseline (all templates) | | `erp-procurement-orders.create` | Satın Alma Siparişleri · Oluştur (Purchase Orders · Create) | Satın Alma › Talep Yönetimi › Talep Kaynak Ataması (Procurement › Demand Management › Requisition Source Assignment) (all together)
Satın Alma › Sipariş Yönetimi › Satın Alma Siparişi Oluştur (Procurement › Order Management › Create Purchase Order) | Satın Alma Uzmanı | | `erp-procurement-orders.edit` | Satın Alma Siparişleri · Düzenle (Purchase Orders · Edit)
Edits only draft orders; it also covers converting the order into a document issued to the supplier (finalizing). Cancellation is a separate permission.
Also required in the user interface: `erp-procurement-orders.view` | Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Satın Alma Uzmanı | | `erp-procurement-orders.delete` | Satın Alma Siparişleri · İptal (Purchase Orders · Cancel)
Does NOT DELETE the order record: it cancels the order irreversibly, with a mandatory reason. On the ERP side, an order document is never deleted.
Also required in the user interface: `erp-procurement-orders.view` | — | Satın Alma Uzmanı | | `erp-procurement-orders.approve` | Satın Alma Siparişleri · Onayla (Purchase Orders · Approve) | Yönetim › Onay Süreci › Onayımı Bekleyenler (Administration › Approval Process › Awaiting My Approval) (any one is enough)
Yönetim › Onay Süreci › Onay Vekaletleri (Administration › Approval Process › Approval Delegations) (any one is enough) | Satın Alma Müdürü | | `erp-procurement-orders.close` | Satın Alma Siparişleri · Kapat (Purchase Orders · Close)
Gives up the remainder of a partially received order and closes the document: no goods receipt can be posted to a closed order, and the remainder is not counted as in transit in Material Requirements. It does NOT CHANGE the received quantities — it is not a cancellation.
Also required in the user interface: `erp-procurement-orders.view` | — | Satın Alma Uzmanı | | `erp-procurement-subcontracting.view` | Fason · Görüntüle (Subcontracting · View) | Satın Alma › Fason › Fasoncudaki Stok (Procurement › Subcontracting › Stock at Subcontractor)
Satın Alma › Fason › Fason Sevk ve İadeleri (Procurement › Subcontracting › Subcontracting Shipments and Returns) | Read baseline (all templates) | | `erp-procurement-subcontracting.create` | Fason · Oluştur (Subcontracting · Create)
Posts material shipment to the subcontractor (541) and return from the subcontractor (542) documents.
Also required in the user interface: `erp-procurement-subcontracting.view` | Satın Alma › Fason › Fasona Malzeme Sevki Oluştur (Procurement › Subcontracting › Create Material Shipment to Subcontractor)
Satın Alma › Fason › Fasondan Malzeme İadesi Oluştur (Procurement › Subcontracting › Create Material Return from Subcontractor) | Depo Memuru, Stok Yöneticisi | | `erp-procurement-approval-rules.view` | Satın Alma Onay Kuralları · Görüntüle (Purchasing Approval Rules · View) | — | Read baseline (all templates) | | `erp-procurement-approval-rules.create` | Satın Alma Onay Kuralları · Oluştur (Purchasing Approval Rules · Create) | — | Administrator only | | `erp-procurement-approval-rules.edit` | Satın Alma Onay Kuralları · Düzenle (Purchasing Approval Rules · Edit) | — | Administrator only | | `erp-procurement-approval-rules.delete` | Satın Alma Onay Kuralları · Sil (Purchasing Approval Rules · Delete) | — | Administrator only | | `erp-procurement-receipts.view` | Mal Kabulleri · Görüntüle (Goods Receipts · View) | Satın Alma › Mal ve Hizmet Kabulü › Mal Kabulleri (Procurement › Goods and Service Receipt › Goods Receipts)
Satın Alma › Mal ve Hizmet Kabulü › Teslim Alınacaklar (Procurement › Goods and Service Receipt › Due for Receipt) | Read baseline (all templates) | | `erp-procurement-receipts.create` | Mal Kabulleri · Oluştur (Goods Receipts · Create) | Satın Alma › Mal ve Hizmet Kabulü › Mal Kabulü Oluştur (Procurement › Goods and Service Receipt › Create Goods Receipt) | Depo Memuru | | `erp-procurement-receipt-reversals.view` | Mal Kabul Geri Almaları · Görüntüle (Goods Receipt Reversals · View) | Satın Alma › İade Yönetimi › Mal Kabul Geri Almaları (Procurement › Returns Management › Goods Receipt Reversals) | Read baseline (all templates) | | `erp-procurement-receipt-reversals.create` | Mal Kabul Geri Almaları · Oluştur (Goods Receipt Reversals · Create) | Satın Alma › İade Yönetimi › Mal Kabulünü Geri Al (Procurement › Returns Management › Reverse Goods Receipt) | Satın Alma Uzmanı | | `erp-procurement-return-requests.view` | Tedarikçi İade Talepleri · Görüntüle (Supplier Return Requests · View) | Satın Alma › İade Yönetimi › Tedarikçi İade Talepleri (Procurement › Returns Management › Supplier Return Requests) | Read baseline (all templates) | | `erp-procurement-return-requests.create` | Tedarikçi İade Talepleri · Oluştur (Supplier Return Requests · Create) | — | Depo Memuru, Stok Yöneticisi, Kalite Uzmanı | | `erp-procurement-return-requests.approve` | Tedarikçi İade Talepleri · Onayla (Supplier Return Requests · Approve) | — | Satın Alma Uzmanı | | `erp-procurement-service-acceptances.view` | Hizmet Kabulleri · Görüntüle (Service Acceptances · View) | Satın Alma › Mal ve Hizmet Kabulü › Hizmet Kabulleri (Procurement › Goods and Service Receipt › Service Acceptances) | Read baseline (all templates) | | `erp-procurement-service-acceptances.create` | Hizmet Kabulleri · Oluştur (Service Acceptances · Create) | Satın Alma › Mal ve Hizmet Kabulü › Hizmet Kabulü Oluştur (Procurement › Goods and Service Receipt › Create Service Acceptance) | Üretim Planlayıcı | | `erp-procurement-service-acceptance-reversals.view` | Hizmet Kabul Geri Almaları · Görüntüle (Service Acceptance Reversals · View) | Satın Alma › İade Yönetimi › Hizmet Kabul Geri Almaları (Procurement › Returns Management › Service Acceptance Reversals) | Read baseline (all templates) | | `erp-procurement-service-acceptance-reversals.create` | Hizmet Kabul Geri Almaları · Oluştur (Service Acceptance Reversals · Create) | Satın Alma › İade Yönetimi › Hizmet Kabulünü Geri Al (Procurement › Returns Management › Reverse Service Acceptance) | Satın Alma Uzmanı | | `erp-procurement-consignment-settlements.view` | Konsinye Hesaplaşmaları · Görüntüle (Consignment Settlements · View) | Satın Alma › Tedarikçi Faturaları › Konsinye Hesaplaşmaları (Procurement › Supplier Invoices › Consignment Settlements) | Satın Alma Uzmanı | | `erp-procurement-consignment-settlements.create` | Konsinye Hesaplaşmaları · Oluştur (Consignment Settlements · Create) | Satın Alma › Tedarikçi Faturaları › Konsinye Hesaplaşması Oluştur (Procurement › Supplier Invoices › Create Consignment Settlement) | Satın Alma Uzmanı | | `erp-procurement-supplier-evaluation.view` | Tedarikçi Değerlendirme · Görüntüle (Supplier Evaluation · View) | — | Read baseline (all templates) | | `erp-procurement-supplier-evaluation.create` | Tedarikçi Değerlendirme · Oluştur (Supplier Evaluation · Create) | — | Satın Alma Uzmanı | | `erp-procurement-supplier-evaluation.edit` | Tedarikçi Değerlendirme · Düzenle (Supplier Evaluation · Edit) | Yönetim › Özelleştirme › Satın Alma › Tedarikçi Değerlendirme Ayarları (Administration › Customization › Procurement › Supplier Evaluation Settings) | Administrator only | | `erp-procurement-contracts.view` | Çerçeve Sözleşmeler · Görüntüle (Outline Agreements · View) | Satın Alma › Kaynak Bulma › Çerçeve Sözleşmeler (Procurement › Sourcing › Outline Agreements) | Satın Alma Uzmanı | | `erp-procurement-contracts.create` | Çerçeve Sözleşmeler · Oluştur (Outline Agreements · Create) | Satın Alma › Kaynak Bulma › Çerçeve Sözleşme Oluştur (Procurement › Sourcing › Create Outline Agreement) | Satın Alma Uzmanı | | `erp-procurement-contracts.edit` | Çerçeve Sözleşmeler · Düzenle (Outline Agreements · Edit) | — | Satın Alma Uzmanı | | `erp-procurement-supplier-rebates.view` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Görüntüle (Supplier Rebate Agreements and Settlements · View) | Satın Alma › Kaynak Bulma › Tedarikçi Prim Anlaşmaları (Procurement › Sourcing › Supplier Rebate Agreements)
Satın Alma › Tedarikçi Faturaları › Tedarikçi Prim Hesaplaşmaları (Procurement › Supplier Invoices › Supplier Rebate Settlements) | Satın Alma Uzmanı | | `erp-procurement-supplier-rebates.create` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Oluştur (Supplier Rebate Agreements and Settlements · Create) | Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Satın Alma Uzmanı | | `erp-procurement-supplier-rebates.edit` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Düzenle (Supplier Rebate Agreements and Settlements · Edit) | — | Satın Alma Uzmanı | | `erp-procurement-purchasing-groups.view` | Satın Alma Grupları · Görüntüle (Purchasing Groups · View) | Yönetim › Özelleştirme › Satın Alma › Satın Alma Grupları (Administration › Customization › Procurement › Purchasing Groups) | Read baseline (all templates) | | `erp-procurement-purchasing-groups.create` | Satın Alma Grupları · Oluştur (Purchasing Groups · Create) | — | Satın Alma Müdürü | | `erp-procurement-purchasing-groups.edit` | Satın Alma Grupları · Düzenle (Purchasing Groups · Edit) | — | Satın Alma Müdürü | ## Sales and Distribution | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-partners-cards.view` | İş Ortakları (müşteri + tedarikçi) · Görüntüle (Business Partners (customer + supplier) · View) | Satış › Sipariş Yönetimi › Satış Siparişi Oluştur (Sales › Order Management › Create Sales Order) (all together)
Satış › Ana Veriler › Müşteriler (Sales › Master Data › Customers)
Satın Alma › Ana Veriler › Tedarikçiler (Procurement › Master Data › Suppliers)
Ana Veriler › İş Ortakları › İş Ortağı Ana Verileri (Master Data › Business Partners › Business Partner Master Data)
Ana Veriler › İş Ortakları › Şirket Grupları (Master Data › Business Partners › Company Groups)
Ana Veriler › İş Ortakları › İş Ortağı Aktarımı (Master Data › Business Partners › Business Partner Import)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Read baseline (all templates) | | `erp-partners-cards.create` | İş Ortakları (müşteri + tedarikçi) · Oluştur (Business Partners (customer + supplier) · Create) | Ana Veriler › İş Ortakları › İş Ortağı Oluştur (Master Data › Business Partners › Create Business Partner) | İş Ortağı Ana Veri Uzmanı | | `erp-partners-cards.edit` | İş Ortakları (müşteri + tedarikçi) · Düzenle (Business Partners (customer + supplier) · Edit)
Also required in the user interface: `erp-partners-cards.view` | — | İş Ortağı Ana Veri Uzmanı | | `erp-partners-cards.import` | İş Ortakları (müşteri + tedarikçi) · İçe Aktar (Business Partners (customer + supplier) · Import) | — | İş Ortağı Ana Veri Uzmanı | | `erp-sales-quotations.view` | Satış Teklifleri · Görüntüle (Sales Quotations · View) | Satış › Teklif Yönetimi › Satış Teklifleri (Sales › Quotation Management › Sales Quotations)
Satış › Analitik › Teklif Kazanma/Kaybetme (Sales › Analytics › Quotation Win/Loss) | Read baseline (all templates) | | `erp-sales-quotations.create` | Satış Teklifleri · Oluştur (Sales Quotations · Create)
Prepares a new sales quotation (draft). Does not require permission to create orders.
Also required in the user interface: `erp-sales-quotations.view` | Satış › Teklif Yönetimi › Satış Teklifi Oluştur (Sales › Quotation Management › Create Sales Quotation) | Satış Temsilcisi | | `erp-sales-quotations.edit` | Satış Teklifleri · Düzenle (Sales Quotations · Edit)
Edits the draft, marks it as sent, opens a revision and closes it as lost/cancelled. Converting it to an order additionally requires the permission to create sales orders.
Also required in the user interface: `erp-sales-quotations.view` | Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Satış Temsilcisi | | `erp-sales-quotations.approve` | Satış Teklifleri · Onayla (Sales Quotations · Approve)
Decides on a quotation awaiting approval (discount or amount threshold) — only if the template's stage points to this user. Cannot approve a quotation they sent or for which they are the representative.
Also required in the user interface: `erp-sales-quotations.view` | Yönetim › Onay Süreci › Onayımı Bekleyenler (Administration › Approval Process › Awaiting My Approval) (any one is enough)
Yönetim › Onay Süreci › Onay Vekaletleri (Administration › Approval Process › Approval Delegations) (any one is enough) | Satış Müdürü | | `erp-sales-orders.view` | Satış Siparişleri · Görüntüle (Sales Orders · View) | Satış › Sipariş Yönetimi › Satış Siparişleri (Sales › Order Management › Sales Orders)
Satış › Sipariş Yönetimi › Backorder İşleme (Sales › Order Management › Backorder Processing)
Satış › Analitik › Müşteri Bazında Satış (Sales › Analytics › Sales by Customer)
Satış › Analitik › Ürün Bazında Satış (Sales › Analytics › Sales by Product)
Satış › Analitik › Temsilci Bazında Satış (Sales › Analytics › Sales by Representative)
Satış › Analitik › Açık Satış Siparişleri (Sales › Analytics › Open Sales Orders) | Read baseline (all templates) | | `erp-sales-orders.create` | Satış Siparişleri · Oluştur (Sales Orders · Create)
Also required in the user interface: `erp-partners-cards.view` | Satış › Sipariş Yönetimi › Satış Siparişi Oluştur (Sales › Order Management › Create Sales Order) (all together) | Satış Temsilcisi | | `erp-sales-orders.edit` | Satış Siparişleri · Düzenle (Sales Orders · Edit)
In addition to editing drafts, it also covers approving and cancelling the order. CLOSING the order is a separate permission.
Also required in the user interface: `erp-sales-orders.view` | Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Satış Temsilcisi | | `erp-sales-orders.close` | Satış Siparişleri · Kapat (Sales Orders · Close)
Gives up the unfulfilled remaining quantity and closes the document: no new delivery can be posted to a closed order. It does NOT CHANGE the shipped quantities and amounts — it is neither a deletion nor a cancellation.
Also required in the user interface: `erp-sales-orders.view` | — | Satış Temsilcisi | | `erp-sales-price-lists.view` | Fiyat Listeleri ve Özel Fiyatlar · Görüntüle (Price Lists and Special Prices · View) | Satış › Ana Veriler › Fiyat Listeleri (Sales › Master Data › Price Lists)
Satış › Ana Veriler › Özel Fiyatlar (Sales › Master Data › Special Prices)
Satış › Ana Veriler › Grup İskontoları (Sales › Master Data › Group Discounts)
Satış › Ana Veriler › Kondisyon Kayıtları (Sales › Master Data › Condition Records) | Satış Temsilcisi, Satış Müdürü | | `erp-sales-price-lists.create` | Fiyat Listeleri ve Özel Fiyatlar · Oluştur (Price Lists and Special Prices · Create)
Creates a new price list and a new customer special price.
Also required in the user interface: `erp-sales-price-lists.view` | — | Satış Müdürü | | `erp-sales-price-lists.edit` | Fiyat Listeleri ve Özel Fiyatlar · Düzenle (Price Lists and Special Prices · Edit)
Enters/removes list prices, hands over the default list, assigns lists to customers, and edits and deletes special prices. Changing the price on an order line does NOT REQUIRE this permission.
Also required in the user interface: `erp-sales-price-lists.view` | Üretim › Ürün Maliyetlendirme › Üst Ürün Fiyatlarını Güncelle (Production › Product Costing › Update Parent Product Prices) (all together) | Satış Müdürü | | `erp-sales-price-lists.import` | Fiyat Listeleri ve Özel Fiyatlar · Dosyadan yükle (Price Lists and Special Prices · Load from file)
Writes lists, prices, period and quantity prices, characteristic surcharges, customer lists, special prices and group discounts in bulk from the Fiyat Listesi Aktarımı (Price List Import) workbook (.xlsx). Writing additionally requires the create and edit permissions; validation does NOT REQUIRE this permission.
Also required in the user interface: `erp-sales-price-lists.view` | — | Satış Müdürü | | `erp-sales-campaigns.view` | Kampanyalar · Görüntüle (Campaigns · View) | Satış › Ana Veriler › Kampanyalar (Sales › Master Data › Campaigns) | Satış Temsilcisi, Satış Müdürü | | `erp-sales-campaigns.create` | Kampanyalar · Oluştur (Campaigns · Create)
Also required in the user interface: `erp-sales-campaigns.view` | — | Satış Müdürü | | `erp-sales-campaigns.edit` | Kampanyalar · Düzenle (Campaigns · Edit)
Changes the campaign's items, scope and validity; deactivates it.
Also required in the user interface: `erp-sales-campaigns.view` | — | Satış Müdürü | | `erp-sales-shipments.view` | Teslimatlar · Görüntüle (Deliveries · View) | Satış › Analitik › Brüt Kâr (Sales › Analytics › Gross Profit) (all together)
Lojistik Yönetimi › Giden Teslimat › Teslimatlar (Logistics Management › Outbound Delivery › Deliveries)
Lojistik Yönetimi › Giden Teslimat › Teslimat İzleme (Logistics Management › Outbound Delivery › Delivery Tracking)
Lojistik Yönetimi › Analitik › Teslimat Özeti (Logistics Management › Analytics › Delivery Summary)
Lojistik Yönetimi › Analitik › Zamanında-Tam Teslim (Logistics Management › Analytics › On-Time In-Full Delivery) | Read baseline (all templates) | | `erp-sales-shipments.create` | Teslimatlar · Oluştur (Deliveries · Create)
In the normal flow it is started from the detail of an approved sales order; authorization does not depend on the order view permission. | Lojistik Yönetimi › Giden Teslimat › Giden Teslimat Oluştur (Logistics Management › Outbound Delivery › Create Outbound Delivery)
Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Depo Memuru | | `erp-sales-shipment-reversals.view` | Teslimat Düzeltmeleri · Görüntüle (Delivery Corrections · View) | Lojistik Yönetimi › Giden Teslimat › Teslimat Düzeltmeleri (Logistics Management › Outbound Delivery › Delivery Corrections) | Read baseline (all templates) | | `erp-sales-shipment-reversals.create` | Teslimat Düzeltmeleri · Oluştur (Delivery Corrections · Create)
In the normal flow it is started from the delivery detail; authorization does not depend on the delivery view permission. | — | Satış Temsilcisi | | `erp-sales-returns.view` | Satış İadeleri · Görüntüle (Sales Returns · View) | Satış › İade Yönetimi › Satış İadeleri (Sales › Returns Management › Sales Returns)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-sales-returns.create` | Satış İadeleri · Oluştur (Sales Returns · Create)
Takes goods returned by the customer into stock (in the selected warehouse and stock status). It is started from the delivery detail; the delivery correction permission does not grant this authorization. | — | Satış Temsilcisi | | `erp-sales-free-returns.create` | Teslimatsız Satış İadeleri · Oluştur (Sales Returns Without Delivery · Create)
Takes a return without a delivery into stock: the customer, item and price are selected manually. It is a separate permission because it increases stock without a source document; the return-from-delivery permission does not grant it. | — | Satış Temsilcisi | | `erp-sales-return-requests.view` | İade Talepleri · Görüntüle (Return Requests · View) | Satış › İade Yönetimi › İade Talepleri (Sales › Returns Management › Return Requests) | Read baseline (all templates) | | `erp-sales-return-requests.create` | İade Talepleri · Oluştur (Return Requests · Create) | — | Satış Temsilcisi | | `erp-sales-return-requests.approve` | İade Talepleri · Onayla (Return Requests · Approve) | — | Satış Müdürü | | `erp-sales-return-reasons.view` | İade Nedenleri · Görüntüle (Return Reasons · View) | Yönetim › Özelleştirme › Satış › İade Nedenleri (Administration › Customization › Sales › Return Reasons) | Read baseline (all templates) | | `erp-sales-return-reasons.create` | İade Nedenleri · Oluştur (Return Reasons · Create) | — | Ürün Ana Veri Uzmanı | | `erp-sales-return-reasons.edit` | İade Nedenleri · Düzenle (Return Reasons · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-channels.view` | Satış Kanalları · Görüntüle (Sales Channels · View) | Yönetim › Özelleştirme › Kuruluş Yapısı › Satış Kanalları (Administration › Customization › Organizational Structure › Sales Channels) | Read baseline (all templates) | | `erp-sales-channels.create` | Satış Kanalları · Oluştur (Sales Channels · Create) | — | Ürün Ana Veri Uzmanı | | `erp-sales-channels.edit` | Satış Kanalları · Düzenle (Sales Channels · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-areas.view` | Satış Organizasyonu ve Bölüm · Görüntüle (Sales Organization and Division · View) | Yönetim › Özelleştirme › Kuruluş Yapısı › Satış Organizasyonları (Administration › Customization › Organizational Structure › Sales Organizations)
Yönetim › Özelleştirme › Kuruluş Yapısı › Bölümler (Administration › Customization › Organizational Structure › Divisions) | Read baseline (all templates) | | `erp-sales-areas.create` | Satış Organizasyonu ve Bölüm · Oluştur (Sales Organization and Division · Create) | — | Ürün Ana Veri Uzmanı | | `erp-sales-areas.edit` | Satış Organizasyonu ve Bölüm · Düzenle (Sales Organization and Division · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-output-settings.view` | Satış Çıktı Ayarları · Görüntüle (Sales Output Settings · View) | Yönetim › Özelleştirme › Satış › Çıktı Ayarları (Administration › Customization › Sales › Output Settings) | Read baseline (all templates) | | `erp-sales-output-settings.edit` | Satış Çıktı Ayarları · Düzenle (Sales Output Settings · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-document-types.view` | Satış Belge Türleri · Görüntüle (Sales Document Types · View) | Yönetim › Özelleştirme › Satış › Satış Belge Türleri (Administration › Customization › Sales › Sales Document Types)
Yönetim › Özelleştirme › Satış › Kopyalama Kontrolü (Administration › Customization › Sales › Copy Control) | Read baseline (all templates) | | `erp-sales-document-types.create` | Satış Belge Türleri · Oluştur (Sales Document Types · Create) | — | Ürün Ana Veri Uzmanı | | `erp-sales-document-types.edit` | Satış Belge Türleri · Düzenle (Sales Document Types · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-condition-types.view` | Kondisyon Türleri · Görüntüle (Condition Types · View) | Yönetim › Özelleştirme › Satış › Kondisyon Türleri (Administration › Customization › Sales › Condition Types)
Yönetim › Özelleştirme › Satış › Fiyatlandırma Şeması (Administration › Customization › Sales › Pricing Procedure) | Read baseline (all templates) | | `erp-sales-condition-types.create` | Kondisyon Türleri · Oluştur (Condition Types · Create) | — | Ürün Ana Veri Uzmanı | | `erp-sales-condition-types.edit` | Kondisyon Türleri · Düzenle (Condition Types · Edit) | — | Ürün Ana Veri Uzmanı | | `erp-sales-service-confirmations.view` | Hizmet Teyitleri · Görüntüle (Service Confirmations · View) | Satış › Sipariş Yönetimi › Hizmet Teyitleri (Sales › Order Management › Service Confirmations) | Read baseline (all templates) | | `erp-sales-service-confirmations.create` | Hizmet Teyitleri · Oluştur (Service Confirmations · Create) | — | Satış Temsilcisi, Servis Teknisyeni | | `erp-sales-rebates.view` | Prim Anlaşmaları ve Hesaplaşmaları · Görüntüle (Rebate Agreements and Settlements · View) | Satış › Faturalama › Prim Hesaplaşmaları (Sales › Billing › Rebate Settlements)
Satış › Ana Veriler › Prim Anlaşmaları (Sales › Master Data › Rebate Agreements) | Satış Müdürü, Alacak Muhasebecisi | | `erp-sales-rebates.create` | Prim Anlaşmaları ve Hesaplaşmaları · Oluştur (Rebate Agreements and Settlements · Create) | — | Satış Müdürü | | `erp-sales-rebates.edit` | Prim Anlaşmaları ve Hesaplaşmaları · Düzenle (Rebate Agreements and Settlements · Edit) | — | Satış Müdürü | | `erp-sales-contracts.view` | Satış Sözleşmeleri · Görüntüle (Sales Contracts · View) | Satış › Sipariş Yönetimi › Satış Sözleşmeleri (Sales › Order Management › Sales Contracts) | Satış Temsilcisi, Satış Müdürü | | `erp-sales-contracts.create` | Satış Sözleşmeleri · Oluştur (Sales Contracts · Create) | Satış › Sipariş Yönetimi › Satış Sözleşmesi Oluştur (Sales › Order Management › Create Sales Contract) | Satış Müdürü | | `erp-sales-contracts.edit` | Satış Sözleşmeleri · Düzenle (Sales Contracts · Edit) | — | Satış Müdürü | ## Logistics | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-logistics-transports.view` | Taşıma Belgeleri · Görüntüle (Shipment Documents · View) | Lojistik Yönetimi › Taşıma › Taşıma Belgeleri (Logistics Management › Transport › Shipment Documents) | Read baseline (all templates) | | `erp-logistics-transports.create` | Taşıma Belgeleri · Oluştur (Shipment Documents · Create) | Lojistik Yönetimi › Taşıma › Taşıma Belgesi Oluştur (Logistics Management › Transport › Create Shipment Document)
Lojistik Yönetimi › Taşıma › Yük Planlama (Logistics Management › Transport › Load Planning) | Taşıma Planlayıcı | | `erp-logistics-transports.edit` | Taşıma Belgeleri · Düzenle (Shipment Documents · Edit) | — | Taşıma Planlayıcı | | `erp-logistics-transport-events.create` | Sefer Olayları · Oluştur (Shipment Events · Create) | — | Taşıma Planlayıcı | | `erp-logistics-proof-of-delivery.create` | Alındı Teyidi · Oluştur (Proof of Delivery · Create) | — | Depo Memuru, Taşıma Planlayıcı | | `erp-logistics-fleet.view` | Filo ve Taşıma Ağı · Görüntüle (Fleet and Transport Network · View) | Lojistik Yönetimi › Filo › Araçlar (Logistics Management › Fleet › Tools)
Lojistik Yönetimi › Filo › Sürücüler (Logistics Management › Fleet › Drivers)
Lojistik Yönetimi › Analitik › Filo Kullanımı (Logistics Management › Analytics › Fleet Utilization)
Yönetim › Özelleştirme › Lojistik › Rotalar (Administration › Customization › Logistics › Routings)
Yönetim › Özelleştirme › Lojistik › Sevkiyat Noktaları (Administration › Customization › Logistics › Shipping Points) | Read baseline (all templates) | | `erp-logistics-fleet.create` | Filo ve Taşıma Ağı · Oluştur (Fleet and Transport Network · Create) | — | Taşıma Planlayıcı | | `erp-logistics-fleet.edit` | Filo ve Taşıma Ağı · Düzenle (Fleet and Transport Network · Edit) | — | Taşıma Planlayıcı | | `erp-logistics-carriers.view` | Taşıyıcılar · Görüntüle (Carriers · View) | Lojistik Yönetimi › Ana Veriler › Taşıyıcılar (Logistics Management › Master Data › Carriers) | Read baseline (all templates) | | `erp-logistics-carriers.create` | Taşıyıcılar · Oluştur (Carriers · Create)
Also required in the user interface: `erp-logistics-carriers.view` | — | Taşıma Planlayıcı | | `erp-logistics-carriers.edit` | Taşıyıcılar · Düzenle (Carriers · Edit)
Also required in the user interface: `erp-logistics-carriers.view` | — | Taşıma Planlayıcı | | `erp-logistics-fleet-costs.view` | Filo İşletimi ve Maliyeti · Görüntüle (Fleet Operations and Cost · View) | Lojistik Yönetimi › Filo › Filo İşletimi (Logistics Management › Fleet › Fleet Operations)
Lojistik Yönetimi › Analitik › Araç Maliyeti (Logistics Management › Analytics › Vehicle Cost) | Taşıma Planlayıcı | | `erp-logistics-fleet-costs.create` | Filo İşletimi ve Maliyeti · Oluştur (Fleet Operations and Cost · Create) | — | Taşıma Planlayıcı | | `erp-logistics-freight-agreements.view` | Navlun Anlaşmaları · Görüntüle (Freight Agreements · View) | Lojistik Yönetimi › Ana Veriler › Navlun Anlaşmaları (Logistics Management › Master Data › Freight Agreements)
Lojistik Yönetimi › Analitik › Navlun Maliyeti (Logistics Management › Analytics › Freight Cost) | Taşıma Planlayıcı | | `erp-logistics-freight-agreements.create` | Navlun Anlaşmaları · Oluştur (Freight Agreements · Create) | — | Taşıma Planlayıcı | | `erp-logistics-freight-agreements.edit` | Navlun Anlaşmaları · Düzenle (Freight Agreements · Edit) | — | Taşıma Planlayıcı | | `erp-logistics-freight-settlements.view` | Navlun Hesaplaşmaları · Görüntüle (Freight Settlements · View) | Lojistik Yönetimi › Taşıma › Navlun Hesaplaşmaları (Logistics Management › Transport › Freight Settlements) | Taşıma Planlayıcı | | `erp-logistics-freight-settlements.create` | Navlun Hesaplaşmaları · Oluştur (Freight Settlements · Create) | Lojistik Yönetimi › Taşıma › Navlun Hesaplaşması Oluştur (Logistics Management › Transport › Create Freight Settlement) | Taşıma Planlayıcı | | `erp-logistics-transport-tenders.view` | Taşıma İhaleleri · Görüntüle (Transport Tenders · View) | Lojistik Yönetimi › Taşıma › Taşıyıcı Seçimi ve İhale (Logistics Management › Transport › Carrier Selection and Tendering) | Taşıma Planlayıcı | | `erp-logistics-transport-tenders.create` | Taşıma İhaleleri · Oluştur (Transport Tenders · Create) | — | Taşıma Planlayıcı | | `erp-logistics-transport-tenders.edit` | Taşıma İhaleleri · Düzenle (Transport Tenders · Edit) | — | Taşıma Planlayıcı | | `erp-logistics-inbound-deliveries.view` | Gelen Teslimatlar · Görüntüle (Inbound Deliveries · View) | Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimatlar (Logistics Management › Inbound Delivery › Inbound Deliveries) | Read baseline (all templates) | | `erp-logistics-inbound-deliveries.create` | Gelen Teslimatlar · Oluştur (Inbound Deliveries · Create) | Lojistik Yönetimi › Gelen Teslimat › Gelen Teslimat Oluştur (Logistics Management › Inbound Delivery › Create Inbound Delivery) | Satın Alma Uzmanı, Depo Memuru, Taşıma Planlayıcı | | `erp-logistics-forwarding-orders.view` | Nakliye Siparişleri · Görüntüle (Forwarding Orders · View) | Lojistik Yönetimi › Taşıma › Nakliye Siparişleri (Logistics Management › Transport › Forwarding Orders) | Taşıma Planlayıcı | | `erp-logistics-forwarding-orders.create` | Nakliye Siparişleri · Oluştur (Forwarding Orders · Create) | Lojistik Yönetimi › Taşıma › Nakliye Siparişi Oluştur (Logistics Management › Transport › Create Forwarding Order) | Taşıma Planlayıcı | | `erp-logistics-forwarding-orders.edit` | Nakliye Siparişleri · Düzenle (Forwarding Orders · Edit) | — | Taşıma Planlayıcı | | `erp-logistics-driver-identity.view` | Sürücü Kimlik Bilgisi · Görüntüle (Driver Identity Information · View) | — | Taşıma Planlayıcı | ## Production | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-manufacturing-boms.view` | Ürün Ağaçları · Görüntüle (Bills of Materials · View) | Üretim › Üretim Mühendisliği › Üretim Versiyonları (Production › Production Engineering › Production Versions)
Üretim › Ana Veriler › Ürün Ağaçları (Production › Master Data › BOMs)
Üretim › Ana Veriler › Çok Seviyeli Ürün Ağacı (Production › Master Data › Multi-Level BOM)
Üretim › Ana Veriler › Ürün Ağacı Karşılaştırma (Production › Master Data › BOM Comparison) | Read baseline (all templates) | | `erp-manufacturing-boms.create` | Ürün Ağaçları · Oluştur (Bills of Materials · Create) | Üretim › Ana Veriler › Ürün Ağacı Oluştur (Production › Master Data › Create BOM) | Üretim Planlayıcı | | `erp-manufacturing-boms.edit` | Ürün Ağaçları · Düzenle (Bills of Materials · Edit)
Also covers creating a new revision and releasing the revision; creating the bill of materials itself is a separate permission.
Also required in the user interface: `erp-manufacturing-boms.view` | Üretim › Ana Veriler › Ürün Ağacı Bileşen Yönetimi (Production › Master Data › BOM Component Management) | Üretim Planlayıcı | | `erp-manufacturing-boms.import` | Ürün Ağaçları · İçe Aktar (Bills of Materials · Import) | — | Üretim Planlayıcı | | `erp-manufacturing-engineering-changes.view` | Mühendislik Değişiklikleri · Görüntüle (Engineering Changes · View) | Üretim › Ana Veriler › Mühendislik Değişiklikleri (Production › Master Data › Engineering Changes)
Üretim › Ana Veriler › Değişiklik Talepleri (Production › Master Data › Change Requests) | Read baseline (all templates) | | `erp-manufacturing-engineering-changes.create` | Mühendislik Değişiklikleri · Oluştur (Engineering Changes · Create) | — | Üretim Planlayıcı | | `erp-manufacturing-engineering-changes.edit` | Mühendislik Değişiklikleri · Düzenle (Engineering Changes · Edit) | — | Üretim Planlayıcı | | `erp-manufacturing-routings.view` | Rotalar · Görüntüle (Routings · View) | Üretim › Üretim Mühendisliği › Rotalar (Production › Production Engineering › Routings)
Üretim › Üretim Mühendisliği › Ana Reçeteler (Production › Production Engineering › Master Recipes) | Read baseline (all templates) | | `erp-manufacturing-routings.create` | Rotalar · Oluştur (Routings · Create) | Üretim › Üretim Mühendisliği › Rota Oluştur (Production › Production Engineering › Create Routing)
Üretim › Üretim Mühendisliği › Ana Reçete Oluştur (Production › Production Engineering › Create Master Recipe) | Üretim Planlayıcı | | `erp-manufacturing-routings.edit` | Rotalar · Düzenle (Routings · Edit) | — | Üretim Planlayıcı | | `erp-manufacturing-routings.import` | Rotalar · İçe Aktar (Routings · Import) | — | Üretim Planlayıcı | | `erp-manufacturing-work-centers.view` | İş Merkezleri · Görüntüle (Work Centers · View) | Üretim › Ana Veriler › İş Merkezleri (Production › Master Data › Work Centers)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough)
Yönetim › Özelleştirme › Üretim › Duruş Nedenleri (Administration › Customization › Production › Downtime Reasons) | Read baseline (all templates) | | `erp-manufacturing-work-centers.create` | İş Merkezleri · Oluştur (Work Centers · Create) | — | Üretim Planlayıcı | | `erp-manufacturing-work-centers.edit` | İş Merkezleri · Düzenle (Work Centers · Edit) | — | Üretim Planlayıcı | | `erp-manufacturing-work-centers.import` | İş Merkezleri · İçe Aktar (Work Centers · Import) | — | Üretim Planlayıcı | | `erp-manufacturing-capacity.view` | Kapasite Planlama · Görüntüle (Capacity Planning · View) | Üretim › Kapasite Planlama › Kapasite Yükü (Production › Capacity Planning › Capacity Load)
Üretim › Kapasite Planlama › Kapasite Planlama Tablosu (Production › Capacity Planning › Capacity Planning Table)
Üretim › Kapasite Planlama › Sonlu Çizelgeleme (Production › Capacity Planning › Finite Scheduling) | Read baseline (all templates) | | `erp-manufacturing-capacity.edit` | Kapasite Planlama · Düzenle (Capacity Planning · Edit)
Schedules the operation on the work center (planning table) and applies the finite scheduling proposal.
Also required in the user interface: `erp-manufacturing-capacity.view` | — | Üretim Planlayıcı, Üretim Amiri | | `erp-demand-material-requirements.view` | Malzeme İhtiyaçları · Görüntüle (Material Requirements · View) | Üretim › Üretim Planlama › Malzeme İhtiyaçları (Production › Production Planning › Material Requirements)
Üretim › Üretim Planlama › MRP Koşusu (Production › Production Planning › MRP Run) | Read baseline (all templates) | | `erp-demand-mrp-runs.create` | MRP Koşusu · Oluştur (MRP Run · Create) | — | Üretim Planlayıcı | | `erp-demand-independent-requirements.view` | Planlı Bağımsız İhtiyaçlar · Görüntüle (Planned Independent Requirements · View) | Üretim › Üretim Planlama › Planlı Bağımsız İhtiyaçlar (Production › Production Planning › Planned Independent Requirements) | Read baseline (all templates) | | `erp-demand-independent-requirements.edit` | Planlı Bağımsız İhtiyaçlar · Düzenle (Planned Independent Requirements · Edit) | — | Üretim Planlayıcı | | `erp-manufacturing-orders.view` | Üretim Emirleri · Görüntüle (Production Orders · View) | Üretim › Üretim Yürütme › Üretim Emirleri (Production › Production Execution › Production Orders)
Üretim › Üretim Yürütme › Üretim Operasyonları (Production › Production Execution › Production Operations)
Üretim › Üretim Yürütme › Eksik Parça Listesi (Production › Production Execution › Missing Parts List)
Üretim › Analitik › Üretim Emri Durumu (Production › Analytics › Production Order Status)
Üretim › Analitik › İş Merkezi Yükü (Production › Analytics › Work Center Load)
Üretim › Analitik › Üretim Maliyeti (Production › Analytics › Production Cost) (all together)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough)
Yönetim › Özelleştirme › Üretim › Üretim Ayarları (Administration › Customization › Production › Production Settings) | Read baseline (all templates) | | `erp-manufacturing-orders.create` | Üretim Emirleri · Oluştur (Production Orders · Create) | Üretim › Üretim Yürütme › Üretim Emri Oluştur (Production › Production Execution › Create Production Order) | Üretim Planlayıcı | | `erp-manufacturing-orders.edit` | Üretim Emirleri · Düzenle (Production Orders · Edit)
In addition to editing drafts, it also covers releasing, completing and cancelling the order.
Also required in the user interface: `erp-manufacturing-orders.view` | — | Üretim Planlayıcı, Üretim Amiri | | `erp-manufacturing-planned-orders.view` | Planlı Emirler · Görüntüle (Planned Orders · View) | Üretim › Üretim Planlama › Planlı Emirler (Production › Production Planning › Planned Orders) | Read baseline (all templates) | | `erp-manufacturing-planned-orders.edit` | Planlı Emirler · Düzenle (Planned Orders · Edit) | — | Üretim Planlayıcı | | `erp-manufacturing-kanban.view` | Kanban · Görüntüle (Kanban · View) | Üretim › Kanban › Kanban Panosu (Production › Kanban › Kanban Board)
Üretim › Kanban › Kanban Kontrol Döngüleri (Production › Kanban › Kanban Control Cycles) | Read baseline (all templates) | | `erp-manufacturing-kanban.create` | Kanban · Oluştur (Kanban · Create) | — | Üretim Planlayıcı | | `erp-manufacturing-kanban.edit` | Kanban · Düzenle (Kanban · Edit) | — | Depo Memuru, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü | | `erp-manufacturing-postings.view` | Üretim Kayıtları · Görüntüle (Production Postings · View) | Üretim › Üretim Yürütme › Operasyon Teyitleri (Production › Production Execution › Operation Confirmations)
Üretim › Üretim Yürütme › Hatalı Geri Sarflar (Production › Production Execution › Failed Backflushes)
Üretim › Üretim Yürütme › Duruş Kayıtları (Production › Production Execution › Downtime Records)
Üretim › Analitik › Malzeme Tüketimi (Production › Analytics › Material Consumption)
Üretim › Analitik › Fire Raporu (Production › Analytics › Scrap Report)
Üretim › Analitik › İşçilik Raporu (Production › Analytics › Labor Report)
Üretim › Analitik › OEE Raporu (Production › Analytics › OEE Report) | Read baseline (all templates) | | `erp-manufacturing-postings.create` | Üretim Kayıtları · Oluştur (Production Postings · Create)
In the normal flow it is started from the production order detail; authorization does not depend on the order view permission. | Üretim › Üretim Yürütme › Operasyon Teyidi Gir (Production › Production Execution › Enter Operation Confirmation) | Üretim Amiri, Üretim Operatörü | | `erp-manufacturing-repetitive.view` | Seri Üretim · Görüntüle (Repetitive Manufacturing · View) | Üretim › Seri Üretim › Seri Üretim Teyitleri (Production › Repetitive Manufacturing › Repetitive Manufacturing Confirmations)
Üretim › Seri Üretim › Ürün Maliyet Toplayıcıları (Production › Repetitive Manufacturing › Product Cost Collectors) (all together) | Read baseline (all templates) | | `erp-manufacturing-repetitive.create` | Seri Üretim · Oluştur (Repetitive Manufacturing · Create)
Enters a repetitive manufacturing confirmation: backflushes the components and takes the finished product into stock. Cancellation additionally requires "Üretim Düzeltmeleri › Oluştur" (Production Corrections › Create). | Üretim › Seri Üretim › Seri Üretim Teyidi Gir (Production › Repetitive Manufacturing › Enter Repetitive Manufacturing Confirmation) | Üretim Amiri, Üretim Operatörü | | `erp-manufacturing-corrections.view` | Üretim Düzeltmeleri · Görüntüle (Production Corrections · View) | Üretim › Analitik › Çıktı Düzeltmeleri (Production › Analytics › Output Corrections) | Read baseline (all templates) | | `erp-manufacturing-corrections.create` | Üretim Düzeltmeleri · Oluştur (Production Corrections · Create)
In the normal flow it is started from the detail of the consumption/output document; authorization does not depend on the document view permission. | — | Üretim Amiri, Üretim Operatörü | ## Service | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-service-desk-tickets.view` | Servis Çağrıları · Görüntüle (Service Calls · View) | Servis › Çağrı Yönetimi › Servis Çağrıları (Service › Call Management › Service Calls)
Servis › Analitik › Servis Performansı (Service › Analytics › Service Performance)
Yönetim › Araçlar › Toplu Belge Yazdırma (Administration › Tools › Bulk Document Printing) (any one is enough) | Read baseline (all templates) | | `erp-service-desk-tickets.create` | Servis Çağrıları · Oluştur (Service Calls · Create) | Servis › Çağrı Yönetimi › Servis Çağrısı Oluştur (Service › Call Management › Create Service Call) | Servis Teknisyeni, Servis Yöneticisi | | `erp-service-desk-tickets.edit` | Servis Çağrıları · Düzenle (Service Calls · Edit)
In addition to assigning and writing replies/internal notes, it covers the entire lifecycle of the ticket: starting, resolving, closing, reopening and cancelling.
Also required in the user interface: `erp-service-desk-tickets.view` | — | Servis Teknisyeni, Servis Yöneticisi | | `erp-service-desk-teams.view` | Servis Ekipleri · Görüntüle (Service Teams · View) | Yönetim › Özelleştirme › Servis › Servis Ekipleri (Administration › Customization › Service › Service Teams) | Read baseline (all templates) | | `erp-service-desk-teams.create` | Servis Ekipleri · Oluştur (Service Teams · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-service-desk-teams.view` | — | Servis Yöneticisi | | `erp-service-desk-teams.edit` | Servis Ekipleri · Düzenle (Service Teams · Edit)
In addition to updating and deactivating the team, it covers adding/removing members and searching the user directory.
Also required in the user interface: `erp-service-desk-teams.view` | — | Servis Yöneticisi | | `erp-service-desk-sla.view` | Servis SLA Yapılandırması · Görüntüle (Service SLA Configuration · View) | Yönetim › Özelleştirme › Servis › SLA Yönetimi (Administration › Customization › Service › SLA Management) | Read baseline (all templates) | | `erp-service-desk-sla.create` | Servis SLA Yapılandırması · Oluştur (Service SLA Configuration · Create)
The record is created from the form inside the list; there is no separate creation page.
Also required in the user interface: `erp-service-desk-sla.view` | — | Servis Yöneticisi | | `erp-service-desk-sla.edit` | Servis SLA Yapılandırması · Düzenle (Service SLA Configuration · Edit)
In addition to updating the policy and the working calendar, it also covers adding and deleting holidays.
Also required in the user interface: `erp-service-desk-sla.view` | — | Servis Yöneticisi | ## Finance | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-invoicing-invoices.view` | Giden e-Faturalar · Görüntüle (Outgoing e-Invoices · View) | Satış › Faturalama › Giden e-Faturalar (Sales › Billing › Outgoing e-Invoices)
Satın Alma › İade Yönetimi › İade Faturaları (Procurement › Returns Management › Return Invoices)
Finans › e-Belge › e-Belge Kokpiti (Finance › e-Document › e-Document Cockpit)
Finans › e-Belge › Giden e-Faturalar (Finance › e-Document › Outgoing e-Invoices) | Faturalama Uzmanı, Alacak Muhasebecisi | | `erp-invoicing-invoices.create` | Giden e-Faturalar · Oluştur (Outgoing e-Invoices · Create)
Prepares an invoice draft from deliveries (same customer, same currency).
Also required in the user interface: `erp-invoicing-invoices.view` | — | Faturalama Uzmanı | | `erp-invoicing-invoices.edit` | Giden e-Faturalar · Düzenle (Outgoing e-Invoices · Edit)
Changes the draft's date, note, exchange rate and line exemption/withholding codes; deletes the draft.
Also required in the user interface: `erp-invoicing-invoices.view` | — | Faturalama Uzmanı | | `erp-invoicing-invoices.finalize` | Giden e-Faturalar · Kesinleştir (Outgoing e-Invoices · Finalize)
Finalizes the invoice and sends it to the Turkish Revenue Administration (GİB): the parties, the channel (e-Invoice / e-Archive) and the totals are frozen; a finalized invoice cannot be edited or deleted. e-Archive cancellation also uses this permission.
Also required in the user interface: `erp-invoicing-invoices.view` | — | Faturalama Uzmanı | | `erp-invoicing-incoming-invoices.view` | Gelen e-Faturalar · Görüntüle (Incoming e-Invoices · View) | Satın Alma › Tedarikçi Faturaları › Gelen e-Faturalar (Procurement › Supplier Invoices › Incoming e-Invoices)
Finans › e-Belge › Gelen e-Faturalar (Finance › e-Document › Incoming e-Invoices) | Satın Alma Uzmanı, Satın Alma Müdürü, Faturalama Uzmanı, Borç Muhasebecisi | | `erp-invoicing-incoming-invoices.edit` | Gelen e-Faturalar · Düzenle (Incoming e-Invoices · Edit)
Sends an acceptance/rejection response to a commercial invoice, links the invoice to the account record and marks it as checked.
Also required in the user interface: `erp-invoicing-incoming-invoices.view` | — | Faturalama Uzmanı, Borç Muhasebecisi | | `erp-invoicing-incoming-invoices.release` | Gelen e-Faturalar · Serbest Bırak (Incoming e-Invoices · Release) | — | Satın Alma Müdürü | | `erp-invoicing-tax-codes.view` | İstisna ve Tevkifat Kodları · Görüntüle (Exemption and Withholding Codes · View) | Yönetim › Özelleştirme › Finans › İstisna ve Tevkifat Kodları (Administration › Customization › Finance › Exemption and Withholding Codes) | Faturalama Uzmanı | | `erp-invoicing-tax-codes.create` | İstisna ve Tevkifat Kodları · Oluştur (Exemption and Withholding Codes · Create) | — | Administrator only | | `erp-invoicing-tax-codes.edit` | İstisna ve Tevkifat Kodları · Düzenle (Exemption and Withholding Codes · Edit) | — | Administrator only | | `erp-invoicing-references.view` | Fatura Referansları · Görüntüle (Invoice References · View) | Satış › Faturalama › Faturalanmamış Teslimatlar (Sales › Billing › Unbilled Deliveries)
Satın Alma › Tedarikçi Faturaları › Faturalanmamış Kabuller (Procurement › Supplier Invoices › Uninvoiced Receipts)
Finans › Genel Muhasebe › Fatura Referansları (Finance › General Ledger Accounting › Invoice References) | Read baseline (all templates) | | `erp-invoicing-references.create` | Fatura Referansları · Oluştur (Invoice References · Create) | — | Faturalama Uzmanı | | `erp-invoicing-references.edit` | Fatura Referansları · Düzenle (Invoice References · Edit) | — | Faturalama Uzmanı | | `erp-invoicing-references.delete` | Fatura Referansları · Sil (Invoice References · Delete) | — | Faturalama Uzmanı | | `erp-invoicing-tolerances.view` | Fatura Doğrulama Toleransları · Görüntüle (Invoice Verification Tolerances · View) | Yönetim › Özelleştirme › Finans › Fatura Doğrulama Toleransları (Administration › Customization › Finance › Invoice Verification Tolerances) | Administrator only | | `erp-invoicing-tolerances.edit` | Fatura Doğrulama Toleransları · Düzenle (Invoice Verification Tolerances · Edit) | — | Administrator only | | `erp-receivables-ledger.view` | Cari Alt Defter (Alacak Hesapları) · Görüntüle (Customer Subledger (Accounts Receivable) · View) | Finans › Alacak Hesapları › Müşteri Bakiyeleri (Finance › Accounts Receivable › Customer Balances)
Finans › Alacak Hesapları › Müşteri Açık Kalemleri (Finance › Accounts Receivable › Customer Open Items)
Finans › Alacak Hesapları › Yaşlandırma (Finance › Accounts Receivable › Aging)
Finans › Alacak Hesapları › Hesap Ekstresi (Finance › Accounts Receivable › Account Statement)
Finans › Alacak Hesapları › Açılış Bakiyesi Aktarımı (Finance › Accounts Receivable › Opening Balance Import)
Finans › Alacak Hesapları › Müşteri Mutabakatları (Finance › Accounts Receivable › Customer Reconciliations)
Finans › Gelen Ödemeler › Müşteri Kur Farkları (Finance › Incoming Payments › Customer Exchange Differences)
Finans › İhtar › İhtar Mektupları (Finance › Dunning › Dunning Letters)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Satış Temsilcisi, Satış Müdürü, Alacak Muhasebecisi, Nakit Yöneticisi, Kredi Yöneticisi, Genel Muhasebe Uzmanı | | `erp-receivables-ledger.create` | Cari Alt Defter (Alacak Hesapları) · Oluştur (Customer Subledger (Accounts Receivable) · Create) | Finans › Gelen Ödemeler › Müşteri Kur Farkı Hesapla (Finance › Incoming Payments › Calculate Customer Exchange Difference)
Finans › İhtar › İhtar Mektubu Oluştur (Finance › Dunning › Create Dunning Letter) | Alacak Muhasebecisi | | `erp-receivables-payments.view` | Gelen Ödemeler ve Eşleştirme · Görüntüle (Incoming Payments and Clearing · View) | Finans › Gelen Ödemeler › Gelen Ödemeler (Finance › Incoming Payments › Incoming Payments) | Alacak Muhasebecisi | | `erp-receivables-payments.create` | Gelen Ödemeler ve Eşleştirme · Oluştur (Incoming Payments and Clearing · Create) | Finans › Gelen Ödemeler › Gelen Ödeme Oluştur (Finance › Incoming Payments › Create Incoming Payment)
Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Alacak Muhasebecisi | | `erp-receivables-payments.edit` | Gelen Ödemeler ve Eşleştirme · Düzenle (Incoming Payments and Clearing · Edit) | — | Alacak Muhasebecisi | | `erp-receivables-credit.view` | Kredi Yönetimi · Görüntüle (Credit Management · View) | Finans › Kredi Yönetimi › Kredi Hesapları (Finance › Credit Management › Credit Accounts)
Finans › Kredi Yönetimi › Kredi Blokeli Satış Siparişleri (Finance › Credit Management › Credit-Blocked Sales Orders)
Yönetim › Özelleştirme › Finans › Kredi Kontrol Kuralları (Administration › Customization › Finance › Credit Control Rules) | Satış Temsilcisi, Satış Müdürü, Alacak Muhasebecisi, Kredi Yöneticisi | | `erp-receivables-credit.edit` | Kredi Yönetimi · Düzenle (Credit Management · Edit) | — | Kredi Yöneticisi | | `erp-receivables-credit.release` | Kredi Yönetimi · Serbest Bırak (Credit Management · Release) | — | Kredi Yöneticisi | | `erp-receivables-memos.view` | Alacak/Borç Dekontu · Görüntüle (Credit/Debit Memo · View) | Finans › Alacak Hesapları › Alacak/Borç Dekontu Talepleri (Finance › Accounts Receivable › Credit/Debit Memo Requests) | Satış Temsilcisi, Alacak Muhasebecisi | | `erp-receivables-memos.create` | Alacak/Borç Dekontu · Oluştur (Credit/Debit Memo · Create) | Finans › Alacak Hesapları › Alacak/Borç Dekontu Talebi Oluştur (Finance › Accounts Receivable › Create Credit/Debit Memo Request)
Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Satış Temsilcisi, Alacak Muhasebecisi | | `erp-receivables-memos.approve` | Alacak/Borç Dekontu · Onayla (Credit/Debit Memo · Approve) | — | Alacak Muhasebecisi | | `erp-payables-ledger.view` | Satıcı Alt Defteri (Borç Hesapları) · Görüntüle (Vendor Subledger (Accounts Payable) · View) | Finans › Borç Hesapları › Satıcı Bakiyeleri (Finance › Accounts Payable › Vendor Balances)
Finans › Borç Hesapları › Satıcı Açık Kalemleri (Finance › Accounts Payable › Vendor Open Items)
Finans › Borç Hesapları › Borç Yaşlandırması (Finance › Accounts Payable › Payables Aging)
Finans › Borç Hesapları › Satıcı Hesap Ekstresi (Finance › Accounts Payable › Vendor Account Statement)
Finans › Borç Hesapları › Satıcı Açılış Bakiyesi Aktarımı (Finance › Accounts Payable › Vendor Opening Balance Import)
Finans › Borç Hesapları › Satıcı Mutabakatları (Finance › Accounts Payable › Vendor Reconciliations)
Finans › Giden Ödemeler › Satıcı Kur Farkları (Finance › Outgoing Payments › Vendor Exchange Differences)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Borç Muhasebecisi, Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-payables-ledger.create` | Satıcı Alt Defteri (Borç Hesapları) · Oluştur (Vendor Subledger (Accounts Payable) · Create) | Finans › Giden Ödemeler › Satıcı Kur Farkı Hesapla (Finance › Outgoing Payments › Calculate Vendor Exchange Difference) | Borç Muhasebecisi | | `erp-payables-payments.view` | Giden Ödemeler ve Eşleştirme · Görüntüle (Outgoing Payments and Clearing · View) | Finans › Giden Ödemeler › Giden Ödemeler (Finance › Outgoing Payments › Outgoing Payments) | Borç Muhasebecisi | | `erp-payables-payments.create` | Giden Ödemeler ve Eşleştirme · Oluştur (Outgoing Payments and Clearing · Create) | Finans › Giden Ödemeler › Giden Ödeme Oluştur (Finance › Outgoing Payments › Create Outgoing Payment)
Finans › Giden Ödemeler › Ödeme Önerisi (Finance › Outgoing Payments › Payment Proposal) | Borç Muhasebecisi | | `erp-payables-payments.edit` | Giden Ödemeler ve Eşleştirme · Düzenle (Outgoing Payments and Clearing · Edit) | — | Borç Muhasebecisi | | `erp-treasury-accounts.view` | Banka ve Kasa Hesapları · Görüntüle (Bank and Cash Accounts · View) | Finans › Banka ve Kasa › Banka ve Kasa Hesapları (Finance › Bank and Cash › Bank and Cash Accounts)
Finans › Banka ve Kasa › Likidite Tahmini (Finance › Bank and Cash › Liquidity Forecast) | Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-treasury-accounts.create` | Banka ve Kasa Hesapları · Oluştur (Bank and Cash Accounts · Create) | — | Nakit Yöneticisi | | `erp-treasury-accounts.edit` | Banka ve Kasa Hesapları · Düzenle (Bank and Cash Accounts · Edit) | — | Nakit Yöneticisi | | `erp-treasury-transactions.view` | Banka/Kasa Hareketleri · Görüntüle (Bank/Cash Transactions · View) | Finans › Banka ve Kasa › Banka/Kasa Hareketleri (Finance › Bank and Cash › Bank/Cash Transactions) | Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-treasury-transactions.create` | Banka/Kasa Hareketleri · Oluştur (Bank/Cash Transactions · Create) | Finans › Banka ve Kasa › Banka/Kasa Hareketi Oluştur (Finance › Bank and Cash › Create Bank/Cash Transaction) | Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-treasury-statements.view` | Banka Ekstreleri ve Mutabakat · Görüntüle (Bank Statements and Reconciliation · View) | Finans › Banka ve Kasa › Banka Ekstreleri (Finance › Bank and Cash › Bank Statements)
Finans › Banka ve Kasa › Ekstre Eşleştirme Kuralları (Finance › Bank and Cash › Statement Matching Rules)
Finans › Banka ve Kasa › Ekstre Biçimleri (Finance › Bank and Cash › Statement Formats) | Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-treasury-statements.create` | Banka Ekstreleri ve Mutabakat · Oluştur (Bank Statements and Reconciliation · Create) | — | Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi | | `erp-treasury-statements.edit` | Banka Ekstreleri ve Mutabakat · Düzenle (Bank Statements and Reconciliation · Edit) | — | Nakit Yöneticisi | | `erp-treasury-instruments.view` | Çek ve Senet Portföyü · Görüntüle (Check and Promissory Note Portfolio · View) | Finans › Çek ve Senet › Çek/Senet Portföyü (Finance › Checks and Notes › Check/Note Portfolio)
Finans › Çek ve Senet › Çek/Senet Bordroları (Finance › Checks and Notes › Check/Note Transmittals)
Finans › Çek ve Senet › Çek Defterleri (Finance › Checks and Notes › Checkbooks) | Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi | | `erp-treasury-instruments.create` | Çek ve Senet Portföyü · Oluştur (Check and Promissory Note Portfolio · Create) | Finans › Çek ve Senet › Alınan Çek/Senet Girişi (Finance › Checks and Notes › Received Check/Note Entry)
Finans › Çek ve Senet › Verilen Çek/Senet Çıkışı (Finance › Checks and Notes › Issued Check/Note Output) | Alacak Muhasebecisi, Borç Muhasebecisi | | `erp-treasury-instruments.edit` | Çek ve Senet Portföyü · Düzenle (Check and Promissory Note Portfolio · Edit) | Yönetim › Araçlar › Toplu Belge Gönderimi (Administration › Tools › Bulk Document Sending) (any one is enough) | Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi | | `erp-fixed-assets.view` | Duran Varlık Muhasebesi · Görüntüle (Fixed Asset Accounting · View) | Finans › Duran Varlık Muhasebesi › Duran Varlıklar (Finance › Fixed Asset Accounting › Fixed Assets)
Finans › Duran Varlık Muhasebesi › Amortisman Koşuları (Finance › Fixed Asset Accounting › Depreciation Runs)
Finans › Duran Varlık Muhasebesi › Duran Varlık Hareket Tablosu (Finance › Fixed Asset Accounting › Fixed Asset Movement Schedule)
Yönetim › Özelleştirme › Finans › Duran Varlık Sınıfları (Administration › Customization › Finance › Fixed Asset Classes) | Genel Muhasebe Uzmanı | | `erp-fixed-assets.create` | Duran Varlık Muhasebesi · Oluştur (Fixed Asset Accounting · Create) | Finans › Duran Varlık Muhasebesi › Duran Varlık Oluştur (Finance › Fixed Asset Accounting › Create Fixed Asset)
Finans › Duran Varlık Muhasebesi › Amortisman Koşusu Yap (Finance › Fixed Asset Accounting › Run Depreciation) | Genel Muhasebe Uzmanı | | `erp-fixed-assets.edit` | Duran Varlık Muhasebesi · Düzenle (Fixed Asset Accounting · Edit) | — | Genel Muhasebe Uzmanı | ## Accounting Periods | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-accounting-posting-periods.view` | Kayıt Dönemleri · Görüntüle (Posting Periods · View) | Finans › Dönem Sonu Kapanışı › Kayıt Dönemleri (Finance › Period-End Closing › Posting Periods) | Read baseline (all templates) | | `erp-accounting-posting-periods.close` | Kayıt Dönemleri · Kapat (Posting Periods · Close)
Closes the selected month and the months before it: no document or stock movement can be posted to a closed month — not even by a user with the backdating permission.
Also required in the user interface: `erp-accounting-posting-periods.view` | — | Genel Muhasebe Uzmanı | | `erp-accounting-posting-periods.reopen` | Kayıt Dönemleri · Yeniden Aç (Posting Periods · Reopen)
Reopens closed months starting from the selected month. A reason is mandatory, and who reopened it, when and why is shown on the period screen.
Also required in the user interface: `erp-accounting-posting-periods.view` | — | Genel Muhasebe Uzmanı | | `erp-accounting-posting-periods.backdate` | Kayıt Dönemleri · Geçmiş Tarihli Kayıt (Posting Periods · Backdated Posting)
Allows posting documents dated earlier than today in an open period. A user without this permission creates documents only with today's date; this permission does not get through to a closed month either. | — | Genel Muhasebe Uzmanı | | `erp-accounting-exchange-rates.view` | Döviz Kurları · Görüntüle (Exchange Rates · View) | Finans › Genel Muhasebe › Döviz Kurları (Finance › General Ledger Accounting › Exchange Rates) | Read baseline (all templates) | | `erp-accounting-exchange-rates.create` | Döviz Kurları · Oluştur (Exchange Rates · Create) | — | Alacak Muhasebecisi, Borç Muhasebecisi | ## General Ledger | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-accounting-gl-accounts.view` | Hesap Planı · Görüntüle (Chart of Accounts · View) | Finans › Genel Muhasebe › Hesap Planı (Finance › General Ledger Accounting › Chart of Accounts) | Read baseline (all templates) | | `erp-accounting-gl-accounts.create` | Hesap Planı · Oluştur (Chart of Accounts · Create) | — | Genel Muhasebe Uzmanı | | `erp-accounting-gl-accounts.edit` | Hesap Planı · Düzenle (Chart of Accounts · Edit) | — | Genel Muhasebe Uzmanı | | `erp-accounting-fiscal-years.view` | Mali Yıllar ve Dönemler · Görüntüle (Fiscal Years and Periods · View) | Yönetim › Özelleştirme › Finans › Mali Yıllar ve Dönemler (Administration › Customization › Finance › Fiscal Years and Periods) | Read baseline (all templates) | | `erp-accounting-fiscal-years.create` | Mali Yıllar ve Dönemler · Oluştur (Fiscal Years and Periods · Create) | — | Genel Muhasebe Uzmanı | | `erp-accounting-journal-entries.view` | Yevmiye Fişleri · Görüntüle (Journal Entries · View) | Finans › Masraf Yeri Muhasebesi › Masraf Yeri Gerçekleşenleri (Finance › Cost Center Accounting › Cost Center Actuals)
Finans › Genel Muhasebe › Yevmiye Fişleri (Finance › General Ledger Accounting › Journal Entries)
Finans › Genel Muhasebe › Büyük Defter (Finance › General Ledger Accounting › General Ledger)
Finans › Genel Muhasebe › Mizan (Finance › General Ledger Accounting › Trial Balance)
Finans › Dönem Sonu Kapanışı › Kapanış Kontrol Listesi (Finance › Period-End Closing › Closing Checklist)
Finans › Dönem Sonu Kapanışı › Alt Defter Mutabakatı (Finance › Period-End Closing › Subledger Reconciliation)
Finans › Dönem Sonu Kapanışı › Kur Değerlemeleri (Finance › Period-End Closing › Foreign Currency Valuations)
Finans › Dönem Sonu Kapanışı › Yansıtma Kayıtları (Finance › Period-End Closing › Allocation Postings)
Finans › Dönem Sonu Kapanışı › Yıl Sonu Kapanışı (Finance › Period-End Closing › Year-End Closing)
Finans › Yasal Raporlama › Bilanço (Finance › Statutory Reporting › Balance Sheet)
Finans › Yasal Raporlama › Gelir Tablosu (Finance › Statutory Reporting › Income Statement) | Denetçi (Salt Okunur), Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-accounting-journal-entries.create` | Yevmiye Fişleri · Oluştur (Journal Entries · Create) | Finans › Genel Muhasebe › Yevmiye Fişi Oluştur (Finance › General Ledger Accounting › Create Journal Entry)
Finans › Dönem Sonu Kapanışı › Kur Değerlemesi Yap (Finance › Period-End Closing › Run Foreign Currency Valuation)
Finans › Dönem Sonu Kapanışı › Yansıtma Yap (Finance › Period-End Closing › Run Allocation)
Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Genel Muhasebe Uzmanı | | `erp-accounting-journal-entries.approve` | Yevmiye Fişleri · Onayla (Journal Entries · Approve) | — | Genel Muhasebe Uzmanı | | `erp-accounting-account-determination.view` | Hesap Belirleme · Görüntüle (Account Determination · View) | Yönetim › Özelleştirme › Finans › Hesap Belirleme (Administration › Customization › Finance › Account Determination) | Read baseline (all templates) | | `erp-accounting-account-determination.edit` | Hesap Belirleme · Düzenle (Account Determination · Edit) | — | Genel Muhasebe Uzmanı | | `erp-accounting-events.view` | Muhasebeleşmemiş Olaylar · Görüntüle (Unposted Accounting Events · View) | Finans › Genel Muhasebe › Muhasebeleşmemiş Olaylar (Finance › General Ledger Accounting › Unposted Accounting Events) | Denetçi (Salt Okunur), Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-accounting-events.edit` | Muhasebeleşmemiş Olaylar · Düzenle (Unposted Accounting Events · Edit) | — | Genel Muhasebe Uzmanı | | `erp-accounting-tax-reports.view` | Vergi Raporları (KDV) · Görüntüle (Tax Reports (VAT) · View) | Finans › Yasal Raporlama › KDV Raporu (Finance › Statutory Reporting › VAT Report) | Denetçi (Salt Okunur), Nakit Yöneticisi, Genel Muhasebe Uzmanı | | `erp-controlling-cost-centers.view` | Masraf Yerleri · Görüntüle (Cost Centers · View) | Finans › Masraf Yeri Muhasebesi › Masraf Yerleri (Finance › Cost Center Accounting › Cost Centers)
Finans › Masraf Yeri Muhasebesi › Masraf Yeri Gerçekleşenleri (Finance › Cost Center Accounting › Cost Center Actuals) (all together) | Read baseline (all templates) | | `erp-controlling-cost-centers.create` | Masraf Yerleri · Oluştur (Cost Centers · Create) | — | Genel Muhasebe Uzmanı | | `erp-controlling-cost-centers.edit` | Masraf Yerleri · Düzenle (Cost Centers · Edit) | — | Genel Muhasebe Uzmanı | ## e-Document | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-edocuments-settings.view` | e-Belge Ayarları · Görüntüle (e-Document Settings · View) | Yönetim › Özelleştirme › Finans › e-Belge Ayarları (Administration › Customization › Finance › e-Document Settings) | Administrator only | | `erp-edocuments-settings.edit` | e-Belge Ayarları · Düzenle (e-Document Settings · Edit)
Writes the integrator addresses, user name, password, labels and series. Turning on the e-Document or putting it live additionally requires the "Etkinleştir" (Activate) permission.
Also required in the user interface: `erp-edocuments-settings.view` | — | Administrator only | | `erp-edocuments-settings.activate` | e-Belge Ayarları · Etkinleştir (e-Document Settings · Activate)
Turns on the e-Document and puts it live. Every document sent in the live environment goes to the Turkish Revenue Administration (GİB) as a real document and cannot be undone.
Also required in the user interface: `erp-edocuments-settings.edit` | — | Administrator only | | `erp-edocuments-despatches.view` | Giden e-İrsaliyeler · Görüntüle (Outgoing e-Waybills · View) | Lojistik Yönetimi › Giden Teslimat › Giden e-İrsaliyeler (Logistics Management › Outbound Delivery › Outgoing e-Waybills)
Finans › e-Belge › Giden e-İrsaliyeler (Finance › e-Document › Outgoing e-Waybills) | Satış Temsilcisi, Depo Memuru | | `erp-edocuments-despatches.create` | Giden e-İrsaliyeler · Oluştur (Outgoing e-Waybills · Create)
Prepares an e-Waybill draft from a delivery.
Also required in the user interface: `erp-edocuments-despatches.view` | — | Depo Memuru | | `erp-edocuments-despatches.edit` | Giden e-İrsaliyeler · Düzenle (Outgoing e-Waybills · Edit)
Enters the transport information (driver, license plate, shipping time) and sends the e-Waybill to the Turkish Revenue Administration (GİB).
Also required in the user interface: `erp-edocuments-despatches.view` | — | Depo Memuru | | `erp-edocuments-incoming-despatches.view` | Gelen e-İrsaliyeler · Görüntüle (Incoming e-Waybills · View) | Lojistik Yönetimi › Gelen Teslimat › Gelen e-İrsaliyeler (Logistics Management › Inbound Delivery › Incoming e-Waybills)
Finans › e-Belge › Gelen e-İrsaliyeler (Finance › e-Document › Incoming e-Waybills) | Satın Alma Uzmanı, Depo Memuru | | `erp-edocuments-incoming-despatches.edit` | Gelen e-İrsaliyeler · Düzenle (Incoming e-Waybills · Edit)
Responds to an incoming waybill (accept / partially accept / reject) and matches it with the goods receipt.
Also required in the user interface: `erp-edocuments-incoming-despatches.view` | — | Depo Memuru | ## Approval Process | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `erp-approval-templates.view` | Onay Şablonları · Görüntüle (Approval Templates · View) | Yönetim › Onay Süreci › Onay Şablonları (Administration › Approval Process › Approval Templates) | Read baseline (all templates) | | `erp-approval-templates.create` | Onay Şablonları · Oluştur (Approval Templates · Create) | — | Administrator only | | `erp-approval-templates.edit` | Onay Şablonları · Düzenle (Approval Templates · Edit) | Yönetim › Onay Süreci › Onay Vekaletleri (Administration › Approval Process › Approval Delegations) (any one is enough) | Administrator only | | `erp-approval-templates.delete` | Onay Şablonları · Sil (Approval Templates · Delete) | — | Administrator only | ## Administration | Permission key | Resource · Action | Menu screen it opens | Role templates | |---|---|---|---| | `users.view` | Kullanıcılar · Görüntüle (Users · View) | Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) | Administrator only | | `users.create` | Kullanıcılar · Oluştur (Users · Create) | — | Administrator only | | `users.edit` | Kullanıcılar · Düzenle (Users · Edit) | — | Administrator only | | `users.delete` | Kullanıcılar · Sil (Users · Delete) | — | Administrator only | | `users.import` | Kullanıcılar · İçe Aktar (Users · Import) | Yönetim › Araçlar › Veri Aktarımı (Administration › Tools › Data Import) (any one is enough) | Administrator only | | `roles.view` | Roller · Görüntüle (Roles · View) | Yönetim › Kullanıcı ve Roller › Roller (Administration › Users and Roles › Roles) | Administrator only | | `roles.create` | Roller · Oluştur (Roles · Create) | — | Administrator only | | `roles.edit` | Roller · Düzenle (Roles · Edit) | — | Administrator only | | `roles.delete` | Roller · Sil (Roles · Delete) | — | Administrator only | | `organization.view` | Organizasyon Şeması · Görüntüle (Organization Chart · View) | Yönetim › Kullanıcı ve Roller › Çalışanlar (Administration › Users and Roles › Employees)
Yönetim › Özelleştirme › Kuruluş Yapısı › Organizasyon Şeması (Administration › Customization › Organizational Structure › Organization Chart) | Administrator only | | `organization.create` | Organizasyon Şeması · Oluştur (Organization Chart · Create) | — | Administrator only | | `organization.edit` | Organizasyon Şeması · Düzenle (Organization Chart · Edit) | — | Administrator only | | `organization.delete` | Organizasyon Şeması · Sil (Organization Chart · Delete) | — | Administrator only | | `company-profile.view` | Şirket Bilgileri · Görüntüle (Company Information · View) | Yönetim › Özelleştirme › Kuruluş Yapısı › Şirket Bilgileri (Administration › Customization › Organizational Structure › Company Information)
Yönetim › Özelleştirme › Genel › Görünüm (Administration › Customization › General › Appearance)
Yönetim › Özelleştirme › Genel › Para Birimleri (Administration › Customization › General › Currencies)
Yönetim › Özelleştirme › Genel › Modül Yönetimi (Administration › Customization › General › Module Management)
Yönetim › Özelleştirme › Genel › Form Şablonları (Administration › Customization › General › Form Templates)
Yönetim › Özelleştirme › Genel › Etiket Ölçüleri (Administration › Customization › General › Label Sizes) | Administrator only | | `company-profile.edit` | Şirket Bilgileri · Düzenle (Company Information · Edit) | — | Administrator only | | `audit.view` | İşlem Kayıtları · Görüntüle (Audit Log · View) | Yönetim › İzleme › İşlem Kayıtları (Administration › Monitoring › Audit Log)
Yönetim › İzleme › Erişim Günlüğü (Administration › Monitoring › Access Log) | Denetçi (Salt Okunur) | | `outbox.view` | Gönderim Kuyruğu · Görüntüle (Dispatch Queue · View) | Yönetim › İzleme › Gönderim Kuyruğu (Administration › Monitoring › Dispatch Queue) | Administrator only | | `outbox.edit` | Gönderim Kuyruğu · Düzenle (Dispatch Queue · Edit)
Requeues a message that could not be sent (e.g. an email that failed before SMTP was configured).
Also required in the user interface: `outbox.view` | — | Administrator only | | `alerts.view` | Uyarı ve Bildirim Yönetimi · Görüntüle (Alert and Notification Management · View) | Yönetim › Özelleştirme › Genel › Uyarı ve Bildirim Yönetimi (Administration › Customization › General › Alert and Notification Management) | Administrator only | | `alerts.edit` | Uyarı ve Bildirim Yönetimi · Düzenle (Alert and Notification Management · Edit) | — | Administrator only | | `email-settings.view` | E-posta Ayarları · Görüntüle (Email Settings · View) | Yönetim › Özelleştirme › Genel › E-posta Ayarları (Administration › Customization › General › Email Settings)
Yönetim › Özelleştirme › Genel › Çıktı Belirleme (Administration › Customization › General › Output Determination) | Administrator only | | `email-settings.edit` | E-posta Ayarları · Düzenle (Email Settings · Edit) | — | Administrator only | ## Permissions not shown in the role window Permissions that are in the server catalog but are not attached to any section of the permission tree in the role window. They are not drawn in the tree; only the **Yönetici** (Administrator) role holds them (role templates that also include them are listed on the right). | Permission key | Menu screen it opens | Role templates | |---|---|---| | `erp-inventory-quality-notifications.create` | — | Satın Alma Uzmanı, Satış Temsilcisi, Depo Memuru, Kalite Uzmanı, Üretim Amiri, Üretim Operatörü | | `erp-inventory-quality-notifications.edit` | — | Kalite Uzmanı | | `erp-inventory-quality-notifications.view` | Stok Yönetimi › Kalite Yönetimi › Kalite Bildirimleri (Inventory › Quality Management › Quality Notifications) | Denetçi (Salt Okunur), Ürün Ana Veri Uzmanı, İş Ortağı Ana Veri Uzmanı, Satın Alma Uzmanı, Satın Alma Müdürü, Satış Temsilcisi, Satış Müdürü, Depo Elemanı, Depo Memuru, Stok Yöneticisi, Kalite Uzmanı, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü, Taşıma Planlayıcı, Bakım Planlayıcı, Bakım Teknisyeni, Faturalama Uzmanı, Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi, Kredi Yöneticisi, Genel Muhasebe Uzmanı, Servis Teknisyeni, Servis Yöneticisi | | `erp-maintenance-notifications.create` | Bakım › Arıza ve Bakım › Arıza Bildir (Maintenance › Malfunctions and Maintenance › Report Malfunction) | Üretim Amiri, Üretim Operatörü, Bakım Planlayıcı, Bakım Teknisyeni | | `erp-maintenance-notifications.edit` | — | Bakım Planlayıcı | | `erp-maintenance-notifications.view` | Bakım › Arıza ve Bakım › Bakım Bildirimleri (Maintenance › Malfunctions and Maintenance › Maintenance Notifications) | Denetçi (Salt Okunur), Ürün Ana Veri Uzmanı, İş Ortağı Ana Veri Uzmanı, Satın Alma Uzmanı, Satın Alma Müdürü, Satış Temsilcisi, Satış Müdürü, Depo Elemanı, Depo Memuru, Stok Yöneticisi, Kalite Uzmanı, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü, Taşıma Planlayıcı, Bakım Planlayıcı, Bakım Teknisyeni, Faturalama Uzmanı, Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi, Kredi Yöneticisi, Genel Muhasebe Uzmanı, Servis Teknisyeni, Servis Yöneticisi | | `erp-maintenance-orders.create` | Bakım › Arıza ve Bakım › Bakım Emri Oluştur (Maintenance › Malfunctions and Maintenance › Create Maintenance Order) | Bakım Planlayıcı | | `erp-maintenance-orders.edit` | — | Bakım Planlayıcı, Bakım Teknisyeni | | `erp-maintenance-orders.view` | Bakım › Arıza ve Bakım › Bakım Emirleri (Maintenance › Malfunctions and Maintenance › Maintenance Orders)
Bakım › Analitik › Bakım Analitiği (Maintenance › Analytics › Maintenance Analytics) | Bakım Planlayıcı, Bakım Teknisyeni | | `erp-maintenance-plans.create` | Bakım › Önleyici Bakım › Bakım Planı Oluştur (Maintenance › Preventive Maintenance › Create Maintenance Plan) | Bakım Planlayıcı | | `erp-maintenance-plans.edit` | — | Bakım Planlayıcı | | `erp-maintenance-plans.view` | Bakım › Önleyici Bakım › Bakım Planları (Maintenance › Preventive Maintenance › Maintenance Plans)
Bakım › Önleyici Bakım › Görev Listeleri (Maintenance › Preventive Maintenance › Task Lists) | Bakım Planlayıcı | | `erp-maintenance-technical-objects.create` | Bakım › Teknik Objeler › Ekipman Oluştur (Maintenance › Technical Objects › Create Equipment) | Bakım Planlayıcı | | `erp-maintenance-technical-objects.edit` | — | Bakım Planlayıcı, Bakım Teknisyeni | | `erp-maintenance-technical-objects.view` | Bakım › Teknik Objeler › Ekipmanlar (Maintenance › Technical Objects › Equipment)
Bakım › Teknik Objeler › Fonksiyonel Yerler (Maintenance › Technical Objects › Functional Locations) | Denetçi (Salt Okunur), Ürün Ana Veri Uzmanı, İş Ortağı Ana Veri Uzmanı, Satın Alma Uzmanı, Satın Alma Müdürü, Satış Temsilcisi, Satış Müdürü, Depo Elemanı, Depo Memuru, Stok Yöneticisi, Kalite Uzmanı, Üretim Planlayıcı, Üretim Amiri, Üretim Operatörü, Taşıma Planlayıcı, Bakım Planlayıcı, Bakım Teknisyeni, Faturalama Uzmanı, Alacak Muhasebecisi, Borç Muhasebecisi, Nakit Yöneticisi, Kredi Yöneticisi, Genel Muhasebe Uzmanı, Servis Teknisyeni, Servis Yöneticisi | --- # Role examples > The 26 predefined role templates and eight role recipes — sales representative, sales manager, purchasing specialist, warehouse supervisor, production planner, production operator, read-only auditor, system administrator — with their permission keys. URL: https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri - **Type:** Guide - **Module:** Administration CoreX ERP is installed with 26 predefined roles. In most organizations, instead of designing a new role, it is enough to assign a predefined role or to **Kopyala** (Copy) it and narrow it down. This page lists the predefined roles and gives recipes for the eight most frequently requested roles, with their permission keys. Concepts: [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). All keys: [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi). ## Predefined roles The figures are taken from the **Roller** (Roles) screen and the role template list of the demo installation (a catalog of 397 permissions). "Screen catalog" is the number of screens the role shows in the menu. | Role | Area · Level | Permissions | Screen catalog | What it does (template description) | |---|---|---|---|---| | Yönetici (Administrator) | Yönetim · Yönetim (Administration · Executive) | 397 | All screens | Technical setup and user management — all permissions; daily operations are done with a separate account. | | Denetçi (Salt Okunur) (Auditor (Read-Only)) | Yönetim · Yönetim (Administration · Executive) | 97 | All screens | Reads all ERP lists and the audit trail; cannot write any document. | | Ürün Ana Veri Uzmanı (Item Master Data Specialist) | Ana Veriler · Eleman (Master Data · Staff) | 139 | 28 screens | Maintains item master data, classification and setup dictionaries; does not write documents or account records. | | İş Ortağı Ana Veri Uzmanı (Business Partner Master Data Specialist) | Ana Veriler · Eleman (Master Data · Staff) | 96 | 10 screens | Maintains the identity of business partner records; does not write commercial or inventory documents. | | Satın Alma Uzmanı (Purchasing Specialist) | Satın Alma · Eleman (Purchasing · Staff) | 131 | 47 screens | Requests quotations, sets supplier conditions, writes orders and submits them for approval; does not receive goods or approve. | | Satın Alma Müdürü (Purchasing Manager) | Satın Alma · Müdür (Purchasing · Manager) | 99 | 18 screens | Approves purchase orders and requisitions, removes payment blocks; does not write orders. | | Satış Temsilcisi (Sales Representative) | Satış · Eleman (Sales · Staff) | 114 | 31 screens | Writes quotations, orders, returns and reversals; does not approve, does not write price lists, does not issue goods. | | Satış Müdürü (Sales Manager) | Satış · Müdür (Sales · Manager) | 110 | 33 screens | Approves quotations and return requests, writes price lists and rebates; does not write documents. | | Depo Elemanı (Warehouse Worker) | Stok ve Depo · Eleman (Inventory and Warehouse · Staff) | 95 | 4 screens | Confirms, moves and counts warehouse tasks on the handheld terminal; does not write documents. | | Depo Memuru (Warehouse Clerk) | Stok ve Depo · Eleman (Inventory and Warehouse · Staff) | 119 | 41 screens | Writes goods receipts, deliveries, count entries, transfers and warehouse tasks; does not correct stock differences. | | Stok Yöneticisi (Inventory Manager) | Stok ve Depo · Müdür (Inventory and Warehouse · Manager) | 121 | 51 screens | Writes opening balances, count differences, scrap, movements without reference documents, batches and valuation; does not write commercial documents. | | Kalite Uzmanı (Quality Specialist) | Kalite · Eleman (Quality · Staff) | 98 | 11 screens | Writes inspection lot results, inspection plans and usage decisions; does not accept goods. | | Üretim Planlayıcı (Production Planner) | Üretim · Eleman (Production · Staff) | 119 | 38 screens | Plans bills of materials, routings, work centers, MRP and production orders; does not enter shop floor postings. | | Üretim Amiri (Production Supervisor) | Üretim · Müdür (Production · Manager) | 103 | 24 screens | Executes orders, schedules them on capacity, corrects faulty postings and backflushes; does not write master data. | | Üretim Operatörü (Production Operator) | Üretim · Eleman (Production · Staff) | 101 | 10 screens | Enters consumption, output and confirmations on the shop floor; does not change orders or bills of materials. | | Taşıma Planlayıcı (Transport Planner) | Lojistik · Eleman (Logistics · Staff) | 116 | 27 screens | Runs fleet, carriers, shipments, freight and tenders; does not write deliveries. | | Bakım Planlayıcı (Maintenance Planner) | Bakım · Müdür (Maintenance · Manager) | 103 | 11 screens | Manages technical objects, notifications, maintenance orders and preventive maintenance plans. | | Bakım Teknisyeni (Maintenance Technician) | Bakım · Eleman (Maintenance · Staff) | 97 | 5 screens | Reports malfunctions, confirms maintenance orders, reads counters; does not open orders. | | Faturalama Uzmanı (Invoicing Specialist) | Finans · Eleman (Finance · Staff) | 103 | 22 screens | Issues outgoing invoices, writes invoice references and responses to incoming invoices. | | Alacak Muhasebecisi (Receivables Accountant) | Finans · Eleman (Finance · Staff) | 111 | 24 screens | Runs the customer subledger, collections and clearing, approves memos; does not issue invoices. | | Borç Muhasebecisi (Payables Accountant) | Finans · Eleman (Finance · Staff) | 107 | 26 screens | Links incoming invoices to receipt documents and posts them, runs vendor payments and clearing; does not remove price difference blocks. | | Nakit Yöneticisi (Cash Manager) | Finans · Eleman (Finance · Staff) | 108 | 18 screens | Defines bank and cash accounts, enters cash/bank transactions and transfers, uploads and matches bank statements; does not write account payments. | | Kredi Yöneticisi (Credit Manager) | Finans · Müdür (Finance · Manager) | 97 | 11 screens | Sets credit limits and risk classes, removes blocks. | | Genel Muhasebe Uzmanı (General Ledger Specialist) | Finans · Eleman (Finance · Staff) | 117 | 44 screens | Manages the sub-accounts of the chart of accounts and the fiscal year; sees the subledgers but does not write to them. | | Servis Teknisyeni (Service Technician) | Servis · Eleman (Service · Staff) | 97 | 6 screens | Opens and processes service calls; does not configure teams and SLAs. | | Servis Yöneticisi (Service Manager) | Servis · Müdür (Service · Manager) | 99 | 9 screens | Runs service calls, configures teams and SLAs. | Every template other than Administrator carries the **read baseline** (93 view permissions); the recipes list only the permissions **above** the read baseline. The list of the read baseline: [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi) — the rows with "Read baseline" in the "Role templates" column. ## Apply a recipe The shortest path is the same for every recipe: 1. **Yönetim › Kullanıcı ve Roller › Roller** (Administration › Users and Roles › Roles) › **Yeni Rol** (New Role). 2. Enter the **Rol adı** (Role name) and select the template named in the recipe from the **Rol şablonu** (Role template) list. The template brings the read baseline, the recipe's write permissions and the screen catalog together. 3. If the recipe removes a permission from the template, remove it on the **Yetkiler** (Permissions) tab; if it adds one, check it. 4. Click **Rolü Oluştur** (Create Role). Detailed steps: [Create a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma). You can also assign the predefined role itself (e.g. **Satış Temsilcisi** (Sales Representative)) without changing it; in that case the template's permissions remain locked and are preserved during release upgrades. > **New role from a template** A role you create by selecting a template is **not bound** to the template: all of its permissions can be changed, and release upgrades do not touch it. You add a permission that is added to the template in a new release to this role yourself. ## 1. Sales representative **Template:** Satış Temsilcisi (Sales Representative) (Sales · Staff). Writes quotations, orders, returns and reversals; does not approve, does not write price lists, does not issue goods. Permissions above the read baseline (21): | Permission key | Name in the permissions tree | |---|---| | `erp-edocuments-despatches.view` | Giden e-İrsaliyeler · Görüntüle (Outgoing e-Waybills · View) | | `erp-inventory-quality-notifications.create` | — (not shown in the Yetkiler (Permissions) tree; comes from the template) | | `erp-procurement-requisitions.create` | Satın Alma Talepleri · Oluştur (Purchase Requisitions · Create) | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | | `erp-receivables-credit.view` | Kredi Yönetimi · Görüntüle (Credit Management · View) | | `erp-receivables-ledger.view` | Cari Alt Defter (Alacak Hesapları) · Görüntüle (Customer Subledger (Accounts Receivable) · View) | | `erp-receivables-memos.create` | Alacak/Borç Dekontu · Oluştur (Credit/Debit Memo · Create) | | `erp-receivables-memos.view` | Alacak/Borç Dekontu · Görüntüle (Credit/Debit Memo · View) | | `erp-sales-campaigns.view` | Kampanyalar · Görüntüle (Campaigns · View) | | `erp-sales-contracts.view` | Satış Sözleşmeleri · Görüntüle (Sales Contracts · View) | | `erp-sales-free-returns.create` | Teslimatsız Satış İadeleri · Oluştur (Sales Returns Without Delivery · Create) | | `erp-sales-orders.close` | Satış Siparişleri · Kapat (Sales Orders · Close) | | `erp-sales-orders.create` | Satış Siparişleri · Oluştur (Sales Orders · Create) | | `erp-sales-orders.edit` | Satış Siparişleri · Düzenle (Sales Orders · Edit) | | `erp-sales-price-lists.view` | Fiyat Listeleri ve Özel Fiyatlar · Görüntüle (Price Lists and Special Prices · View) | | `erp-sales-quotations.create` | Satış Teklifleri · Oluştur (Sales Quotations · Create) | | `erp-sales-quotations.edit` | Satış Teklifleri · Düzenle (Sales Quotations · Edit) | | `erp-sales-return-requests.create` | İade Talepleri · Oluştur (Return Requests · Create) | | `erp-sales-returns.create` | Satış İadeleri · Oluştur (Sales Returns · Create) | | `erp-sales-service-confirmations.create` | Hizmet Teyitleri · Oluştur (Service Confirmations · Create) | | `erp-sales-shipment-reversals.create` | Teslimat Düzeltmeleri · Oluştur (Delivery Corrections · Create) | The **Demo — Satış Temsilcisi** (Demo — Sales Representative) role in the demo installation was created from this template with `erp-sales-orders.close` removed (so that closing orders manually stays with the manager): 113 permissions. With this role, sales orders are created and edited, and commercial approval is given with **Siparişi Onayla** (Approve Order); **Fiyat Listeleri** (Price Lists) is read-only, and **Satın Alma** (Purchasing) does not appear in the menu. ## 2. Sales manager **Template:** Satış Müdürü (Sales Manager) (Sales · Manager). Approves quotations and return requests, writes price lists and rebates; does not write documents. Permissions above the read baseline (17): | Permission key | Name in the permissions tree | |---|---| | `erp-receivables-credit.view` | Kredi Yönetimi · Görüntüle (Credit Management · View) | | `erp-receivables-ledger.view` | Cari Alt Defter (Alacak Hesapları) · Görüntüle (Customer Subledger (Accounts Receivable) · View) | | `erp-sales-campaigns.create` | Kampanyalar · Oluştur (Campaigns · Create) | | `erp-sales-campaigns.edit` | Kampanyalar · Düzenle (Campaigns · Edit) | | `erp-sales-campaigns.view` | Kampanyalar · Görüntüle (Campaigns · View) | | `erp-sales-contracts.create` | Satış Sözleşmeleri · Oluştur (Sales Contracts · Create) | | `erp-sales-contracts.edit` | Satış Sözleşmeleri · Düzenle (Sales Contracts · Edit) | | `erp-sales-contracts.view` | Satış Sözleşmeleri · Görüntüle (Sales Contracts · View) | | `erp-sales-price-lists.create` | Fiyat Listeleri ve Özel Fiyatlar · Oluştur (Price Lists and Special Prices · Create) | | `erp-sales-price-lists.edit` | Fiyat Listeleri ve Özel Fiyatlar · Düzenle (Price Lists and Special Prices · Edit) | | `erp-sales-price-lists.import` | Fiyat Listeleri ve Özel Fiyatlar · Dosyadan yükle (Price Lists and Special Prices · Load from file) | | `erp-sales-price-lists.view` | Fiyat Listeleri ve Özel Fiyatlar · Görüntüle (Price Lists and Special Prices · View) | | `erp-sales-quotations.approve` | Satış Teklifleri · Onayla (Sales Quotations · Approve) | | `erp-sales-rebates.create` | Prim Anlaşmaları ve Hesaplaşmaları · Oluştur (Rebate Agreements and Settlements · Create) | | `erp-sales-rebates.edit` | Prim Anlaşmaları ve Hesaplaşmaları · Düzenle (Rebate Agreements and Settlements · Edit) | | `erp-sales-rebates.view` | Prim Anlaşmaları ve Hesaplaşmaları · Görüntüle (Rebate Agreements and Settlements · View) | | `erp-sales-return-requests.approve` | İade Talepleri · Onayla (Return Requests · Approve) | For quotation approval to work, an approval template for quotations must also be defined in **Onay Şablonları** (Approval Templates), and this user must hold the role required by the stage. If the role is assigned to the same person as the sales representative role, a segregation of duties warning appears. ## 3. Purchasing specialist **Template:** Satın Alma Uzmanı (Purchasing Specialist) (Purchasing · Staff). Requests quotations, sets supplier conditions, writes orders and submits them for approval; does not receive goods or approve. Permissions above the read baseline (38): | Permission key | Name in the permissions tree | |---|---| | `erp-edocuments-incoming-despatches.view` | Gelen e-İrsaliyeler · Görüntüle (Incoming e-Waybills · View) | | `erp-inventory-costs.view` | Stok Maliyeti · Görüntüle (Stock Cost · View) | | `erp-inventory-projects.create` | Projeler ve Proje Stoğu · Oluştur (Projects and Project Stock · Create) | | `erp-inventory-projects.edit` | Projeler ve Proje Stoğu · Düzenle (Projects and Project Stock · Edit) | | `erp-inventory-quality-notifications.create` | — (not shown in the Yetkiler (Permissions) tree; comes from the template) | | `erp-invoicing-incoming-invoices.view` | Gelen e-Faturalar · Görüntüle (Incoming e-Invoices · View) | | `erp-logistics-inbound-deliveries.create` | Gelen Teslimatlar · Oluştur (Inbound Deliveries · Create) | | `erp-procurement-consignment-settlements.create` | Konsinye Hesaplaşmaları · Oluştur (Consignment Settlements · Create) | | `erp-procurement-consignment-settlements.view` | Konsinye Hesaplaşmaları · Görüntüle (Consignment Settlements · View) | | `erp-procurement-contracts.create` | Çerçeve Sözleşmeler · Oluştur (Outline Agreements · Create) | | `erp-procurement-contracts.edit` | Çerçeve Sözleşmeler · Düzenle (Outline Agreements · Edit) | | `erp-procurement-contracts.view` | Çerçeve Sözleşmeler · Görüntüle (Outline Agreements · View) | | `erp-procurement-import-charges.create` | İthalat Masraf Türleri · Oluştur (Import Cost Types · Create) | | `erp-procurement-import-charges.edit` | İthalat Masraf Türleri · Düzenle (Import Cost Types · Edit) | | `erp-procurement-item-suppliers.create` | Ürün Tedarikçileri · Oluştur (Product Suppliers · Create) | | `erp-procurement-item-suppliers.delete` | Ürün Tedarikçileri · İlişkiyi kaldır (Product Suppliers · Remove relationship) | | `erp-procurement-item-suppliers.edit` | Ürün Tedarikçileri · Düzenle (Product Suppliers · Edit) | | `erp-procurement-item-suppliers.import` | Ürün Tedarikçileri · İçe Aktar (Product Suppliers · Import) | | `erp-procurement-item-suppliers.view` | Ürün Tedarikçileri · Görüntüle (Product Suppliers · View) | | `erp-procurement-landed-costs.create` | İthalat Masrafları · Oluştur (Landed Costs · Create) | | `erp-procurement-orders.close` | Satın Alma Siparişleri · Kapat (Purchase Orders · Close) | | `erp-procurement-orders.create` | Satın Alma Siparişleri · Oluştur (Purchase Orders · Create) | | `erp-procurement-orders.delete` | Satın Alma Siparişleri · İptal (Purchase Orders · Cancel) | | `erp-procurement-orders.edit` | Satın Alma Siparişleri · Düzenle (Purchase Orders · Edit) | | `erp-procurement-receipt-reversals.create` | Mal Kabul Geri Almaları · Oluştur (Goods Receipt Reversals · Create) | | `erp-procurement-requisitions.delete` | Satın Alma Talepleri · Sil (Purchase Requisitions · Delete) | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | | `erp-procurement-return-requests.approve` | Tedarikçi İade Talepleri · Onayla (Supplier Return Requests · Approve) | | `erp-procurement-rfqs.create` | Teklif İstekleri · Oluştur (Requests for Quotation · Create) | | `erp-procurement-rfqs.delete` | Teklif İstekleri · Sil (Requests for Quotation · Delete) | | `erp-procurement-rfqs.edit` | Teklif İstekleri · Düzenle (Requests for Quotation · Edit) | | `erp-procurement-service-acceptance-reversals.create` | Hizmet Kabul Geri Almaları · Oluştur (Service Acceptance Reversals · Create) | | `erp-procurement-sourcing.edit` | Kaynak Listesi ve Kota · Düzenle (Source List and Quota · Edit) | | `erp-procurement-sourcing.view` | Kaynak Listesi ve Kota · Görüntüle (Source List and Quota · View) | | `erp-procurement-supplier-evaluation.create` | Tedarikçi Değerlendirme · Oluştur (Supplier Evaluation · Create) | | `erp-procurement-supplier-rebates.create` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Oluştur (Supplier Rebate Agreements and Settlements · Create) | | `erp-procurement-supplier-rebates.edit` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Düzenle (Supplier Rebate Agreements and Settlements · Edit) | | `erp-procurement-supplier-rebates.view` | Tedarikçi Prim Anlaşmaları ve Hesaplaşmaları · Görüntüle (Supplier Rebate Agreements and Settlements · View) | The role does not hold `erp-procurement-orders.approve`; orders are approved by the **Satın Alma Müdürü** (Purchasing Manager). It sees purchase prices (`erp-procurement-item-suppliers.view`, `erp-procurement-orders.create`) and stock cost (`erp-inventory-costs.view`). ## 4. Warehouse supervisor **Template:** Depo Memuru (Warehouse Clerk) (Inventory and Warehouse · Staff). Writes goods receipts, deliveries, count entries, transfers and warehouse tasks; does not correct stock differences. Permissions above the read baseline (26): | Permission key | Name in the permissions tree | |---|---| | `erp-edocuments-despatches.create` | Giden e-İrsaliyeler · Oluştur (Outgoing e-Waybills · Create) | | `erp-edocuments-despatches.edit` | Giden e-İrsaliyeler · Düzenle (Outgoing e-Waybills · Edit) | | `erp-edocuments-despatches.view` | Giden e-İrsaliyeler · Görüntüle (Outgoing e-Waybills · View) | | `erp-edocuments-incoming-despatches.edit` | Gelen e-İrsaliyeler · Düzenle (Incoming e-Waybills · Edit) | | `erp-edocuments-incoming-despatches.view` | Gelen e-İrsaliyeler · Görüntüle (Incoming e-Waybills · View) | | `erp-inventory-counts.edit` | Stok Sayımları · Say (Physical Inventory Counts · Count) | | `erp-inventory-customer-consignment.create` | Müşteride Konsinye · Oluştur (Customer Consignment · Create) | | `erp-inventory-lots.edit` | Lot Yönetimi · Bloke et (Batch Management · Block) | | `erp-inventory-material-reservations.create` | Rezervasyonlar · Oluştur (Reservations · Create) | | `erp-inventory-material-reservations.issue` | Rezervasyonlar · Çekme (Mal Ver) (Reservations · Pick (Issue Goods)) | | `erp-inventory-movements.transfer` | Stok Hareketleri · Transfer (Stock Movements · Transfer) | | `erp-inventory-projects.issue` | Projeler ve Proje Stoğu · Çekme (Mal Ver) (Projects and Project Stock · Pick (Issue Goods)) | | `erp-inventory-quality-notifications.create` | — (not shown in the Yetkiler (Permissions) tree; comes from the template) | | `erp-inventory-transfer-orders.create` | Transfer Siparişleri · Oluştur (Transfer Orders · Create) | | `erp-inventory-vendor-consignment.create` | Tedarikçi Konsinyesi · Oluştur (Vendor Consignment · Create) | | `erp-inventory-warehouse-tasks.create` | Depo Görevleri · Oluştur (Warehouse Tasks · Create) | | `erp-inventory-warehouse-tasks.edit` | Depo Görevleri · Düzenle (Warehouse Tasks · Edit) | | `erp-logistics-inbound-deliveries.create` | Gelen Teslimatlar · Oluştur (Inbound Deliveries · Create) | | `erp-logistics-proof-of-delivery.create` | Alındı Teyidi · Oluştur (Proof of Delivery · Create) | | `erp-manufacturing-kanban.edit` | Kanban · Düzenle (Kanban · Edit) | | `erp-procurement-receipts.create` | Mal Kabulleri · Oluştur (Goods Receipts · Create) | | `erp-procurement-requisitions.create` | Satın Alma Talepleri · Oluştur (Purchase Requisitions · Create) | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | | `erp-procurement-return-requests.create` | Tedarikçi İade Talepleri · Oluştur (Supplier Return Requests · Create) | | `erp-procurement-subcontracting.create` | Fason · Oluştur (Subcontracting · Create) | | `erp-sales-shipments.create` | Teslimatlar · Oluştur (Deliveries · Create) | - Posting count differences, adjustments, scrap and opening balances belong to the **Stok Yöneticisi** (Inventory Manager); assigning both roles to the same person triggers a segregation of duties warning. - If the supervisor is responsible for only some of several warehouses, give the user **Organizasyon Kısıtlaması › Depolar** (Organizational Restriction › Warehouses): [Assign an organizational restriction](https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme). - For a person who only confirms tasks with a handheld terminal on the shop floor, the narrower template is **Depo Elemanı** (Warehouse Worker) (read baseline + `erp-inventory-counts.edit`, `erp-inventory-warehouse-tasks.edit`). ## 5. Production planner **Template:** Üretim Planlayıcı (Production Planner) (Production · Staff). Plans bills of materials, routings, work centers, MRP and production orders; does not enter shop floor postings. Permissions above the read baseline (26): | Permission key | Name in the permissions tree | |---|---| | `erp-demand-independent-requirements.edit` | Planlı Bağımsız İhtiyaçlar · Düzenle (Planned Independent Requirements · Edit) | | `erp-demand-mrp-runs.create` | MRP Koşusu · Oluştur (MRP Run · Create) | | `erp-inventory-material-reservations.create` | Rezervasyonlar · Oluştur (Reservations · Create) | | `erp-inventory-projects.create` | Projeler ve Proje Stoğu · Oluştur (Projects and Project Stock · Create) | | `erp-inventory-projects.edit` | Projeler ve Proje Stoğu · Düzenle (Projects and Project Stock · Edit) | | `erp-inventory-transfer-orders.create` | Transfer Siparişleri · Oluştur (Transfer Orders · Create) | | `erp-manufacturing-boms.create` | Ürün Ağaçları · Oluştur (Bills of Materials · Create) | | `erp-manufacturing-boms.edit` | Ürün Ağaçları · Düzenle (Bills of Materials · Edit) | | `erp-manufacturing-boms.import` | Ürün Ağaçları · İçe Aktar (Bills of Materials · Import) | | `erp-manufacturing-capacity.edit` | Kapasite Planlama · Düzenle (Capacity Planning · Edit) | | `erp-manufacturing-engineering-changes.create` | Mühendislik Değişiklikleri · Oluştur (Engineering Changes · Create) | | `erp-manufacturing-engineering-changes.edit` | Mühendislik Değişiklikleri · Düzenle (Engineering Changes · Edit) | | `erp-manufacturing-kanban.create` | Kanban · Oluştur (Kanban · Create) | | `erp-manufacturing-kanban.edit` | Kanban · Düzenle (Kanban · Edit) | | `erp-manufacturing-orders.create` | Üretim Emirleri · Oluştur (Production Orders · Create) | | `erp-manufacturing-orders.edit` | Üretim Emirleri · Düzenle (Production Orders · Edit) | | `erp-manufacturing-planned-orders.edit` | Planlı Emirler · Düzenle (Planned Orders · Edit) | | `erp-manufacturing-routings.create` | Rotalar · Oluştur (Routings · Create) | | `erp-manufacturing-routings.edit` | Rotalar · Düzenle (Routings · Edit) | | `erp-manufacturing-routings.import` | Rotalar · İçe Aktar (Routings · Import) | | `erp-manufacturing-work-centers.create` | İş Merkezleri · Oluştur (Work Centers · Create) | | `erp-manufacturing-work-centers.edit` | İş Merkezleri · Düzenle (Work Centers · Edit) | | `erp-manufacturing-work-centers.import` | İş Merkezleri · İçe Aktar (Work Centers · Import) | | `erp-procurement-requisitions.create` | Satın Alma Talepleri · Oluştur (Purchase Requisitions · Create) | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | | `erp-procurement-service-acceptances.create` | Hizmet Kabulleri · Oluştur (Service Acceptances · Create) | Consumption, output and confirmation (`erp-manufacturing-postings.create`) are not in this role; if the role is assigned to the same person as the operator role, a segregation of duties warning appears. ## 6. Production operator **Template:** Üretim Operatörü (Production Operator) (Production · Staff). Enters consumption, output and confirmations on the shop floor; does not change orders or bills of materials. Permissions above the read baseline (8): | Permission key | Name in the permissions tree | |---|---| | `erp-inventory-quality-notifications.create` | — (not shown in the Yetkiler (Permissions) tree; comes from the template) | | `erp-maintenance-notifications.create` | — (not shown in the Yetkiler (Permissions) tree; comes from the template) | | `erp-manufacturing-corrections.create` | Üretim Düzeltmeleri · Oluştur (Production Corrections · Create) | | `erp-manufacturing-kanban.edit` | Kanban · Düzenle (Kanban · Edit) | | `erp-manufacturing-postings.create` | Üretim Kayıtları · Oluştur (Production Postings · Create) | | `erp-manufacturing-repetitive.create` | Seri Üretim · Oluştur (Repetitive Manufacturing · Create) | | `erp-procurement-requisitions.create` | Satın Alma Talepleri · Oluştur (Purchase Requisitions · Create) | | `erp-procurement-requisitions.edit` | Satın Alma Talepleri · Düzenle (Purchase Requisitions · Edit) | If the operator will work only on their own line, narrow them to the work center with **Organizasyon Kısıtlaması › İş Merkezleri** (Organizational Restriction › Work Centers); at a restricted work center, confirmations, consumption and output are rejected with "… iş merkezinde işlem yetkiniz yok." (You are not authorized to perform transactions at work center ….). The operator does not see costs (no `erp-inventory-costs.view`). ## 7. Read-only auditor **Template:** Denetçi (Salt Okunur) (Auditor (Read-Only)) (Administration). Reads all ERP lists and the audit trail; cannot write any document. Its screen catalog is **Bütün ekranlar** (All screens). Permissions above the read baseline (4): | Permission key | Name in the permissions tree | |---|---| | `audit.view` | İşlem Kayıtları · Görüntüle (Audit Log · View) | | `erp-accounting-events.view` | Muhasebeleşmemiş Olaylar · Görüntüle (Unposted Accounting Events · View) | | `erp-accounting-journal-entries.view` | Yevmiye Fişleri · Görüntüle (Journal Entries · View) | | `erp-accounting-tax-reports.view` | Vergi Raporları (KDV) · Görüntüle (Tax Reports (VAT) · View) | - `audit.view` opens **İşlem Kayıtları** (Audit Log) and **Erişim Günlüğü** (Access Log) and shows the document history in all areas. - Sales and purchase prices and stock cost are **not visible** in this template (there are no price and cost permissions). If the auditor needs to see amounts, **Kopyala** (Copy) the template and add `erp-sales-price-lists.view`, `erp-procurement-item-suppliers.view` and `erp-inventory-costs.view`. - If the auditor is also given a role that writes, a segregation of duties warning appears. ## 8. System administrator **Predefined role:** Yönetici (Administrator) (Administration, **Yerleşik** (Built-in)). All 397 permissions, all screens. It cannot be deleted; the role cannot be removed from the **last** active account that holds the Administrator role ("… Yönetici rolünü taşıyan son etkin hesap. Rolü kaldırmadan önce başka bir kullanıcıya Yönetici rolü verin." — … is the last active account holding the Administrator role. Give another user the Administrator role before removing the role.). For an account that will only manage users and permissions without writing operational documents, a role **without a template** can be created with the following permissions instead of Administrator: | Permission key | Name in the permissions tree | |---|---| | `users.view` | Kullanıcılar · Görüntüle (Users · View) | | `users.create` | Kullanıcılar · Oluştur (Users · Create) | | `users.edit` | Kullanıcılar · Düzenle (Users · Edit) | | `users.delete` | Kullanıcılar · Sil (Users · Delete) | | `roles.view` | Roller · Görüntüle (Roles · View) | | `roles.create` | Roller · Oluştur (Roles · Create) | | `roles.edit` | Roller · Düzenle (Roles · Edit) | | `roles.delete` | Roller · Sil (Roles · Delete) | | `organization.view` | Organizasyon Şeması · Görüntüle (Organization Chart · View) | | `organization.edit` | Organizasyon Şeması · Düzenle (Organization Chart · Edit) | | `audit.view` | İşlem Kayıtları · Görüntüle (Audit Log · View) | - `users.delete` opens **Devre Dışı Bırak** (Disable) and **Geri Yükle** (Restore); `users.edit` opens role assignment, extra permissions, restrictions, password and lock; `users.create` opens **Yeni Kullanıcı** (New User) and **Daveti Yeniden Gönder** (Resend Invitation). - `organization.edit` opens the **Organizasyon Birimi** (Organizational Unit) assignment in the user window. - Changing Module Management additionally requires `company-profile.edit`, and email settings require `email-settings.edit`. - `users.import` (exporting/importing the user file; the file contains password hashes) can be granted only by an administrator who **holds** this permission: "users.import iznini yalnız bu izni taşıyan bir yönetici verebilir." (The users.import permission can be granted only by an administrator who holds this permission.) > **Permission to edit roles and users** A person who holds `roles.edit` or `users.edit` can change the permissions of roles and users — including adding permissions to their own role. The server applies the "only a holder can grant it" rule only to `users.import`. Grant these permissions only to people you trust as system administrators; changes are tracked in **İşlem Kayıtları** (Audit Log). --- # Module management > Which modules and features are turned on in the installation — license scope, module and feature keys, dependencies, and the effect of turning them off on the menu, permissions and open work. URL: https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi - **Type:** Guide - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › Modül Yönetimi (Administration › Customization › General › Module Management) - **Screen route:** `/module-management` - **Required permission:** `company-profile.view`, `company-profile.edit` **Modül Yönetimi** (Module Management) determines which modules and features the installation uses. In the screen's own words: "Kurulum yalnız lisansın kapsadığı ve burada açık bıraktığınız modül ve özellikleri görür. Kapatılan özelliğin ekranları ve kuralları durur; veri silinmez, açınca kaldığı yerden sürer. Açık bir ekranı da yalnız rolü izin veren kullanıcı görür." (The installation sees only the modules and features that the license covers and that you leave turned on here. The screens and rules of a feature that is turned off stop; no data is deleted, and when it is turned on again it continues where it left off. A screen that is turned on is visible only to users whose role permits it.) ![Module Management](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/modul-yonetimi.png) 1. License, open features and menu screens 2. Modules — click a row for its features 3. Module on — turns the module on / off 4. Feature — switched one by one 5. Save — impact dialog opens first ## Three separate concepts | Concept | Who determines it | On the screen | |---|---|---| | **License scope** | The license | In the summary bar, **Lisans:** (License:) "… modül kapsamda" (… modules in scope); a module outside the scope is in **Lisans dışı** (Not licensed) status and cannot be turned on. | | **The installation's choice** | This screen (`company-profile.edit`) | The module's **Modül açık** (Module on) box and the features' boxes. | | **The user's access** | Role and permission | A feature that is turned on is visible only to users with permission — [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). | A feature is considered **active** when the license covers it **and** it is turned on in the installation **and** its module is turned on **and** the features it depends on are active. ## Module and feature Each module has a **base** feature (in the list "Temel — modülle birlikte" — Base — together with the module): it is on while the module is on and off while the module is off. The other features are turned on and off individually. The **Yönetim** (Administration) module is on in every installation and cannot be turned off ("… kapatılamaz." — … cannot be turned off.). Status names: **Modül açık** (Module on) · **Lisans dışı** (Not licensed) · **Kapalı** (Off) · **Bağlı kapalı** (Dependency off — the feature itself is on, but a feature or module it depends on is off). ## What happens when you turn something off? - **Menu:** If a module is off, the **whole area** is removed from the menu. The screens of a feature that is off drop out of the menu. - **Permissions:** The permissions in roles are **not deleted**; the permissions of a feature that is off are subtracted from the user's effective permissions. In the role window, such a resource appears with the "(özellik kapalı)" (feature off) note: "Bu izin kaynağının özelliği Modül Yönetimi'nde kapalı ya da lisans kapsamıyor — izin atanabilir ama özellik açılana kadar etkisiz." (The feature of this permission resource is turned off in Module Management or not covered by the license — the permission can be assigned but has no effect until the feature is turned on.) - **Address and API:** If the screen of a feature that is off is opened by its address or its request reaches the server, a user whose role has the permission sees the message "Bu özellik kuruluşunuzda etkin değil." (This feature is not active in your organization.). A user who has no permission at all sees "Bu işlemi gerçekleştirmek için yetkiniz bulunmuyor." (You are not authorized to perform this action.); they are not told the feature status. - **Data and open work:** No data is deleted. The window that opens before saving counts the features to be turned off and the pending work: "Kapatma veriyi silmez: açık işler veride kalır ve özellik açılınca kaldığı yerden sürer." (Turning off does not delete data: open work remains in the data and continues where it left off when the feature is turned on.) — "Açık işler özellik kapalıyken ilerlemez." (Open work does not progress while the feature is off.) - **Dependency:** Turning off a feature also turns off the features that depend on it ("— … ile birlikte" (— together with …) in the window). - **When:** The setting applies immediately for the user who saves it and **within 30 seconds at the latest** for other users: "Modül ayarı kaydedildi. Menü ve yetkiler bu oturumda yenilendi; öteki kullanıcılarda en geç 30 saniyede." (The module setting has been saved. The menu and permissions have been refreshed in this session; for other users within 30 seconds at the latest.) ## Modules and features {#moduller-ve-ozellikler} The list is taken from the Module Management catalog of the demo installation. The "Requires" column lists the modules or features that must be active for the feature to be turned on. ### Sales Quotation, order, delivery, return and pricing — all documents for selling to customers. | Feature | Key | Requires | Covers | |---|---|---|---| | **Satış temeli (sipariş, teslimat, iade, fiyat listesi)** (Sales base (order, delivery, return, price list)) (base) | `sales` | Ana Veriler (Master Data), Stok Yönetimi (Inventory Management) | Sales order, delivery, return and return request, price list, document type, condition and output settings. | | Satış teklifi (Sales quotation) | `sales.quotations` | — | Sales quotation: revision, approval, conversion to order and win/loss report. | | Hizmet teyidi (Service confirmation) | `sales.service-confirmations` | — | Completing and invoicing the service item of an order. | | Teslimatsız iade (Return without delivery) | `sales.free-returns` | — | A return that is not linked to a delivery — it has no screen; the Teslimatsız İade (Return Without Delivery) button in the Satış İadeleri (Sales Returns) list. | | Satış kanalları (Sales channels) | `sales.channels` | — | Sales channel and membership: document visibility and the channel's price list. | | Satış primi (Sales rebate) | `sales.rebates` | — | Customer rebate agreement and settlement; opens a credit memo request. | | Kampanyalar (Campaigns) | `sales.campaigns` | — | Time-limited campaign price and discount — after the special price in the pricing chain. | | Satış sözleşmesi (Sales contract) | `sales.contracts` | — | Sales contract and call-off from an order. | ### Purchasing Requisition, request for quotation, order, goods and service receipt — all documents for buying from suppliers. | Feature | Key | Requires | Covers | |---|---|---|---| | **Satın alma temeli (sipariş, mal kabul, tedarikçi fiyatı, iade)** (Purchasing base (order, goods receipt, supplier price, return)) (base) | `procurement` | Ana Veriler (Master Data), Stok Yönetimi (Inventory Management) | Purchase order, goods receipt, supplier price (info record), supplier return request and approval rule. | | Satınalma talebi (Purchase requisition) | `procurement.requisitions` | — | Purchase requisition: creation, approval, order from requisition and source assignment. | | Teklif isteği (Request for quotation) | `procurement.rfqs` | — | Request for quotation: invitation, quotation comparison and justified decision. | | Çerçeve sözleşme (Outline agreement) | `procurement.contracts` | — | Outline agreement and scheduling agreement; call-off from an order. | | Kaynak listesi ve kota (Source list and quota) | `procurement.sourcing` | — | Source list, quota and requisition source assignment; automatic order. | | Hizmet alımı (hizmet kabulü) (Service procurement (service acceptance)) | `procurement.services` | — | Service procurement: service acceptance and its reversal. | | Fason (Subcontracting) | `procurement.subcontracting` | — | Subcontracting: component shipment, stock at the subcontractor and subcontracting receipt. | | Tedarikçi konsinyesi (Vendor consignment) | `procurement.vendor-consignment` | — | Vendor consignment: consignment receipt, withdrawal and settlement (MRKO). | | İthalat masrafları (Landed costs) | `procurement.landed-costs` | — | Allocation of import costs to stock cost, and cost types. | | Tedarikçi primi (Supplier rebate) | `procurement.supplier-rebates` | — | Supplier rebate agreement and settlement. | | Tedarikçi değerlendirme (Supplier evaluation) | `procurement.supplier-evaluation` | — | Supplier scoring: delivery, quality, price compliance and service score. | | Satın alma grupları (Purchasing groups) | `procurement.purchasing-groups` | — | Purchasing groups and their members — the Grubumun Belgeleri (My Group's Documents) filter. | ### Inventory Management Warehouse, stock movement, batch and serial number, physical inventory count, quality and valuation. | Feature | Key | Requires | Covers | |---|---|---|---| | **Stok temeli (hareket, bakiye, lot, sayım, düzeltme, hurda)** (Inventory base (movement, balance, batch, count, adjustment, scrap)) (base) | `inventory` | Ana Veriler (Master Data) | Warehouse and storage location, stock movement, balance, batch and serial number, physical inventory count, adjustment, scrap, opening balance and cost. | | Rezervasyon (Reservation) | `inventory.material-reservations` | — | Reservation for goods issue and one-step transfer: picking and closing. | | Stok nakli (transfer siparişi) (Stock transport (transfer order)) | `inventory.transfer-orders` | — | Transport order between warehouses: shipment, stock in transit and arrival. | | Proje stoğu (Project stock) | `inventory.projects` | — | Stock allocated to a project: allocation, issue and release. | | Depo yürütme (görev, dalga, el terminali) (Warehouse execution (task, wave, handheld terminal)) | `inventory.warehouse-execution` | — | Warehouse task, wave picking, putaway, warehouse monitor and handheld terminal. | | Kalite yönetimi (Quality management) | `inventory.quality` | — | Quality inspection queue, usage decision, inspection lot, inspection plan and quality notification. | | Değerleme (yeniden değerleme, standart fiyat, materyal defteri) (Valuation (revaluation, standard price, material ledger)) | `inventory.valuation` | — | Revaluation, standard price change, material ledger and its closing. | | Müşteride konsinye (Customer consignment) | `inventory.customer-consignment` | Satış (Sales) | Consignment stock held at the customer: fill-up, pickup and withdrawal. | ### Logistics Management Outbound and inbound delivery, transport, fleet and freight. | Feature | Key | Requires | Covers | |---|---|---|---| | **Lojistik** (Logistics) (base) | `logistics` | Ana Veriler (Master Data), Stok Yönetimi (Inventory Management) | The umbrella of the Logistics module — deliveries are in the Sales base; the screens are in the features below. | | Gelen teslimat (Inbound delivery) | `logistics.inbound` | Satın Alma (Purchasing) | Inbound delivery notification and its link to goods receipt. | | Taşıma (sefer, yük planlama, olay, alındı teyidi) (Transport (shipment, load planning, event, proof of delivery)) | `logistics.transport` | Satış (Sales) | Shipment document, load planning, event tracking and proof of delivery. | | Filo (araç, sürücü, filo işletimi) (Fleet (vehicle, driver, fleet operations)) | `logistics.fleet` | Taşıma (sefer, yük planlama, olay, alındı teyidi) (Transport) | Vehicle and driver master data, document tracking, fleet operations and vehicle cost. | | Taşıyıcılar ve ihale (Carriers and tenders) | `logistics.carriers` | Taşıma (sefer, yük planlama, olay, alındı teyidi) (Transport) | Carrier master data, carrier selection and freight tender. | | Navlun (anlaşma, hesaplaşma) (Freight (agreement, settlement)) | `logistics.freight` | Taşıyıcılar ve ihale (Carriers and tenders) | Freight agreement and settlement with the carrier. | | Nakliye siparişi (Forwarding order) | `logistics.forwarding` | Satış (Sales) | Transport service order and invoice for the customer. | ### Production Bill of materials, work center, production order, planning and cost. | Feature | Key | Requires | Covers | |---|---|---|---| | **Üretim temeli (ürün ağacı, iş merkezi, emir, sarf/çıktı)** (Production base (BOM, work center, order, consumption/output)) (base) | `manufacturing` | Ana Veriler (Master Data), Stok Yönetimi (Inventory Management) | Bill of materials, work center, production order, consumption and output postings, adjustments. | | Üretim planlama (MRP, planlı emir, tahmin) (Production planning (MRP, planned order, forecast)) | `manufacturing.planning` | — | Material requirements, MRP run, planned order and forecast. | | Üretim mühendisliği (rota, ana reçete, mühendislik değişikliği) (Production engineering (routing, master recipe, engineering change)) | `manufacturing.engineering` | — | Routing, master recipe, production version and engineering change. | | Kapasite planlama (Capacity planning) | `manufacturing.capacity` | Üretim mühendisliği (rota, ana reçete, mühendislik değişikliği) (Production engineering) | Capacity load, planning table and finite scheduling. | | Seri üretim (Repetitive manufacturing) | `manufacturing.repetitive` | — | Repetitive manufacturing confirmation and product cost collectors. | | Kanban | `manufacturing.kanban` | — | Kanban control cycle and board. | ### Master Data Item, business partner, category, unit and other definitions — the foundation of all modules. | Feature | Key | Requires | Covers | |---|---|---|---| | **Ana veriler** (Master data) (base) | `master-data` | — | Item record, business partner, category, unit, tax rate, number range and other definitions. | ### Finance Invoice and e-Document, accounts, bank and cash, accounting. | Feature | Key | Requires | Covers | |---|---|---|---| | **Faturalama temeli (fatura, fatura referansı, kayıt dönemi)** (Invoicing base (invoice, invoice reference, posting period)) (base) | `finance` | Ana Veriler (Master Data) | Outgoing and incoming invoice, invoice reference, verification tolerance, tax code and posting period. | | e-Belge (e-Document) | `finance.edocuments` | — | e-Invoice, e-Archive and e-Waybill flow; integrator connection and cockpit. | | Alacak hesapları (cari alt defter, dekont) (Accounts receivable (subledger, memo)) | `finance.receivables` | Satış (Sales) | Customer subledger: open item, aging, statement, reconciliation, dunning and memo. | | Gelen ödemeler (Incoming payments) | `finance.payments` | Alacak hesapları (cari alt defter, dekont) (Accounts receivable) | Incoming payment and open item clearing; collection receipt. | | Kredi yönetimi (Credit management) | `finance.credit` | Alacak hesapları (cari alt defter, dekont) (Accounts receivable) | Credit limit, risk class and release of blocked orders. | | Borç hesapları (satıcı alt defteri, fatura kaydı) (Accounts payable (vendor subledger, invoice posting)) | `finance.payables` | — | Vendor subledger and posting of incoming invoices. | | Giden ödemeler (Outgoing payments) | `finance.outgoing-payments` | Borç hesapları (satıcı alt defteri, fatura kaydı) (Accounts payable) | Outgoing payment and payment proposal. | | Döviz kurları (Exchange rates) | `finance.exchange-rates` | — | CBRT (TCMB) exchange rate table and manual rate entry. | | Muhasebe entegrasyonu (hesap planı, mali yıl, hesap belirleme, otomatik fiş, KDV raporu) (Accounting integration (chart of accounts, fiscal year, account determination, automatic journal entry, VAT report)) | `finance.accounting` | — | Chart of accounts, fiscal year, account determination, automatic journal entries for documents and VAT report. | | Genel muhasebe (yevmiye, büyük defter, mizan, mali tablolar) (General ledger (journal, ledger, trial balance, financial statements)) | `finance.general-ledger` | Muhasebe entegrasyonu (hesap planı, mali yıl, hesap belirleme, otomatik fiş, KDV raporu) (Accounting integration) | Journal entry, general ledger, trial balance, financial statements and period-end operations. | | Banka ve kasa (hesaplar, hareket, ekstre ve mutabakat) (Bank and cash (accounts, transactions, statement and reconciliation)) | `finance.treasury` | Muhasebe entegrasyonu (hesap planı, mali yıl, hesap belirleme, otomatik fiş, KDV raporu) (Accounting integration) | Bank and cash accounts, transactions, statement matching and liquidity forecast. | | Çek ve senet portföyü (Check and promissory note portfolio) | `finance.instruments` | Banka ve kasa (hesaplar, hareket, ekstre ve mutabakat) (Bank and cash), Alacak hesapları (cari alt defter, dekont) (Accounts receivable), Borç hesapları (satıcı alt defteri, fatura kaydı) (Accounts payable) | Check and promissory note portfolio, transmittal slip and checkbook. | | Masraf yeri muhasebesi (masraf yeri, hiyerarşi, gerçekleşen gider) (Cost center accounting (cost center, hierarchy, actual costs)) | `finance.cost-centers` | Genel muhasebe (yevmiye, büyük defter, mizan, mali tablolar) (General ledger) | Cost center hierarchy and actual costs. | | Duran varlık muhasebesi (aktifleştirme, amortisman, satış/hurda) (Fixed asset accounting (capitalization, depreciation, sale/scrapping)) | `finance.fixed-assets` | Genel muhasebe (yevmiye, büyük defter, mizan, mali tablolar) (General ledger) | Fixed asset record, depreciation run, sale and scrapping. | ### Service Service calls, teams and SLA. | Feature | Key | Requires | Covers | |---|---|---|---| | **Servis** (Service) (base) | `service-desk` | — | Service calls, service teams and SLA policies. | ### Maintenance Technical object, malfunction notification, maintenance order and preventive maintenance. | Feature | Key | Requires | Covers | |---|---|---|---| | **Bakım** (Maintenance) (base) | `maintenance` | — | Technical object, malfunction notification, maintenance order and preventive maintenance plan. | ### Administration User, role, company information, approval process and monitoring — on in every installation. Cannot be turned off. | Feature | Key | Requires | Covers | |---|---|---|---| | **Yönetim** (Administration) (base) | `administration` | — | Users, roles, organization, company information, audit, notification and approval templates. | ## Permissions | Task | Permission | |---|---| | View the screen | `company-profile.view` | | Change it (boxes and **Kaydet** (Save)) | `company-profile.edit` — without it, the boxes are disabled and "Değiştirmek Şirket Bilgileri düzenleme yetkisi ister." (Changing this requires the Company Information edit permission.) is shown at the bottom | Step by step: [Turn a module or feature on or off](https://erpdocs.corexlogic.com/en/yonetim/islemler/modul-acma-kapatma). ## License read-only mode If the license is not active, has expired or has been suspended, the installation becomes **read-only**: reading continues, records cannot be saved, and a message stating the license status appears on the screen (e.g. "Kurulum lisansı etkin değil — sistem salt okunur. Lütfen sistem yöneticinizle iletişime geçin." — The installation license is not active — the system is read-only. Please contact your system administrator.). In this mode, unlocking a user and sending a password reset link still work. ## Frequently asked questions | Question | Answer | |---|---| | Do roles break when a module is turned off? | No. Roles do not change; when the feature is turned on, the permissions take effect again automatically. | | When saving: "Modül ayarı siz düzenlerken değişti. Sayfayı yenileyip yeniden kaydedin." (The module setting changed while you were editing. Refresh the page and save again.) | Another administrator saved at the same time. Click **Yenile** (Refresh), make the change again and save. | | Why can't I see a screen even though the module is on? | Your role does not have the permission, or the screen is not in your screen catalog. [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). | --- # Users > The Kullanıcılar (Users) screen — account list, filters, badges, the Actions menu and the New User, Edit User, Extra Permissions, Organizational Restriction and Password windows. URL: https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar - **Type:** Screen - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.view` The list of accounts that sign in to CoreX ERP. Creating accounts, assigning roles, defining person-specific permissions and restrictions, password and lock tasks, and closing accounts are all done from this screen. ![Users list](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanicilar.png) 1. New User — opens an account by invitation or password 2. Search by name or e-mail 3. Role filter 4. Status: Active · Inactive (disabled) · Locked · All 5. Row: name, roles and account (e-mail) 6. Actions — edit, permissions, password, disable ## List | Column | Content | |---|---| | **Ad** (Name) | Full name. If no name was entered, "Ad girilmemiş" (No name entered). The status badge is shown next to it (see below). | | **Roller** (Roles) | The roles assigned directly to the user. If there is an organizational restriction, a summary such as "Kısıtlı: 2 depo · 1 iş merkezi" (Restricted: 2 warehouses · 1 work center) appears below. Roles that come from the unit are not shown here. | | **Hesap** (Account) | Email — the sign-in ID. | | **İşlem** (Action) | The **İşlemler** (Actions) menu. | | Filter | Behavior | |---|---| | **Ara** (Search) | Text contained in the name or email ("Ad ya da e-posta ara…" — Search name or email…). | | **Rol** (Role) | A single role; searchable list. | | **Durum** (Status) | **Aktif** (Active; default) · **Pasif (devre dışı)** (Inactive (disabled)) · **Kilitli** (Locked) · **Tümü** (All). In the address: `?durum=devre-disi`, `?durum=kilitli`, `?durum=tumu`. | | Badge | Meaning | |---|---| | **Devre dışı** (Disabled; red) | The account has been closed; it cannot sign in. The record has not been deleted. | | **Kilitli** (Locked; yellow) | Locked after repeated failed password attempts; unlocks automatically when the period expires. | | **Davet bekliyor** (Invitation pending) | The invitation link has not been used yet; the account cannot sign in. | The **Dışa Aktar** (Export) and **İçe Aktar** (Import) buttons appear only with the `users.import` permission; **İçe Aktar** additionally requires `users.create`, `users.edit`, `users.delete`, `roles.create` and `roles.edit`. The file is not shared because it contains password hashes. ## Actions menu ![User row Actions menu](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanici-islemler.png) 1. Name, phone, roles and org unit 2. Personal permissions on top of roles 3. Narrows rights to warehouses and work centers 4. Reset link or manual password 5. Disables the account — record is kept | Item | When it appears | Permission | Page | |---|---|---|---| | **Kullanıcıyı Düzenle** (Edit User) | On an active account | `users.edit` | [Assign a role to a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama) | | **Ekstra Yetkiler** (Extra Permissions) | On an active account | `users.edit` | [Grant extra permissions](https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme) | | **Organizasyon Kısıtlaması** (Organizational Restriction) | On an active account | `users.edit` | [Assign an organizational restriction](https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme) | | **Şifre** (Password) | On an active account | `users.edit` | [Reset a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama) | | **Daveti Yeniden Gönder** (Resend Invitation) | On an account with a pending invitation | `users.create` | [Invite a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme) | | **Kilidi Kaldır** (Unlock) | Only on a locked account | `users.edit` | [Unlock an account](https://erpdocs.corexlogic.com/en/yonetim/islemler/kilit-kaldirma) | | **Devre Dışı Bırak** (Disable) | On an active account | `users.delete` | [Disable a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciyi-devre-disi-birakma) | | **Geri Yükle** (Restore) | On a disabled account | `users.delete` | same page | A disabled account has no editing items; a user without the `users.delete` permission sees "Devre dışı hesapta işlem yok" (No actions on a disabled account) there. ## New User window ![New User — User Information](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici.png) 1. Tabs — information, roles, org unit 2. E-mail — login ID, cannot be changed later 3. Invitation — single-use link valid for 3 days (recommended) 4. Administrator sets the password — account opens at once 5. Lock on failed attempts 6. Send Invitation — needs e-mail settings The window's description: "Hesap davetle ya da sizin belirlediğiniz şifreyle açılır. Etkili izinler seçilen rollerin ve birimin rollerinin birleşimidir." (The account is created with an invitation or with a password you set. The effective permissions are the union of the selected roles and the unit's roles.) | Tab | Field | Rule | |---|---|---| | **Kullanıcı Bilgileri** (User Information) › Kimlik (Identity) | **Ad** (First Name), **Soyad** (Last Name) | Required. | | | **E-posta** (Email) | Required. "Giriş kimliği olur; sonradan değiştirilemez." (Becomes the sign-in ID; cannot be changed later.) | | | **Telefon** (Phone) | Optional; digits, spaces, `+`, `( )` and `-`; 7–15 digits. | | **Kullanıcı Bilgileri** › Giriş ve Şifre (Sign-in and Password) | **Davet e-postası gönder — kullanıcı şifresini kendisi belirlesin** (Send an invitation email — let the user set their own password) | Default. A single-use link valid for 3 days; the account cannot sign in until the link is used. Requires email settings. | | | **Şifreyi ben belirleyeyim** (I will set the password) | The account is created immediately. **Şifre** (Password), **Şifre (tekrar)** (Password (again)), **Rastgele Üret** (Generate Random), **Kopyala** (Copy), **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in), **Hesabın açıldığını kullanıcıya e-postayla bildir** (Notify the user by email that the account has been created). The password is not included in any email. | | **Kullanıcı Bilgileri** › Güvenlik (Security) | **Hatalı şifre denemelerinde hesabı kilitle** (Lock the account on failed password attempts) | On by default. If off, attempts are unlimited. | | **Roller** (Roles) | Role list (grouped by area, searchable) | Multiple roles can be selected. For conflicting roles, a **Görevler ayrılığı uyarısı** (Segregation of duties warning). | | **Organizasyon Birimi** (Organizational Unit) | Unit tree | Visible only with `organization.view`; assigning requires `organization.edit`. | ![New User — administrator sets the password](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici-sifre.png) 1. Password — 8+ characters, a digit, a lowercase letter 2. Generate and Copy 3. Change password at first login 4. Notice e-mail — password is not included 5. Create Depending on the selected method, the confirm button is **Davet Gönder** (Send Invitation) or **Oluştur** (Create). ## Edit User window ![Edit User](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanici-duzenle.png) 1. Roles — add or remove roles 2. Account and login lock status 3. Save — disabled when nothing changed The same three tabs. The email is read-only ("Giriş kimliğidir, buradan değiştirilemez. Ad boşsa listede e-posta gösterilir." — It is the sign-in ID and cannot be changed here. If the name is empty, the email is shown in the list.). The **Durum** (Status) group shows **Hesap** (Account; Etkin (Active) / Devre dışı (Disabled)) and **Giriş kilidi** (Sign-in lock; if locked, the end time and the number of failed attempts). **Kaydet** (Save) is disabled if there are no changes. ## Extra Permissions window ![Extra Permissions — personal grants](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/ekstra-yetkiler.png) 1. All screens in menu — grants nothing 2. Search permissions 3. Locked — from a role, cannot be removed here 4. Grant a permission the role lacks 5. Reduce extra grants to read-only "Rolün üstüne kişiye özel izin verin. Kilitli izinler kullanıcının rollerinden gelir; kaldırmak için rolü düzenleyin." (Grant person-specific permissions on top of the role. Locked permissions come from the user's roles; to remove them, edit the role.) The permission tree is the same as in the role window (**Modül › Sayfa › İşlem** — Module › Page › Action). Locked rows come from roles. **Bütün ekranları göster** (Show all screens) opens all permitted screens in the person's menu ("rolünün ekran kataloğundan bağımsız; yetki vermez" — independent of the role's screen catalog; does not grant permissions). **Ek İzinleri Salt Okunur Yap** (Make Additional Permissions Read-Only) reduces only the directly granted additional permissions to view permissions. ## Organizational Restriction window ![Organization Restriction — warehouses and work centers](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/organizasyon-kisitlamasi.png) 1. Warehouses and Work Centers tabs 2. No selection = no restriction; selection narrows rights 3. Tick the allowed warehouses 4. Clears the selection of this type "Kısıtlama yetki vermez, daraltır: rolün izin verdiği işi seçilen depo ve iş merkezlerine sınırlar. Seçim yoksa o türde kısıt yok." (A restriction does not grant permissions, it narrows them: it limits the work the role permits to the selected warehouses and work centers. If nothing is selected, there is no restriction for that type.) Two tabs: **Depolar** (Warehouses) and **İş Merkezleri** (Work Centers); the tab name shows the number selected. **Bu Türdeki Kısıtı Kaldır** (Remove the Restriction for This Type) clears the selection on the open tab. An inactive warehouse or work center remains in the list with a "pasif" (inactive) note. ## Password window ![Password — link or manual](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/sifre.png) 1. Reset link valid for 30 minutes 2. Manual password — you hand it over 3. Must change at first login 4. Save — sets the manual password Two methods in the same window: **Sıfırlama bağlantısı gönder** (Send reset link; valid for 30 minutes, the user sets the password) and **Yeni Şifre (elle belirle)** (New Password (set manually); at least 8 characters; **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) checked by default). ## Confirmation windows ![Disable the account?](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/devre-disi-onay.png) 1. Login closes, open session ends; roles are kept | Window | Text | |---|---| | Hesap devre dışı bırakılsın mı? (Disable the account?) | "… giriş yapamaz olacak ve açık oturumu kapanacak. Kayıt SİLİNMİYOR: rolleri olduğu gibi duruyor, geçmiş belgeler hesabı göstermeye devam ediyor ve dilediğiniz zaman geri yükleyebilirsiniz." (… will not be able to sign in and their open session will be closed. The record is NOT DELETED: its roles remain as they are, past documents continue to show the account and you can restore it at any time.) | | Hesap geri yüklensin mi? (Restore the account?) | "… yeniden giriş yapabilecek. Kapatıldığı günkü rolleri ve yetkileri olduğu gibi geri gelir — yeniden atamanız gerekmez. Parolası değişmedi." (… will be able to sign in again. The roles and permissions it had on the day it was closed come back as they were — you do not need to reassign them. Its password has not changed.) | | Kilit kaldırılsın mı? (Remove the lock?) | "… art arda başarısız giriş denemesi nedeniyle kilitlendi ve süresi dolunca kilit kendiliğinden çözülecek. Kaldırırsanız hesap HEMEN giriş yapabilir. Şifre DEĞİŞMEZ: …" (… was locked because of repeated failed sign-in attempts, and the lock will clear by itself when it expires. If you remove it, the account can sign in IMMEDIATELY. The password does NOT CHANGE: …) | | Davet yeniden gönderilsin mi? (Resend the invitation?) | "… adresine 3 gün geçerli, tek kullanımlık yeni bir bağlantı gider. Daha önce gönderilen bağlantı artık çalışmaz." (A new single-use link valid for 3 days is sent to …. The previously sent link no longer works.) | ![Disabled accounts and Restore](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanicilar-pasif.png) 1. Status: Inactive (disabled) 2. Disabled badge 3. Restore — reopens with its roles ## Server rejection messages | Situation | Message | |---|---| | No email settings, invitation selected | "E-posta gönderimi yapılandırılmamış (Yönetim › Özelleştirme › Genel › E-posta Ayarları). Davet bağlantısı gönderilemez; hesabı şifre belirleyerek açabilirsiniz." (Email sending is not configured (Administration › Customization › General › Email Settings). The invitation link cannot be sent; you can create the account by setting a password.) | | Disabling your own account | "Kendi hesabınızı devre dışı bırakamazsınız. Bunu başka bir yönetici yapmalı." (You cannot disable your own account. Another administrator must do this.) | | Removing the role from the last Administrator | "… Yönetici rolünü taşıyan son etkin hesap. Rolü kaldırmadan önce başka bir kullanıcıya Yönetici rolü verin." (… is the last active account holding the Administrator role. Give another user the Administrator role before removing the role.) | | Resending an accepted invitation | "Bu hesabın daveti kabul edilmiş; şifre için sıfırlama bağlantısı gönderin." (This account's invitation has been accepted; send a reset link for the password.) | | Unlocking an account that is not locked | "Bu hesap kilitli değil." (This account is not locked.) | | License user limit | "Lisans en çok … etkin kullanıcıya izin veriyor; şu an … etkin kullanıcı var. Kullanılmayan bir hesabı kapatın ya da lisansı genişletin." (The license allows at most … active users; there are currently … active users. Close an unused account or extend the license.) | | Window validation | "Ad zorunlu." (First name is required.) · "Soyad zorunlu." (Last name is required.) · "E-posta zorunlu." (Email is required.) · "Geçerli bir e-posta adresi yazın." (Enter a valid email address.) · "Şifreler aynı değil." (The passwords do not match.) · "Kullanıcı bilgilerinde düzeltilmesi gereken alanlar var." (There are fields in the user information that need to be corrected.) | --- # Invite a user > Send a new employee an email invitation — the account is created and the user sets their own password through a link valid for 3 days. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.create` - **Prerequisites:** - Email sending is configured: **Yönetim › Özelleştirme › Genel › E-posta Ayarları** (Administration › Customization › General › Email Settings). Without this setting the invitation is rejected; [create the user with a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma) instead. - The role to be assigned is defined ([Create a role](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma)). - There is room within the license's active user limit. The invitation is the recommended way to open a new account: nobody sees the password; the user sets it themselves. ## Steps 1. Open the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen and click the **Yeni Kullanıcı** (New User) button. 2. Fill in the **Ad** (First Name), **Soyad** (Last Name) and **E-posta** (Email) fields. The email becomes the sign-in ID and cannot be changed later; **Telefon** (Phone) is optional. 3. In the **Giriş ve Şifre** (Sign-in and Password) group, leave **Davet e-postası gönder — kullanıcı şifresini kendisi belirlesin** (Send an invitation email — let the user set their own password) selected (default). 4. In the **Güvenlik** (Security) group, leave **Hatalı şifre denemelerinde hesabı kilitle** (Lock the account on failed password attempts) checked. ![New User — User Information](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici.png) 1. Tabs — information, roles, org unit 2. E-mail — login ID, cannot be changed later 3. Invitation — single-use link valid for 3 days (recommended) 4. Administrator sets the password — account opens at once 5. Lock on failed attempts 6. Send Invitation — needs e-mail settings 5. Switch to the **Roller** (Roles) tab, type part of the role's name in the **Rol ya da alan ara…** (Search role or area…) box and check the role. Select multiple roles if needed; if a **Görevler ayrılığı uyarısı** (Segregation of duties warning) appears, read the reason. ![New User — Roles tab](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici-roller.png) 1. Roles — count of selected in brackets 2. Search role or area 3. Tick the role; several roles allowed 6. If the person is to be attached to a unit, select the unit on the **Organizasyon Birimi** (Organizational Unit) tab (the tab requires `organization.view`, the assignment requires `organization.edit`). 7. Click **Davet Gönder** (Send Invitation). **Result:** The account is created in **Davet bekliyor** (Invitation pending) status and cannot sign in. The user opens the **Hesabınızı etkinleştirin** (Activate your account) page through the link in the email, enters their full name and password and clicks **Hesabımı Etkinleştir** (Activate My Account); they are then redirected to the sign-in screen. The link is valid for 3 days and can be used only once. ## The user's side 1. The link in the email opens the **Hesabınızı etkinleştirin** (Activate your account) page ("Davet edilen hesap: …" — Invited account: …). 2. The user enters **Ad soyad** (Full name; pre-filled with the name the inviter typed), **Parola** (Password) and **Parola (tekrar)** (Password (again)). The password must be at least 8 characters long and contain at least one lowercase letter and one digit. 3. **Hesabımı Etkinleştir** (Activate My Account) → "Hesabınız etkinleştirildi." (Your account has been activated.) → sign-in screen. ## What you need to know - If email is not configured, the window does not close and shows this message: "E-posta gönderimi yapılandırılmamış (Yönetim › Özelleştirme › Genel › E-posta Ayarları). Davet bağlantısı gönderilemez; hesabı şifre belirleyerek açabilirsiniz." (Email sending is not configured (Administration › Customization › General › Email Settings). The invitation link cannot be sent; you can create the account by setting a password.) The account is not created. - If the account was created but the email could not be sent at that moment: "Hesap açıldı ama davet e-postası gönderilemedi (…): … — listeden "Daveti Yeniden Gönder" ile tekrar deneyin." (The account was created but the invitation email could not be sent (…): … — try again from the list with "Resend Invitation".) - **Daveti Yeniden Gönder** (Resend Invitation; Actions menu, only on an account with a pending invitation) sends a new 3-day link; the previous link no longer works. On an accepted invitation: "Bu hesabın daveti kabul edilmiş; şifre için sıfırlama bağlantısı gönderin." (This account's invitation has been accepted; send a reset link for the password.) - An expired or used link: "Bu davet geçersiz ya da süresi dolmuş." (This invitation is invalid or has expired.) — "Yöneticinizden yeni bir davet göndermesini isteyin." (Ask your administrator to send a new invitation.) - Disabling an account with a pending invitation also invalidates the link. ## Related - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) - [Create a user with a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma) - [New user and permissions process](https://erpdocs.corexlogic.com/en/surecler/yeni-kullanici-ve-yetki) --- # Roles > The Roller (Roles) screen — role list, columns, the Actions menu and the Role Properties, Permissions and Screens tabs of the role window. URL: https://erpdocs.corexlogic.com/en/yonetim/ekranlar/roller - **Type:** Screen - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Roller (Administration › Users and Roles › Roles) - **Screen route:** `/roles` - **Required permission:** `roles.view` The list of roles and the role window. The screen's hint: "Yetki grupları — bir rolü açmak izinlerini bu sayfanın üstünde düzenler" (Permission groups — opening a role edits its permissions on top of this page). Concepts: [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). ![Roles list](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/roller.png) 1. New Role 2. Built-in — Administrator, cannot be deleted 3. Area and level (Staff · Manager · Administration) 4. Modules the role can write in 5. Active users holding the role 6. Click the role name to open it ## List Roles are sorted by area (Yönetim (Administration), Ana Veriler (Master Data), Satın Alma (Purchasing), Satış (Sales), Stok ve Depo (Inventory and Warehouse), Kalite (Quality), Üretim (Production), Lojistik (Logistics), Finans (Finance), Servis (Service)…); roles created by the organization itself are at the end of the list, and the area column shows "Kurumun rolleri" (Organization's roles). | Column | Content | |---|---| | **Rol** (Role) | The role's name (clicking it opens the role window; requires `roles.edit`), the **Yerleşik** (Built-in) badge (Administrator only), template deviation badges and the description. | | **Alan · Düzey** (Area · Level) | The role's area and level: **Eleman** (Staff), **Müdür** (Manager), **Yönetim** (Executive). For a role without a template, "Kurumun rolleri" (Organization's roles). | | **Kapsam (yazma)** (Scope (write)) | The modules for which the role has write permission. For a role that holds only view permissions, **Salt okunur** (Read-only). | | **Kullanıcı** (Users) | The number of active users who hold the role directly. | | **İzin** (Permissions) | The number of permissions in the role. | | **İşlem** (Action) | The **İşlemler** (Actions) menu. | | Badge | Meaning | |---|---| | **Yerleşik** (Built-in) | The Administrator role; cannot be deleted and holds all permissions. | | **Şablona +N izin** (+N permissions over template) | Permissions granted outside the template — "kurumun kararı, güncellemede korunur." (the organization's decision; preserved on upgrade.) | | **Şablondan N izin eksik** (N permissions missing from template) | Template permissions that are not in the role — "bir sonraki sürüm güncellemesinde geri yüklenir." (restored with the next release upgrade.) | The **Ara** (Search) box searches in the role name ("Rol adı ara…" — Search role name…). ## Actions menu ![Role row Actions menu](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-islemler.png) 1. Edit — permissions and screens 2. Copy — new role with these permissions 3. Delete — disabled for the built-in role | Item | Permission | Note | |---|---|---| | **Düzenle** (Edit) | `roles.edit` | Opens the role window. | | **Kopyala** (Copy) | `roles.create` | "Bu rolün izinleriyle yeni rol" (New role with this role's permissions) — the copy is not bound to the template. | | **Sil** (Delete) | `roles.delete` | Disabled for the Administrator role ("Yerleşik rol silinemez" — A built-in role cannot be deleted). The confirmation window shows the number of users who hold the role; "Geri alınamaz." (Cannot be undone.) | ## Role window For a new role, the window opens on the **Rol Özellikleri** (Role Properties) tab; for an existing role, on the **Yetkiler** (Permissions) tab. The bottom buttons are **Vazgeç** (Cancel) and **Rolü Oluştur** (Create Role) / **Kaydet** (Save). Description: "Rolün yetkilerini ağaçtan işaretleyin; kayıt rolü taşıyan herkese hemen yansır." (Check the role's permissions in the tree; saving applies immediately to everyone who holds the role.) ### Role Properties ![New Role — properties and template](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yeni.png) 1. Role name — cannot be changed later 2. Role template — starting permissions 3. Scope — modules the role writes in 4. Permissions and Screens tabs 5. Create Role | Field | Rule | |---|---| | **Rol adı** (Role name) | Required for a new role ("Rol adı zorunlu." — Role name is required.); a second role with the same name cannot be created. Cannot be changed after saving. | | **Kapsam (yazma)** (Scope (write)) | Write modules calculated from the selected permissions; "İzin seçilmedi" (No permission selected) or "Salt okunur" (Read-only). | | **Rol şablonu** (Role template) | Only for a new role: **Şablonsuz — yetkileri elle seç** (No template — select permissions manually) or predefined templates grouped by area. Selecting a template fills the permissions and the screen catalog from the template ("Şablon bir başlangıç noktasıdır; yetkileri Yetkiler sekmesinde değiştirebilirsiniz." — The template is a starting point; you can change the permissions on the Permissions tab.). For an existing role, the template's name or "Kurumun rolü — şablona bağlı değil" (Organization's role — not bound to a template) is shown. | | **Alan · Düzey** (Area · Level), **Açıklama** (Description), **Şablonun izni** (Template permissions) | Information about the selected template. | For a role bound to a template (predefined role), a lock note appears: ![Template role — locked permissions](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-sablon-kilidi.png) 1. Template the role is bound to 2. Template permissions locked; add more or Copy to narrow "Bu rol hazır bir rol şablonundan geliyor. Şablonun N izni kilitli: her sürüm güncellemesinde geri yüklendiği için buradan kaldırılamaz. Role ek izin verebilirsiniz; daha dar bir yetki için listede rolü Kopyalayın." (This role comes from a predefined role template. The template's N permissions are locked: because they are restored with every release upgrade, they cannot be removed here. You can grant additional permissions to the role; for narrower authorization, Copy the role in the list.) If additional permissions have been granted on top of the template, **Şablona Döndür** (Revert to Template) removes them. For the Administrator role: "Bu rol bütün izinleri taşır ve değiştirilemez." (This role holds all permissions and cannot be changed.) ### Permissions ![Role — permission tree](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yetkiler.png) 1. Granted / total permissions 2. Search — module, page or action 3. Module — ticks all at once 4. Action — a single permission 5. Permission not granted in this role 6. Read Only — keeps only View permissions The permission tree is organized as **Modül › Sayfa › İşlem** (Module › Page › Action); each node has a three-state checkbox and a "selected/total" count. The tab name shows the "granted/total" count. | Tool | Purpose | |---|---| | **Ara… (modül, sayfa ya da işlem)** (Search… (module, page or action)) | Matching branches open expanded. | | **Tümünü Aç** (Expand All) · **Tümünü Kapat** (Collapse All) | Expands or collapses the branches (disabled while searching). | | **Tümünü Seç** (Select All) · **Temizle** (Clear) | Selects or removes all (unlocked) permissions. | | **Salt Okunur** (Read-Only) | Reduces the selection to **Görüntüle** (View) permissions only. | | ⓘ icon | The actual scope of the permission and the second permission required in the user interface. | | Lock icon | Comes from the template; cannot be removed. | | "(özellik kapalı)" (feature off) | The permission's feature is turned off in Module Management; the permission can be granted but has no effect. | Keyboard: ↑ ↓ node, → expand, ← collapse, Space checkbox, Enter expand/collapse. > **Turkish characters in search** In this release, the search in the tree returns no results for a term containing **ş, ı, ğ, ü, ö, ç** (e.g. "sipariş" returns "Eşleşen izin yok." — No matching permission.). Type a fragment that does not contain these characters: `siparis`, `teklif`, `fiyat`, `stok`. ### Screens ![Role — Screens (menu catalog)](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-ekranlar.png) 1. All screens — every permitted screen in the menu 2. Adds screens the role writes to 3. Area › section › screen — shown in the menu 4. Selected / total screens The screens the role shows in the menu — an **area › section › screen** tree, like the menu itself. The catalog does not grant permissions; the menu is drawn from the intersection of the catalog and the permissions. | Tool | Purpose | |---|---| | **Bütün ekranlar — katalog yok** (All screens — no catalog) | "Yönetici ve Denetçi gibi; izni olduğu her ekran menüde" (Like Administrator and Auditor; every screen it has permission for is in the menu). While checked, the tree is disabled. | | **Tümünü Seç** (Select All) · **Temizle** (Clear) | Selects or removes all screens. | | **Yazdığı Ekranları İşaretle (N)** (Mark the Screens It Writes To (N)) | Adds the screens of the resources the role has write permission for that are not in the menu. In the tree, these screens carry a "yazar" (writes) note. | | **Şablonun Kataloğuna Dön** (Revert to Template Catalog) | Returns to the template's screen list; your selections are deleted. | The line at the bottom states the status: if the catalog is empty, "Katalog boş — menü rolün yazdığı kaynakların ekranlarıyla (N) çizilir." (Catalog empty — the menu is drawn with the screens of the resources the role writes to (N).); if something is missing, "Rolün yazdığı N ekran menüde değil — "Yazdığı Ekranları İşaretle" ekler." (N screens the role writes to are not in the menu — "Mark the Screens It Writes To" adds them.) ## Server rejection messages | Situation | Message | |---|---| | Deleting the Administrator role | "Yerleşik Yönetici rolü silinemez." (The built-in Administrator role cannot be deleted.) | | Removing a template permission | "'…' bir rol şablonu: şablonun N izni kaldırılamaz — bu izinler her sürüm güncellemesinde geri yüklenir. Daha dar bir yetki için rolü kopyalayıp yeni bir rol oluşturun." ('…' is a role template: the template's N permissions cannot be removed — these permissions are restored with every release upgrade. For narrower authorization, copy the role and create a new role.) | | Deleting a role used in an approval template | "'…' rolü '…' onay şablonunda kullanılıyor. Önce Onay Şablonları'nda aşamayı başka bir role verin." (The role '…' is used in the approval template '…'. First assign the stage to another role in Approval Templates.) (if there are pending approvals, "… ve bekleyen onayları sonuçlandırın." — … and complete the pending approvals.) | | A role with the same name | "'…' adında bir rol zaten var." (A role named '…' already exists.) | | Granting the `users.import` permission | "users.import iznini yalnız bu izni taşıyan bir yönetici verebilir." (The users.import permission can be granted only by an administrator who holds this permission.) | --- # Create a user with a password > Create a user with a password set by the administrator when email is not configured or the account is needed immediately; changing the password at first sign-in is mandatory. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-sifreyle-olusturma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.create` - **Prerequisites:** - The role to be assigned is defined. - You can pass the password to the user through a secure channel (in person, by phone) — the password is not included in any email. If the invitation email cannot be sent (no email settings) or the person needs to sign in immediately, the account is created with a password set by the administrator. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, click **Yeni Kullanıcı** (New User); fill in **Ad** (First Name), **Soyad** (Last Name) and **E-posta** (Email). 2. In the **Giriş ve Şifre** (Sign-in and Password) group, select **Şifreyi ben belirleyeyim** (I will set the password). 3. Click **Rastgele Üret** (Generate Random; the password is written to both fields and becomes visible) or type the password twice yourself. Rule: at least 8 characters; at least one digit and one lowercase letter. Copy the password to the clipboard with **Kopyala** (Copy). 4. Leave **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) checked. If you want an information email to be sent to the user, leave **Hesabın açıldığını kullanıcıya e-postayla bildir** (Notify the user by email that the account has been created) checked (requires email settings; the password is not written in the email). ![New User — administrator sets the password](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/yeni-kullanici-sifre.png) 1. Password — 8+ characters, a digit, a lowercase letter 2. Generate and Copy 3. Change password at first login 4. Notice e-mail — password is not included 5. Create 5. Select the roles on the **Roller** (Roles) tab and, if needed, the unit on the **Organizasyon Birimi** (Organizational Unit) tab. 6. Click **Oluştur** (Create). **Result:** The account can sign in immediately. At first sign-in the user sees the **Parolanızı değiştirin** (Change your password) screen: they enter **Mevcut parola** (Current password; the one you gave), **Yeni parola** (New password) and **Yeni parola (tekrar)** (New password (again)) and click **Parolamı Değiştir ve Devam Et** (Change My Password and Continue). They cannot go to any screen without changing it. ## What you need to know - Copy the password before saving; once the window closes, the password is never shown again. The window's note: "Şifre e-postada yer almaz: kullanıcıya kendiniz iletin — kaydetmeden önce kopyalayın." (The password is not included in the email: pass it to the user yourself — copy it before saving.) - While **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) is checked, if the user tries to perform an action without changing the password, the server rejects it: "Devam etmeden önce parolanızı değiştirmeniz gerekiyor — bu parolayı sizden başka biri de biliyor." (You must change your password before continuing — someone other than you also knows this password.) - The new password cannot be the same as the old one: "Yeni parola mevcut paroladan farklı olmalı." (The new password must be different from the current password.) - A value that does not meet the password rule: "En az 8 karakter olmalı." (Must be at least 8 characters.) · "En az bir rakam içermeli." (Must contain at least one digit.) · "En az bir küçük harf içermeli." (Must contain at least one lowercase letter.) · if the two fields differ, "Şifreler aynı değil." (The passwords do not match.) - To change the password later or to send a link: [Reset a password](https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama). ## Related - [Invite a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullanici-davet-etme) - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) --- # Organization chart > Organizasyon Şeması (Organization Chart) — company, department and team units, the users attached to units and the roles assigned to units. URL: https://erpdocs.corexlogic.com/en/yonetim/ekranlar/organizasyon-semasi - **Type:** Screen - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Kuruluş Yapısı › Organizasyon Şeması (Administration › Customization › Organizational Structure › Organization Chart) - **Screen route:** `/organization` - **Required permission:** `organization.view` The company's units (company, department, team) and the users attached to them. The screen's hint: "Şirket, departman ve ekipler ile bunlara bağlı kişiler. Bir birime rol verdiğinizde o birimdeki herkes rolü otomatik alır." (Company, departments and teams and the people attached to them. When you assign a role to a unit, everyone in that unit receives the role automatically.) ![Organization Chart](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/organizasyon-semasi.png) 1. New Unit — company, department, team 2. Everyone in a unit gets the unit's roles 3. Users not assigned to a unit ## Sections | Section | Content | |---|---| | **Birimler** (Units) | The unit tree and the users under each unit. Search: "Birim veya kişi ara…" (Search unit or person…). | | **Birime bağlı olmayanlar** (Not attached to a unit) | Users who are not attached to any unit; they are attached to a unit with **Birim seç** (Select unit) on the row ("Birim seçtiğinizde yukarıdaki şemada o birimin altına taşınırlar." — When you select a unit, they are moved under that unit in the chart above.). | ## Actions menu of a unit row | Item | Permission | Purpose | |---|---|---| | **Alt birim ekle** (Add sub-unit) | `organization.create` | A new unit under this unit. | | **Birimi düzenle** (Edit unit) | `organization.edit` | **Ad** (Name), **Tür** (Type), **Sıra** (Order), **Üst Birim** (Parent Unit), **Yönetici** (Manager), **Aktif** (Active). | | **Rolleri yönet** (Manage roles) | `organization.edit` | Assigns roles to the unit — [Assign a role to a unit](https://erpdocs.corexlogic.com/en/yonetim/islemler/birime-rol-verme). | | **Birimi sil** (Delete unit) | `organization.delete` | With the "Birim silinsin mi?" (Delete the unit?) confirmation. | A user row has **Başka birime taşı** (Move to another unit) and **Birimden çıkar** (Remove from unit). A user's unit can also be changed on the **Kullanıcılar › Kullanıcıyı Düzenle › Organizasyon Birimi** (Users › Edit User › Organizational Unit) tab (`organization.edit`). ## Units and permissions - The roles assigned to a unit are added to the effective permissions of **every user** in the unit; the change applies to all members immediately. - Only the user's **own unit** counts: the roles of a parent unit are not passed down to a person in a sub-unit. - The user who is the unit's **Yönetici** (Manager) automatically receives the permission to view and edit service calls. - Roles that come from the unit are not shown in the **Roller** (Roles) column of the **Kullanıcılar** (Users) list. When looking for the reason why a person holds a permission, also check their unit and the unit's roles. Details: [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli). --- # Create a role > Create a new role — name, optional role template, permissions in the permissions tree and the screen catalog; the role is saved in a single step. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-olusturma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Roller (Administration › Users and Roles › Roles) - **Screen route:** `/roles` - **Required permission:** `roles.create` - **Prerequisites:** - It is clear which tasks the role will perform. Predefined roles and recipes: [Role examples](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri). A role is the name of a set of permissions that are granted to users together. You design the role once and assign it to many people; when the role's permissions change, everyone who holds the role is affected. ## Steps 1. Open the **Yönetim › Kullanıcı ve Roller › Roller** (Administration › Users and Roles › Roles) screen and click the **Yeni Rol** (New Role) button. 2. Enter the role's name in the **Rol adı** (Role name) field. The name cannot be changed later. 3. If you want to start from a predefined role, select the template from the **Rol şablonu** (Role template) list (e.g. **Satış Temsilcisi · Eleman** (Sales Representative · Staff)). The permissions and screens are filled from the template; **Kapsam (yazma)** (Scope (write)) shows the write modules. To start from scratch, leave **Şablonsuz — yetkileri elle seç** (No template — select permissions manually). ![New Role — properties and template](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yeni.png) 1. Role name — cannot be changed later 2. Role template — starting permissions 3. Scope — modules the role writes in 4. Permissions and Screens tabs 5. Create Role 4. Switch to the **Yetkiler** (Permissions) tab. Type a fragment without Turkish characters in the search box (**Ara… (modül, sayfa ya da işlem)** — Search… (module, page or action)), e.g. `siparis`; the matching branches open. 5. Check the boxes of the permissions to be granted and uncheck those not to be granted. A module or page box selects all the permissions below it together. Example: uncheck **Satış Siparişleri · Kapat** (Sales Orders · Close). ![Role — permission tree](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yetkiler.png) 1. Granted / total permissions 2. Search — module, page or action 3. Module — ticks all at once 4. Action — a single permission 5. Permission not granted in this role 6. Read Only — keeps only View permissions 6. On the **Ekranlar** (Screens) tab, check the screens that will appear in the menu. The screens of the resources you granted write permission for are checked automatically; if any are missing, click **Yazdığı Ekranları İşaretle** (Mark the Screens It Writes To). ![Role — Screens (menu catalog)](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-ekranlar.png) 1. All screens — every permitted screen in the menu 2. Adds screens the role writes to 3. Area › section › screen — shown in the menu 4. Selected / total screens 7. Click **Rolü Oluştur** (Create Role). **Result:** The role is saved and appears in the **Roller** (Roles) list (the permission count in the **İzin** (Permissions) column). To assign the role to users: [Assign a role to a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama). ## What you need to know - **A role created from a template is not bound to the template.** All of its permissions can be changed; a release upgrade does not add permissions to this role. The predefined role itself, however, is bound to the template, and the template's permissions are locked. - **Starting from an existing role:** the role's **İşlemler › Kopyala** (Actions › Copy) in the list opens the new role window with the role's permissions and screens ("… rolünün N izniyle başlar; ad verip izinleri daraltın." — Starts with the N permissions of the … role; give it a name and narrow the permissions.). - The **Salt Okunur** (Read-Only) button reduces the selection to **Görüntüle** (View) permissions only; it is a quick start for a read-only role. - If the role was created but the permissions could not be saved: "'…' rolü oluşturuldu ancak izinleri kaydedilemedi. Rolü listeden açıp izinleri yeniden deneyebilirsiniz." (The role '…' was created but its permissions could not be saved. You can open the role from the list and try the permissions again.) - If a role with the same name exists: "'…' adında bir rol zaten var." (A role named '…' already exists.) If the name is empty: "Rol adı zorunlu." (Role name is required.) - The Screens tab does not grant permissions: a screen without permission does not appear in the menu even if it is checked in the catalog. - In this release, the search in the tree does not match terms with Turkish characters ("sipariş" → "Eşleşen izin yok." — No matching permission.); use a fragment without such characters. ## Related - [Roles screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/roller) - [Change a role's permissions](https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-yetkilerini-duzenleme) - [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) - [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi) --- # Monitoring screens > The İşlem Kayıtları (Audit Log — the trail of record changes) and Erişim Günlüğü (Access Log — sign-in, failed sign-in, lock, sign-out) screens. URL: https://erpdocs.corexlogic.com/en/yonetim/ekranlar/izleme - **Type:** Screen - **Module:** Administration - **Menu path:** Yönetim › İzleme (Administration › Monitoring) - **Screen route:** `/audit` - **Required permission:** `audit.view` Both screens open with the `audit.view` permission. Among the predefined roles, **Yönetici** (Administrator) and **Denetçi (Salt Okunur)** (Auditor (Read-Only)) hold this permission. ## Access Log **Yönetim › İzleme › Erişim Günlüğü** (Administration › Monitoring › Access Log) (`/access-log`). The screen's hint: "Giriş, çıkış, başarısız deneme, kilitlenme ve oturum iptali. Kayıtlar 2 yıl saklanır; parola hiçbir alanda tutulmaz" (Sign-in, sign-out, failed attempt, lockout and session revocation. Records are kept for 2 years; the password is not stored in any field). ![Access Log](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/erisim-gunlugu.png) 1. Event filter — login, failed login, lock, logout 2. Search by user or e-mail 3. Event type 4. Source address | Filter | | |---|---| | **Başlangıç** (Start) · **Bitiş** (End) | Date range. | | **Olay** (Event) | Event type (see below). | | **Ara** (Search) | User name or email. | Columns: **Zaman** (Time), **Olay** (Event), **Kullanıcı** (User), **E-posta** (Email), **Kaynak adres** (Source address), **Açıklama** (Description). | Event | When it is written | In the Description column | |---|---|---| | **Giriş yapıldı** (Signed in) | Successful sign-in | — | | **Giriş başarısız** (Sign-in failed) | Failed sign-in | "Bilinmeyen e-posta" (Unknown email), "Hesap devre dışı" (Account disabled), "Hatalı parola" (Wrong password), "Varsayılan parola reddedildi" (Default password rejected) | | **Hesap kilitlendi** (Account locked) | Failed attempts set the lock | "Hatalı parola, hesap kilitlendi" (Wrong password, account locked) | | **Kilitliyken deneme** (Attempt while locked) | A sign-in was attempted with a locked account | "Hesap kilitli" (Account locked) | | **Çıkış yapıldı** (Signed out) | The user signed out | — | | **Oturum düşürüldü** (Session terminated) | An open session became invalid | "Hesap devre dışı" (Account disabled), "Oturum geçersiz — parola ya da güvenlik damgası değişti" (Session invalid — password or security stamp changed) | When investigating a user's sign-in problem, first search for that person's email here: the description shows whether it is a wrong password, a lock or a disabled account. ## Audit Log **Yönetim › İzleme › İşlem Kayıtları** (Administration › Monitoring › Audit Log) (`/audit`). "Sistem genelinde denetim kaydı — kullanıcı bazlı filtrelenebilir" (System-wide audit trail — can be filtered by user). ![Audit Log](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/islem-kayitlari.png) 1. User filter 2. Entity type — which record 3. Create · Update · Delete 4. Changed fields 5. Old and new value | Filter | | |---|---| | **Kullanıcı** (User) | The account that made the change. | | **Varlık türü** (Entity type) | The type of record (Kullanıcı (User), Satın Alma Siparişi (Purchase Order), Ürün Ağacı Revizyonu (BOM Revision)…). | | **İşlem** (Action) | **Oluşturma** (Create) · **Güncelleme** (Update) · **Silme** (Delete). | | **Tarih aralığı** (Date range) | | | **Kaynak** (Source) | **Güncel kayıtlar** (Current records) · **Arşiv (saklama süresi dolanlar)** (Archive (past retention period)). | Columns: **Zaman** (Time), **Kullanıcı** (User), **İşlem** (Action), **Varlık** (Entity), **Değişen alanlar** (Changed fields), **Ayrıntı** (Details). The eye icon on the row (**Değişikliği göster** — Show change) opens the old and new values of the fields. Example: the row in the screenshot is the demo sales representative changing their password at first sign-in — the **Güvenlik Damgası** (Security Stamp) field of the **Kullanıcı** (User) entity was updated. Role permissions and role assignments to users are also recorded here; in these rows the entity type may appear with its technical name. --- # Change a role's permissions > Add permissions to or remove permissions from an existing role; locked permissions in a template role and narrowing by copying. The change applies immediately to everyone who holds the role. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/rol-yetkilerini-duzenleme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Roller (Administration › Users and Roles › Roles) - **Screen route:** `/roles` - **Required permission:** `roles.edit` ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Roller** (Administration › Users and Roles › Roles) screen, click the role's name or select **İşlemler › Düzenle** (Actions › Edit) on the row. 2. Find the permission you are looking for with the **Ara… (modül, sayfa ya da işlem)** (Search… (module, page or action)) box (type a fragment without Turkish characters) or expand the tree with **Tümünü Aç** (Expand All). 3. To add a permission, check its box; to remove it, uncheck it. Permissions with a lock icon come from the template and cannot be removed. ![Role — permission tree](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-yetkiler.png) 1. Granted / total permissions 2. Search — module, page or action 3. Module — ticks all at once 4. Action — a single permission 5. Permission not granted in this role 6. Read Only — keeps only View permissions 4. If you granted a new write permission, check on the **Ekranlar** (Screens) tab that the related screens are checked. 5. Click **Kaydet** (Save). **Result:** All users who hold the role work with the new permissions **immediately**; signing in again is not required, and the menu of open sessions is refreshed. For checks that look at the role name, such as approval steps and document history, the user should refresh the page. ## Narrow a template role In a predefined role (e.g. **Satış Temsilcisi** (Sales Representative)), the template's permissions are locked: ![Template role — locked permissions](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/rol-sablon-kilidi.png) 1. Template the role is bound to 2. Template permissions locked; add more or Copy to narrow A request that tries to remove a locked permission is rejected: "'…' bir rol şablonu: şablonun N izni kaldırılamaz — bu izinler her sürüm güncellemesinde geri yüklenir. Daha dar bir yetki için rolü kopyalayıp yeni bir rol oluşturun." ('…' is a role template: the template's N permissions cannot be removed — these permissions are restored with every release upgrade. For narrower authorization, copy the role and create a new role.) What to do: 1. Select the role's **İşlemler › Kopyala** (Actions › Copy) in the list. 2. Name the new role, remove the permissions you do not want and click **Rolü Oluştur** (Create Role). 3. Take the old role away from the users and give them the new one: [Assign a role to a user](https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama). The **additional** permissions you grant to a template role are preserved; the list shows a "Şablona +N izin" (+N permissions over template) badge. To revert the additional permissions, use **Şablona Döndür** (Revert to Template) in **Rol Özellikleri** (Role Properties). ## What you need to know - The change affects **everyone** who holds the role. If a single person needs an extra permission, grant an [extra permission](https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme) instead of changing the role. - A permission of a feature that is turned off appears with the "(özellik kapalı)" (feature off) note; it can be granted but has no effect until the feature is turned on. - The **Yönetici** (Administrator) role holds all permissions and cannot be changed ("Bu rol bütün izinleri taşır ve değiştirilemez." — This role holds all permissions and cannot be changed.). - The role name cannot be changed. ## Related - [Roles screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/roller) - [Permission list](https://erpdocs.corexlogic.com/en/yonetim/izin-listesi) --- # Assign a role to a user > Add a role to or remove a role from an existing user, change their organizational unit; the segregation of duties warning. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciya-rol-atama - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.edit` - **Prerequisites:** - The user is active (a disabled account cannot be edited). - `roles.view` for the role list. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, find the user with the **Ara** (Search) box. 2. Select **Kullanıcıyı Düzenle** (Edit User) from the row's **İşlemler** (Actions) menu. ![User row Actions menu](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanici-islemler.png) 1. Name, phone, roles and org unit 2. Personal permissions on top of roles 3. Narrows rights to warehouses and work centers 4. Reset link or manual password 5. Disables the account — record is kept 3. Switch to the **Roller** (Roles) tab. Check the role you want to assign and uncheck the one you want to remove. The tab name shows the number of selected roles. ![Edit User](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanici-duzenle.png) 1. Roles — add or remove roles 2. Account and login lock status 3. Save — disabled when nothing changed 4. If a **Görevler ayrılığı uyarısı** (Segregation of duties warning) appears, read the conflicting roles and the reason. The warning does not block saving; if you are assigning the role knowingly, continue. ![Segregation of duties warning](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/gorevler-ayriligi.png) 1. Conflicting roles and why — saving is not blocked 5. If the person's unit changes, select the new unit on the **Organizasyon Birimi** (Organizational Unit) tab. 6. Click **Kaydet** (Save; the button is disabled if there are no changes). **Result:** The user's permissions are calculated according to the new roles on their next request; signing in again is not required. For checks that look at the role name, such as approval steps and document history, the user should refresh the page. ## What you need to know - Effective permissions = the user's roles ∪ the roles of their unit ∪ their extra permissions. Roles that come from the unit do not appear on this tab; see [Organization chart](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/organizasyon-semasi). - A role cannot be removed from the last active account that holds the **Yönetici** (Administrator) role: "… Yönetici rolünü taşıyan son etkin hesap. Rolü kaldırmadan önce başka bir kullanıcıya Yönetici rolü verin." (… is the last active account holding the Administrator role. Give another user the Administrator role before removing the role.) - If you change your own roles, your menu is refreshed immediately after saving. - If saving is only partially completed (e.g. the roles were saved but the unit could not be saved), a message remains in the window and the list is refreshed; save the missing part again. ## Related - [Role examples](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri) - [Permission model — segregation of duties](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli#gorevler-ayriligi) --- # Grant extra permissions > Grant a user person-specific permissions beyond their role, or show all permitted screens in their menu. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/ekstra-yetki-verme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.edit` - **Prerequisites:** - The user is active. An extra permission is the way to grant a single person a permission above their role: it opens up a temporary or exceptional task for a user without changing the role. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, select **İşlemler › Ekstra Yetkiler** (Actions › Extra Permissions) on the user's row. 2. Find the permission with the **Ara… (modül, sayfa ya da işlem)** (Search… (module, page or action)) box (type a fragment without Turkish characters, e.g. `teklif`). 3. Check the permission you want to grant. Locked permissions (those that come from roles) cannot be changed. ![Extra Permissions — personal grants](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/ekstra-yetkiler.png) 1. All screens in menu — grants nothing 2. Search permissions 3. Locked — from a role, cannot be removed here 4. Grant a permission the role lacks 5. Reduce extra grants to read-only 4. If you want all permitted screens to appear in the person's menu regardless of their role's catalog, check **Bütün ekranları göster** (Show all screens); this does not grant any permission. 5. Click **Kaydet** (Save). **Result:** The additional permission takes effect on the user's next request. The permission stays with this person only; other users who hold the role are not affected. ## What you need to know - Extra permissions **only add**. To take a permission that comes from a role away from a person, give them a narrower role. - **Ek İzinleri Salt Okunur Yap** (Make Additional Permissions Read-Only) reduces only the additional permissions granted directly in this window to view permissions; it does not touch those that come from roles. - Additional permissions are tied to the person and do not appear in the Users list; review the exceptions in this window at regular intervals. - The `users.import` permission can be granted only by an administrator who holds this permission. - Approval permissions such as **Onayla** (Approve) are not sufficient on their own: if a step of the approval template requires a specific role, the user must also hold that role. ## Related - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) - [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) --- # Assign an organizational restriction > Narrow a user's inventory and production work to selected warehouses and work centers. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/organizasyon-kisitlamasi-verme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.edit` - **Prerequisites:** - The user's role contains the relevant write permissions (a restriction does not grant permissions; it only narrows them). Use this to tie a warehouse supervisor to their own warehouse only, or an operator to their own line only. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, select **İşlemler › Organizasyon Kısıtlaması** (Actions › Organizational Restriction) on the user's row. 2. On the **Depolar** (Warehouses) tab, check the warehouses the user will work in. You can search with the **Depo kodu ya da adı…** (Warehouse code or name…) box. ![Organization Restriction — warehouses and work centers](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/organizasyon-kisitlamasi.png) 1. Warehouses and Work Centers tabs 2. No selection = no restriction; selection narrows rights 3. Tick the allowed warehouses 4. Clears the selection of this type 3. If a restriction is also needed in production, check the work centers on the **İş Merkezleri** (Work Centers) tab. 4. Click **Kaydet** (Save). **Result:** The user posts stock only in the selected warehouses and sees only those in the work queues; they enter confirmations, consumption and output only at the selected work centers. The change takes effect on the next request. ## Effect of the restriction | Type | The restricted user… | Rejection message | |---|---|---| | Warehouse | cannot post stock to a warehouse they are not permitted for; cannot open physical inventory counts, warehouse tasks, waves, transfers or reservations there; sees only the selected warehouses in the work queues | `'' deposunda işlem yetkiniz yok.` (You are not authorized to perform transactions in warehouse '…'.) | | Work center | cannot post confirmations, consumption, output, capacity scheduling or backflush at a work center they are not permitted for; a restriction on a parent work center covers its child work centers | `'' iş merkezinde işlem yetkiniz yok.` (You are not authorized to perform transactions at work center '…'.) | ## What you need to know - If nothing is selected for a type, there is **no restriction** for that type — the user works in all warehouses (or work centers). To remove a restriction, use **Bu Türdeki Kısıtı Kaldır** (Remove the Restriction for This Type) and **Kaydet** (Save). - The restriction is independent of the role and specific to the person; two people with the same role can be restricted to different warehouses. - A warehouse or work center that becomes inactive appears in the saved restriction with a "pasif" (inactive) note. - There is no company- or organization-level restriction for sales, purchasing and finance documents; visibility of sales documents is narrowed through sales channel membership. ## Related - [Permission model — data restrictions](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) - [Role examples — warehouse supervisor](https://erpdocs.corexlogic.com/en/yonetim/rol-ornekleri) --- # Assign a role to a unit > Assign a role to a unit in the organization chart — everyone attached to the unit automatically receives the role's permissions. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/birime-rol-verme - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Kuruluş Yapısı › Organizasyon Şeması (Administration › Customization › Organizational Structure › Organization Chart) - **Screen route:** `/organization` - **Required permission:** `organization.edit` - **Prerequisites:** - The unit is defined (**Yeni Birim** (New Unit) or **Alt birim ekle** (Add sub-unit), `organization.create`). - The users are attached to the unit (in the unit tree or via **Kullanıcıyı Düzenle › Organizasyon Birimi** (Edit User › Organizational Unit)). Instead of assigning a role to each person in the same team individually, you can assign the role to the unit. ## Steps 1. Open the **Yönetim › Özelleştirme › Kuruluş Yapısı › Organizasyon Şeması** (Administration › Customization › Organizational Structure › Organization Chart) screen. ![Organization Chart](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/organizasyon-semasi.png) 1. New Unit — company, department, team 2. Everyone in a unit gets the unit's roles 3. Users not assigned to a unit 2. In the **Birimler** (Units) tree, select **Rolleri yönet** (Manage roles) from the **İşlemler** (Actions) menu on the unit's row. 3. Turn on the switch of each role to be assigned to the unit and turn off the switch of each role to be removed. 4. Click **Kaydet** (Save). **Result:** Every user attached to the unit automatically inherits the permissions of the selected roles; the change applies to all members immediately ("Bu birime bağlanan kullanıcı, seçili rollerin izinlerini otomatik devralır. Değişiklik tüm üyelere anında yansır." — A user attached to this unit automatically inherits the permissions of the selected roles. The change applies to all members immediately.). ## What you need to know - Only the user's **own unit** counts. A role assigned to a parent unit is not passed down to a person in a sub-unit; assign the role to each unit separately. - Roles that come from the unit do not appear in the **Roller** (Roles) column of the **Kullanıcılar** (Users) list. When you are looking for the reason why a person holds a permission, check their unit as well. - The user selected as the unit's **Yönetici** (Manager) automatically receives the permission to view and edit service calls. - The segregation of duties warning appears only in the user window, for roles assigned directly to the person; monitor conflicts created through unit roles yourself. ## Related - [Organization chart](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/organizasyon-semasi) - [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) --- # Reset a password > Reset a user's password — send a link valid for 30 minutes or set the password manually; users changing their own password. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.edit` - **Prerequisites:** - For the link method, email settings (**Yönetim › Özelleştirme › Genel › E-posta Ayarları** — Administration › Customization › General › Email Settings). ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, select **İşlemler › Şifre** (Actions › Password) on the user's row. ![Password — link or manual](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/sifre.png) 1. Reset link valid for 30 minutes 2. Manual password — you hand it over 3. Must change at first login 4. Save — sets the manual password 2. **Recommended method:** in the **Sıfırlama bağlantısı gönder** (Send reset link) section, click **Bağlantı Gönder** (Send Link). A link valid for 30 minutes is sent to the user; the user sets the password and you do not see it. 3. **If there is no email:** enter a password of at least 8 characters in the **Yeni Şifre (elle belirle)** (New Password (set manually)) field. Leave **İlk girişte şifre değiştirilmesi zorunlu olsun** (Require password change at first sign-in) checked. 4. Click **Kaydet** (Save) and pass the password to the user through a secure channel. When finished, click **Kapat** (Close). **Result:** With a manually set password, the user first sees the **Parolanızı değiştirin** (Change your password) screen at sign-in. When the password changes, the user's open session ends on the next request and they must sign in with the new password. ## Users on their own - **Parolamı unuttum** (Forgot my password; sign-in screen): enter the email address and click **Sıfırlama Bağlantısı Gönder** (Send Reset Link) → "Talebiniz alındı." (Your request has been received.) The link opens the **Yeni parola belirleyin** (Set a new password) page: **Yeni parola** (New password), **Yeni parola (tekrar)** (New password (again)) → **Parolamı Güncelle** (Update My Password). - A signed-in user changes their password in the **Şifre Değiştir** (Change Password) section of **Profil** (Profile): **Mevcut Şifre** (Current Password), **Yeni Şifre** (New Password), **Yeni Şifre (Tekrar)** (New Password (Again)) → **Şifreyi Güncelle** (Update Password). ## What you need to know - Sending a link does not unlock the account; for a locked account, also [unlock the account](https://erpdocs.corexlogic.com/en/yonetim/islemler/kilit-kaldirma) or wait for the lock to expire (15 minutes). - If the reset link is incomplete or corrupted, the page says "Bu bağlantı eksik ya da bozuk." (This link is incomplete or corrupted.); for an expired link, send a new one. - If the email could not be sent, the server's error text appears in the window; check the email settings or set the password manually. - If you set your own password in this window, the requirement to change it at first sign-in is not applied. - A link can be sent even while the license is in read-only mode. ## Related - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) - [Permission model — account security](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli) --- # Unlock an account > Unlock an account that was locked after repeated failed password attempts before the lock expires. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/kilit-kaldirma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.edit` - **Prerequisites:** - The account is **Kilitli** (Locked) (15 minutes after 5 failed attempts). A lock is an event and clears by itself; if waiting is not desired, an administrator removes it. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, set the **Durum** (Status) filter to **Kilitli** (Locked). A yellow **Kilitli** badge appears next to the row in the list. 2. Select **Kilidi Kaldır** (Unlock) from the row's **İşlemler** (Actions) menu (the item appears only for a locked account). 3. In the window, click **Kilidi kaldır** (Unlock). **Result:** The account can sign in immediately. The password does not change: if the user does not remember their password, the lock is set again — in that case, send a [password reset link](https://erpdocs.corexlogic.com/en/yonetim/islemler/sifre-sifirlama). ## What you need to know - A user who tries to sign in with a locked account sees: "Hesap … başarısız giriş denemesi nedeniyle kilitlendi. … dakika sonra tekrar deneyebilir, beklemek istemiyorsanız yöneticinizden kilidi kaldırmasını ya da parola sıfırlama bağlantısı göndermesini isteyebilirsiniz." (The account was locked because of … failed sign-in attempts. You can try again in … minutes; if you do not want to wait, you can ask your administrator to remove the lock or to send a password reset link.) - A lock is different from **devre dışı** (disabled): disabling is a decision and does not clear by itself. - Lockouts appear in the **Erişim Günlüğü** (Access Log) with the **Hesap kilitlendi** (Account locked) and **Kilitliyken deneme** (Attempt while locked) events. - To turn off locking for a person: **Kullanıcıyı Düzenle › Güvenlik › Hatalı şifre denemelerinde hesabı kilitle** (Edit User › Security › Lock the account on failed password attempts) (not recommended; "Kilitleme kapalı: şifre deneme sayısı sınırsız." — Locking off: unlimited password attempts.). - On an account that is not locked: "Bu hesap kilitli değil." (This account is not locked.) ## Related - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) - [Monitoring screens](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/izleme) --- # Disable a user > Close the account of an employee who has left — sign-in is blocked, the open session ends, the record and past documents remain; restore it if necessary. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/kullaniciyi-devre-disi-birakma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Kullanıcı ve Roller › Kullanıcılar (Administration › Users and Roles › Users) - **Screen route:** `/users` - **Required permission:** `users.delete` - **Prerequisites:** - The account being closed is not your own account. The account of an employee who has left is not deleted; it is **disabled**. The record and its traces are preserved; the account no longer counts toward the number of active users. ## Steps 1. On the **Yönetim › Kullanıcı ve Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen, find the user with the **Ara** (Search) box. 2. Select **Devre Dışı Bırak** (Disable) from the row's **İşlemler** (Actions) menu. 3. In the window, click **Devre dışı bırak** (Disable). ![Disable the account?](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/devre-disi-onay.png) 1. Login closes, open session ends; roles are kept 4. To see the result, set the **Durum** (Status) filter to **Pasif (devre dışı)** (Inactive (disabled)); the row has the **Devre dışı** (Disabled) badge. ![Disabled accounts and Restore](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/kullanicilar-pasif.png) 1. Status: Inactive (disabled) 2. Disabled badge 3. Restore — reopens with its roles **Result:** The account cannot sign in; its open session ends on the next request (in the Access Log: "Oturum düşürüldü" (Session terminated) · "Hesap devre dışı" (Account disabled)). Its roles remain as they are, and past documents continue to show the account. Pending invitation and password reset links become invalid. ## Restore Set the Status filter to **Pasif (devre dışı)** (Inactive (disabled)), select **İşlemler › Geri Yükle** (Actions › Restore) on the row and click **Geri yükle** (Restore). "Kapatıldığı günkü rolleri ve yetkileri olduğu gibi geri gelir — yeniden atamanız gerekmez. Parolası değişmedi." (The roles and permissions it had on the day it was closed come back as they were — you do not need to reassign them. Its password has not changed.) If the license's user limit is full, the restore is rejected. ## What you need to know - You cannot close your own account: "Kendi hesabınızı devre dışı bırakamazsınız. Bunu başka bir yönetici yapmalı." (You cannot disable your own account. Another administrator must do this.) - Editing actions (role, password, restriction) are not available on a disabled account; restore it first. - There is no action that deletes an account completely. - To hand over the person's role to another employee, assign the role to the new person; the roles of a disabled account are not automatically passed to anyone. ## Related - [New user and permissions process — employee who has left](https://erpdocs.corexlogic.com/en/surecler/yeni-kullanici-ve-yetki) - [Users screen](https://erpdocs.corexlogic.com/en/yonetim/ekranlar/kullanicilar) --- # Turn a module or feature on or off > Turn a module or feature off or on in the installation — save it through the impact window. URL: https://erpdocs.corexlogic.com/en/yonetim/islemler/modul-acma-kapatma - **Type:** Task - **Module:** Administration - **Menu path:** Yönetim › Özelleştirme › Genel › Modül Yönetimi (Administration › Customization › General › Module Management) - **Screen route:** `/module-management` - **Required permission:** `company-profile.view`, `company-profile.edit` - **Prerequisites:** - The module is covered by the license (a **Lisans dışı** (Not licensed) module cannot be turned on). - Before turning it off, the pending work in that feature has been discussed — it does not progress while the feature is off. ## Steps 1. Open the **Yönetim › Özelleştirme › Genel › Modül Yönetimi** (Administration › Customization › General › Module Management) screen. ![Module Management](https://erpdocs.corexlogic.com/en/en/img/screens/yonetim/modul-yonetimi.png) 1. License, open features and menu screens 2. Modules — click a row for its features 3. Module on — turns the module on / off 4. Feature — switched one by one 5. Save — impact dialog opens first 2. Click the module's row in the **Modüller** (Modules) list on the left; the module's features open on the right. 3. Check or uncheck the **Modül açık** (Module on) box at the top right for the whole module, or the feature's box for a single feature (e.g. **Satış teklifi** (Sales quotation)). "N değişiklik kaydedilmedi." (N changes not saved.) appears at the bottom. 4. Click **Kaydet** (Save). The **Modül ayarı kaydedilsin mi?** (Save the module setting?) window lists the features to be turned off and on, the open work in the features to be turned off and the screens to be removed from the menu. 5. Read the list and click **Kaydet** (Save) in the window (the button is red if something is being turned off). To cancel, click **Vazgeç** (Cancel). **Result:** The screens of the feature that was turned off are removed from the menu and its requests are rejected with "Bu özellik kuruluşunuzda etkin değil." (This feature is not active in your organization.); no data is deleted. A feature that was turned on becomes visible to users with permission within 30 seconds at the latest. ## What you need to know - The **Yönetim** (Administration) module cannot be turned off. - Turning off a feature also turns off the features that **depend** on it ("— … ile birlikte" (— together with …) in the impact window). Dependencies: [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi#moduller-ve-ozellikler). - Turning a feature off does not change roles; when the feature is turned on again, the permissions take effect automatically. - If another administrator saved at the same time: "Modül ayarı siz düzenlerken değişti. Sayfayı yenileyip yeniden kaydedin." (The module setting changed while you were editing. Refresh the page and save again.) — click **Yenile** (Refresh) and do it again. - Without the `company-profile.edit` permission, the boxes are disabled and "Değiştirmek Şirket Bilgileri düzenleme yetkisi ister." (Changing this requires the Company Information edit permission.) is shown. ## Related - [Module management](https://erpdocs.corexlogic.com/en/yonetim/modul-yonetimi) - [Permission model](https://erpdocs.corexlogic.com/en/yonetim/yetki-modeli)