WaybillType 2, mal kabul) ve çıkış irsaliyeleri (WaybillType -2, sevk) aynı endpoint’leri kullanır. İrsaliyeler stok hareketi yarattığı için, ürünün stok izleme yöntemine göre bir satır Lot ya da seri no girdileri de taşıyabilir.
Zorunlu alanlar
WaybillType:2giriş (mal kabul),-2çıkış (sevk). İrsaliye oluşturulduktan sonra değiştirilemez.WaybillNumber: şirkette aynıWaybillTypeiçinde benzersiz, en fazla 20 karakter. Oluştururken"Next"gönderilirse numara otomatik üretilir: giriş irsaliyeleri için ALİRSNO serisi; çıkış irsaliyelerinde SATİRSNO serisi, ya da şirket e-irsaliye kullanıyorsa şirketin e-irsaliye numaralandırması (sabit bir önek, yıl ve 9 haneli sıra numarası, örn.EDD2026000000014). Güncellemede"Next"gönderilemez.Date: irsaliye tarihi. Saat de gönderirseniz irsaliye saati olarak yazılır, göndermezseniz o anki saat kullanılır.CustomerCode: kullanıcının görebildiği bir cari.CurrencyCode: irsaliye dövizi.Lines: en az bir satır.
DueDays (vade günü) irsaliyeyle birlikte saklanır. ShipmentDefinitionCode (isteğe bağlı) sevkiyat tanımlarından gelir.
Cariden alınan bilgiler
İrsaliyenin adresi, unvanı, vergi numarası ve vergi dairesi istekte alan olarak yer almaz. Bunlar, irsaliyenin kaydedildiği anda cariden kopyalanır (carinin fatura adresi varsa o, yoksa ilk adresi) ve cari sonradan değişse bile irsaliyede sabit kalır — bu yüzden yalnızca yanıtlarda görünürler (Address, CustomerTitle, TaxNumber, TaxOffice). Güncellemede bu değerler yalnızca CustomerCode değiştiyse yeniden hesaplanır; değişmediyse mevcut değerler korunur.
Satırlar
ProductCodeveUnitCodezorunludur. Birim, ürünün kendi birimlerinden biri olmalıdır (ana birimi ya da 2./3. birimi).Quantitysıfırdan büyük olmalı;UnitPricenegatif olamaz.- Satırın
CurrencyCodealanı verilmezse irsaliye dövizi kullanılır;ExchangeRatesatır dövizinin kurudur. Discounts, satırın indirim oranlarının listesidir, sırasıyla art arda uygulanır.LineGroupNameisteğe bağlıdır, satır grupları tanımından gelir.WarehouseNamezorunludur ve şirketin depolarından biri olmalıdır.
Ana birim miktarı
Satır miktarı (Quantity) satırın birimindedir. Yanıttaki MainUnitQuantity, aynı miktarın ürünün ana birimi cinsinden karşılığıdır ve tıpkı sipariş satırlarındaki gibi API tarafından hesaplanır: UnitCode ana birimse miktarın kendisi, değilse birimin çarpanına bölünmüş hali. Çıkış irsaliyesinde kaydedilen değer eksi işaretlidir, girişte artı; yanıttaki MainUnitQuantity her zaman pozitiftir.
Güncellemede satırın kimliği
Siparişten farklı olarak, bir irsaliye satırının Lot hareketleri, seri no girdileri ve sipariş bağlantısı kaydı satırın kendi ID’sine referans verir; bu yüzden “bütün satırları sil, yenilerini yaz” mantığı bu referansları koparır. Bunun yerine satırların istekte gönderildiği sıra, güncellemede kimliklerini belirler: istektekii. sıradaki satır, o anda i. sırada olan mevcut satırla aynı kabul edilir. Bu satırın Lot/seri no girdileri ve sipariş bağlantısı kaydı onunla birlikte taşınır (silinip yeniden oluşturulmaz, eşleştirilir/güncellenir). Öncekinden daha az satır göndermek sondaki satırları kaldırır, daha fazla göndermek sona yeni satırlar ekler. Yalnızca birkaç alanı değiştirecekseniz satırları her zaman İrsaliye detayı’nın döndürdüğü sırayla gönderin.
Lot ve seri no takibi
Bir satırdaLots mi SerialNumbers mi kullanılacağı, ürünün stok tipine göre belirlenir (Ürün detayı ile okunan StockType):
Lot’lar (
LotNo, Quantity, UnitCode, ve yalnızca giriş irsaliyesinde SupplierLotNo/ExpiryDate/Description):
- Giriş, Lot izlenen 4 stok tipinde de aynı şekilde: her girdi yeni bir Lot oluşturur (
LotNoher zaman sizin tarafınızdan verilir, şirkette benzersizdir) ve ona karşılık gelen bir giriş hareketi yazılır. - Çıkış, stok tipi 3 (Lot): hangi Lot’tan ne kadar düşüleceğini
LotNoveQuantityile siz belirtirsiniz. - Çıkış, stok tipi 4/6/7 (FIFO/LIFO/FEFO):
Lotsboş bırakılır — API Lot’ları otomatik seçer (FIFO’da en eski önce, FEFO’da son kullanma tarihi en yakın önce, LIFO’da en yeni önce), miktar karşılanana kadar bir lottan diğerine geçerek düşer. - Bir çıkış işleminde zaten kullanılmış bir Lot kaldırılamaz ya da tüketilen miktarın altına düşürülemez; işlem iptal edilir.
SerialNumbers, düz metin listesi, her birim için bir tane): giriş irsaliyesinde her girdi yeni bir seri no kaydeder (aynı seri no zaten kayıtlı ve çıkışı yapılmamışsa reddedilir); çıkış irsaliyesinde her girdi, çıkışı henüz yapılmamış mevcut bir seri no olmalıdır ve çıkışı yapılmış olarak işaretlenir. Bu irsaliyenin çıkışını yaptığı bir seri no satırdan kaldırılamaz.
Sipariş bağlantısı
Noyax uygulamasında bir sipariş satırından oluşturulan bir irsaliye satırı, o sipariş satırına bir bağlantı taşır. API bu bağlantıyı kendisi hiç kurmaz, ama gönderdiğiniz bir satır (sırasına göre) mevcut bağlantılı bir satırla eşleştiğinde, satırın miktarının — aynı sipariş satırından diğer irsaliyelerin çekmiş olduğu miktarla birlikte — sipariş satırının miktarını aşmadığını kontrol eder.Paylaşım
SharingCode irsaliyeyi kimlerin görebileceğini sınırlar: boşsa herkes görür, doluysa kullanıcının paylaşım kodlarından biri olmalıdır. Kullanıcının göremediği irsaliyeler 404 döner.