Post mortem
Dokümanın yazımı ve geliştirilmesi devam ediyor. Bu süreçte değişiklikler olabilir.
| Başlık | Açıklama |
|---|---|
| Tarih | 08.09.2022 02:00 - 23.09.2022 18:00 |
| Katılanlar | Kerim Kaan Dönmez, Oğuzhan Gülen, Abdülselam Soğukçeşme, Kadir Pir, Kerem Kutluboğa, Ozan Alptekin |
| Olay | Logo'da Toplu Fatura Düzeltme Operasyonun Stokları Yanlış Etkilemesi |
| Etki | Stoklar, Faturalar, Resmi Beyannameler |
| Açıklama | Logo'da bulunan bazı siparişlerin 0 TL bedelli görünmesi sonucu faturaları düzeltmek için bir operasyonel geliştirme yapılmış, topluca yapılan işlemi Logo kotaramamıştır. Bu sebeple Logo'dan edinilen stok bilgileri tamamiyle yanlış gelmiştir. |
| Çözüm | Logo'dan edinilen stok bilgisinin kuyrukta bulunan siparişlerin de dahiliyle hesaplanması sonucu güncellenmeye başlanmış, etkilenen faturalar da operasyon akışı ile düzeltilmiştir. |
| Bulgular | Bulunurluk oranlarının anormal yükselişi, fiziki stok bulunmaması nedeniyle artan sipariş iptalleri |
Zaman Çizelgesi
- 07 Eylül 15:00 - Sorunun İletilmesi
- 07 Eylül 18:38 - Hatanın Düzeltilmesi
- 07 Eylül 22:30 - Hatanın Analizi ve Operasyonel İhtiyaçların Belirlenmesi
- 08 Eylül 02:00 - Düzeltme Operasyonunun Başlaması
- 08 Eylül 09:00 - Düzeltme Operasyonundaki Sorunun Fark Edilmesi
- 08 Eylül 11:00 - Entegratör Firma ile Durum Değerlendirmesi
- 09 Eylül 04:30 - Yeni Stok Endpointinin Canlıya Alınması
- 09 Eylül 09:00 - Normal stok değerlerine dönülmesi
- 23 Eylül 18:00 - Ağustos KDV Beyannamesi için gerekli operasyonun tamamlanması
Analiz ve Aksiyon
08 Ağustos 2022 tarihinde canlıya alınan bir geliştirme akabinde siparişte bulunan
ürünlerin fiyatlarının ve adetlerinin tutulduğu Biri_OrderItem tablosunda bir DDL
değişikliği yapılmıştır. Bu değişiklik sonucu bazı sütunların ismi değişmiştir.
Bu sütunlardan beslenen entegrasyon siparişlerinin Logo'ya gönderildiği akışta
bu sütun değişikliklerinden doğan güncelleme yapılmamıştır. Kodda bulunan
ürün fiyatı değeri (tablodan edinilmektedir) yok ise 0 TL olarak gönderilmesi
sağlanmıştır. Bu sebeple herhangi bir hata ile karşılaşılmamıştır. Ne Logo'da
ne de kendi servislerimizde bunu yakalayabilecek bir kontrol mekanizması bulunmamaktadır.
Sonuç olarak 0 TL bedelli siparişler bu geliştirme canlıya alınmasından itibaren
Logo'ya gönderilmiş ve fatura edilmiştir. Yalnızca ürün adetleri doğru gönderildiğinden
stokları etkilememiştir.
Muhasebeden ekibe bildirilen bazı siparişlerin 0 TL bedelli olmasına yönelik bir uyarı neticesinde bildirilen siparişler incelenmiş ve hata tespit edilmiştir. Doğru sütundan doğru fiyat bilgisinin alınması sağlanmış ve 07 Eylül 2022 18:38'de düzeltme geliştirmesi canlıya alınmıştır. Akabinde etkilenen siparişleri çıkarmak için bir operasyon geliştirmesi planlanmıştır. Bu plana göre etkilenen siparişler birer birer önce iptal edilecek ardından tekrar Logo'ya iletilecektir.
Etkilenen iki yüz bin sipariş bir tabloya girilmiştir. Siparişleri iptal edip tekrar Logo'ya gönderecek bir kuyruk geliştirilmiş böylece her bir sipariş önce iptal edilecek ardından Logo'ya tekrar gönderilecektir. Bu geliştirme neticesinde 08 Eylül 02:00 civarı kırk bin sipariş bu operasyona alınmış ve akışın doğru ilerlediği görülmüştür. Neticesinde sabah 09:00 civarı kontroller yapılmış ve tüm siparişlerin işlendiği tespit edilmiştir. Fakat kuyruğun takip ediliği slack botu siparişlerin bir anda eridiğini gece boyu azalmadığını göstermiştir. Buna müteakip bulunurluk raporlarının olması gerekenden çok daha yüksek olduğu tespit edilmiştir. Bu noktada stokların arttığını fark edilmiş ve Logo entegratör firma ile iletişime geçilmiştir.
Yapılan incelemeler sonucu entegratör firmanın normal sipariş akışında bir hatayı
önlemek için yaptığı geliştirmenin yine 08 Eylül gecesi canlıya alındığı ve bu düzeltmenin
operasyon akışını kestiği anlaşılmıştır. Logo veritabanında siparişlerin takip edildiği
tabloda IS_SUCCEED ve IS_TRANSFERRED kolonlarının değerleri olması gerektiği
gibi işlenmiş olarak görülmekte fakat siparişlerin işlenmemiş halde olduğu tespit
edilmiştir. Dolayısıyla iptal edilen siparişler işlenmediğinden stoklar artmış
ve bulunurluk yükselmiştir. Durumu düzeltmek adına iptal edilemeyen siparişler
gün boyu işlenecek şekilde operasyona devam edilmiştir. 09 Eylül gecesi yapılan
düzenleme ile stokların Logo'da işlenilmesinin beklenmemesine yönelik bir
geliştirme yapılarak Logo'daki mevcut stoktan kuyruktaki siparişlerin stokları
düşülerek veya artırılarak hesaplanma yoluyla güncellenmesi sağlanmıştır.
Bunun için Logo API'de yeni bir endpoint geliştirilmiş ve BiSU tarafında da
implemente edilmiştir.
09 Eylül sabahı itibariyle operasyon ve stoklar normale dönmüş böylelikle yeni gelen siparişlerde sorun ve iptal yaşanmaması sağlanmıştır.
Kalan yüz altmış bin sipariş için ise 2 haftalık bir operasyon süreci planlanmıştır.
KDV beyannameleri için yetiştirilmesi gereken Ağustos siparişleri cirolarına göre önceliklendirilmiş ve segmente edilerek faturaları düzeltilmiştir.
Etkilenenler
- Stokların artması dolayısıyla fiziksel stoğu olmayan ürünlerin satışı ile depolar
- Sipariş iptali gerektiğinden müşteri hizmetleri ve saha ekipleri
- Fazla stok dolayısıyla manuel ürün kapama gerektiğinden saha ekipleri
- KDV beyannamesi verilmesi gerektiğinden muhasebe ekibi
Operasyon
Analiz ve Aksiyon kısmında detaylıca anlatılmıştır.
Edinilen Dersler ve Alınan Aksiyonlar
- Logo API üzerinden bulk işlemlerin yapılması için iki taraflı koordine olunması gerekliliği anlaşıldı.
- Sepet, sipariş ve sipariş operasyonlarına dokunan kısımlarda test ve review sürecinin sıkılaşması gerektiği anlaşılmıştır.