② POS ekstresi: satır bazında eşleştirme
Bankanın gün sonu ekstresi yüklenir; ayrıştırma tamamen başarılı olmazsa hiçbir şey kaydedilmez — yarım okunmuş bir ekstre, olmayan bir “eksik yatırma” bulgusu üretirdi. 500 satıra kadar eşleştirme aynı istekte biter; daha büyük dosya arka plana alınır ve takılırsa beş dakikalık süpürücü yeniden kuyruğa atar. Eşleştirme anahtarı sipariş numarasıdır — bankaya gidenatt_… deneme
kimliği. Her satır için:
Eşleşen her satır iki iş daha yapar: bankanın gerçek kestiği komisyon ve beyan
ettiği valör, beklenen para defterine
teyit olarak yazılır (alacak
bank_confirmed olur) ve satır başına bir
komisyon denetim bulgusu üretilir. İade
satırları tutar eşitliğiyle başarılı iadelere bağlanır; aynı iade iki satıra
eşlenemez.
Türkçe ayrıntı: banka dosyalarındaki “İade” / “Satış” ayrımı büyük İ
katlanarak okunur — aksi hâlde "İade".ToUpper() tuzağı iade satırını sessizce
satış sayardı. Sayaçlar her koşuda sıfırdan kurulur; yeniden eşleştirme
güvenlidir.
③ Hesap ekstresi: gün kümesiyle eşleştirme
Banka POS hasılatını toplu yatırır — hesap hareketindeki tek satır, yüzlerce tahsilatın netidir. Bu yüzden satır satır değil valör günü bazında eşleşilir:- Beklenen taraf teyitli net üzerinden toplanır (teyit yoksa anlaşmadan beklenen net) — brüte düşmek yanlış olurdu: komisyon zaten kesilerek yatar. İadeler negatif yazıldığı için toplam kendiliğinden netleşir.
- Tolerans yoktur. “Birkaç kuruş fark önemsizdir” demek, ürünün varlık
sebebini inkâr etmektir. Kuruşu kuruşuna eşleşmeyen gün
settledolmaz. - Yalnız
settledgünün alacakları kapanır; eksik yatan gün kapatılmaz — bankadan sorulacak parayı “tahsil edildi” diye gömmek olurdu.
:61: satırlarından valör, yön (alacak/borç/ters kayıt) ve
tutarı okur, :86: açıklamalarını iliştirir; tanıyamadığı satırı sessizce
atlamaz, hata olarak bildirir. CSV alternatifi value_date;amount;description;reference
biçimindedir (kuruş, işaretli).
Rapor: GET /v1/settlements/report — eksik yatan toplam (shortfall), fazla
yatan, gün sayaçları ve bulgular. Panelde Alacaklar sayfasının “üç yönlü
mutabakat” bölümünde rozetlerle görünür: “Tam yattı”, “EKSİK yattı”,
“HİÇ yatmadı”.
Muhasebe fişi (ERP)
Eşleşen ekstre, tek tuşla muhasebe fişine dönüşür: Poyra CSV, Logo ve Mikro biçimleri desteklenir. Fiş mantığı klasiktir — borç 102 (bankalar, net) + borç 653 (komisyon gideri) = alacak 108 (POS alacakları, brüt); iade satırları yönü ters çevirir. Denge zorlanır (borç ≠ alacak ise dışa aktarma reddedilir), yalnız eşleşen satırlar fişe girer ve tutarlar Türkçe yazımla (virgül ondalık) yazılır —1234.56, Logo/Mikro’da sessiz bir 100 kat hatasıdır.
Hesap kodları ve fiş öneki panelin Ayarlar sayfasından değiştirilir.