Satın Almadan Ödemeye - Fatura İşleme Veri Şablonunuz
Satın Almadan Ödemeye - Fatura İşleme Veri Şablonunuz
- Toplanması önerilen öznitelikler
- İzlenecek temel etkinlikler
- SAP ECC için veri çıkarma bilgileri
Satın Almadan Ödemeye - Fatura İşleme öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Etkinlik Activity | Fatura işleme sürecinde gerçekleşen belirli bir iş adımının veya olayın adı. | ||
| Açıklama Etkinlik özniteliği, fatura iş akışındaki belirli bir aşamayı veya eylemi ifade eder. Bu etkinlikler; belge oluşturma, durum değişiklikleri, onaylar veya SAP değişiklik günlüklerine kaydedilen kullanıcı eylemleri gibi çeşitli sistem olaylarından elde edilir. Etkinlikleri analiz etmek, Process Mining’in temelini oluşturur. Süreç haritalarını görselleştirmenizi, darboğazları (ör. 'Fatura onaya gönderildi' adımından sonra uzun beklemeler), yeniden çalışma döngülerini (ör. 'Ödeme bloğu eklendi' ve 'Ödeme bloğu kaldırıldı' adımlarının tekrarlanması) ve uyumluluk sapmalarını belirlemenizi sağlar. Etkinliklerin sırası ve sıklığı, sürecin gerçekte nasıl işlediğini gösterir. Neden önemli? Süreç haritasındaki adımları tanımlar; süreç akışlarını görselleştirmenizi, darboğazları ve yeniden çalışmayı belirlemenizi sağlar. Nereden alınır? Bu öznitelik genellikle işlem kodları (SY-TCODE), RBKP gibi tablolardaki durum alanları (ör. RBSTAT) ve CDHDR ile CDPOS tablolarındaki değişiklik olayları gibi birden fazla kaynaktan elde edilir. Örnekler Fatura geçici kaydedildiFatura onaya gönderildiFatura onaylandıFatura kaydedildiFatura kapatıldı | |||
| Fatura numarası InvoiceNumber | Tedarikçi fatura belgesinin benzersiz tanımlayıcısı. | ||
| Açıklama Fatura numarası, fatura işleme sürecindeki her bir vakayı benzersiz şekilde tanımlar. Her numara, tedarikçiden alınan tek bir faturaya karşılık gelir. Veri kaydından son ödemeye kadar faturayla ilgili tüm etkinlikleri tek bir süreç örneği içinde izlemenizi sağlar. Process Mining analizinde bu öznitelik, her faturanın baştan sona yaşam döngüsünü yeniden oluşturmanın temelini oluşturur. SAP’de kaydedilen geçici kayıt, kayıt, blok ekleme ve kapatma gibi farklı olayları kronolojik bir sırayla bir araya getirir. Böylece her faturanın nasıl ve ne kadar sürede işlendiğini, standart süreçten nerelerde saptığını net biçimde görebilirsiniz. Neden önemli? Tek bir faturayla ilgili tüm olayları birbirine bağlayan birincil anahtardır. Süreç analizi ve varyant incelemesi için temel oluşturur. Nereden alınır? Bu genellikle SAP’deki RBKP tablosunun BELNR alanında bulunan belge numarasıdır. Benzersizliği kesinleştirmek için şirket kodu (BUKRS) ve mali yıl (GJAHR) ile birleştirilebilir. Örnekler 510004567851000456795100045680 | |||
| Olay zamanı EventTime | Bir etkinliğin gerçekleştiği tarih ve saati içeren kesin zaman damgası. | ||
| Açıklama Olay zamanı, bir iş etkinliğinin kaynak sistemde gerçekleştirildiği ve kaydedildiği kesin anı belirtir. Bu zaman damgası, her faturanın tüm etkinliklerini tutarlı bir kronolojik sıraya koyar. Analizde olay zamanı; çevrim süreleri, bekleme süreleri ve etkinlikler arasındaki işlem süreleri gibi zamana dayalı tüm metrikleri hesaplamak için gereklidir. 'Fatura baştan sona çevrim süresi' ve 'Ödeme bloğunun çözülme süresi' gibi Dashboardları destekler; süreçteki herhangi iki nokta arasında geçen süreyi ölçmek için gereken veriyi sağlar. Gecikmeleri ve performans darboğazlarını belirlemek için zaman damgalarının doğru olması önemlidir. Neden önemli? Olayları doğru sıraya koymak ve çevrim süreleri ile darboğaz süreleri gibi tüm performans metriklerini hesaplamak için bu zaman damgası gereklidir. Nereden alınır? Bu değer genellikle değişiklik belgesi başlık tablosu CDHDR’deki değişiklik tarihi (UDATE) ile değişiklik saati (UTIME) birleştirilerek elde edilir. Belirli oluşturma olaylarında RBKP gibi tablolardaki oluşturma tarihi ve saati (ERNAM, ERZET) kullanılabilir. Örnekler 2023-03-15T10:30:00Z2023-03-16T14:05:21Z2023-03-28T09:00:00Z | |||
| Fatura tutarı InvoiceAmount | Faturanın özgün belge para birimindeki toplam brüt tutarı. | ||
| Açıklama Fatura tutarı, tedarikçinin gönderdiği faturanın toplam değerini gösterir. Her fatura vakası için temel bir finansal metriktir. Process Mining’de bu öznitelik, değere dayalı analiz için gereklidir. Süreci fatura tutarına göre filtreleyip gruplandırmanızı sağlar; fatura tutarı çoğu zaman sürecin karmaşıklığı ve onay gereksinimleriyle ilişkilidir. Örneğin, yüksek tutarlı faturalar daha farklı ve sıkı bir onay sürecinden geçebilir. Uyumluluk analizinde de yüksek tutarlı faturaların gerekli onay adımlarını atlayıp atlamadığını kontrol etmek için kullanılır. Neden önemli? Değere dayalı analiz yapmanızı sağlar; yüksek tutarlı faturalara öncelik vermenize ve fatura tutarının süreç akışını ve uyumluluğu nasıl etkilediğini anlamanıza yardımcı olur. Nereden alınır? Bu, fatura belgesi başlık tablosu RBKP’deki 'Brüt fatura tutarı' alanıdır (RMWWR). Örnekler 1500.7512500.00850.20 | |||
| Kayıt tarihi PostingDate | Faturanın finansal defterlere resmen kaydedildiği tarih. | ||
| Açıklama Kayıt tarihi, muhasebe sürecindeki önemli tarihlerden biridir. Fatura giderinin Büyük Defter’e kaydedileceği mali dönemi belirler. Genellikle fatura işleme sırasında borçlar muhasebesi görevlisi tarafından girilir. Süreç analizinde bu tarihle işaretlenen 'Fatura kaydedildi' etkinliği önemli bir kilometre taşıdır. Faturanın alınmasından kayıt tarihine kadar geçen süre, toplam çevrim süresinin önemli bir bölümünü oluşturur. Bu tarih, haftalık veya aylık kaydedilen fatura hacmini izlemek gibi finansal raporlama ve işlem hacmi analizleri için de temel niteliktedir. Neden önemli? Süreçte önemli bir kilometre taşını işaretler, işlemin hangi mali döneme ait olduğunu belirler ve çevrim süresi hesaplamasında temel bir bileşendir. Nereden alınır? Fatura belgesi başlık tablosu RBKP’deki 'Posting Date' alanıdır (BUDAT). Örnekler 2023-03-202023-04-052023-04-11 | |||
| Kullanıcı adı UserName | Etkinliği gerçekleştiren kişinin SAP kullanıcı kimliği. | ||
| Açıklama Kullanıcı adı özniteliği, süreçte belirli bir etkinliği gerçekleştiren kişiyi tanımlar. Bu genellikle işlem veya değişiklik olayıyla birlikte kaydedilen SAP kullanıcı adıdır. Bu öznitelik, kullanıcı veya ekip düzeyinde performans analizi için önemlidir. 'En hızlı onaylayanlar kimler?' veya 'Hangi kullanıcılar en çok yeniden çalışmaya neden oluyor?' gibi soruları yanıtlamanıza yardımcı olur. İş yükü dağılımını analiz etmek, eğitim ihtiyaçlarını belirlemek ve çalışanlar arasındaki performans farklılıklarını anlamak için Dashboardlarda kullanılır. Neden önemli? Birey veya ekip bazında performans ve iş yükü analizi yapmanızı sağlar; öne çıkan çalışanları, eğitim fırsatlarını ve kaynak dengesizliklerini belirlemeye yardımcı olur. Nereden alınır? Bu, değişiklik belgesi başlık tablosu CDHDR’deki 'Değiştiren' alanıdır (USERNAME). Oluşturma olaylarında RBKP gibi tablolardaki 'Giren' alanı (ERNAM) kullanılabilir. Örnekler JSMITHBWILSONCHEN | |||
| Mahsup tarihi ClearingDate | Ödemenin yapıldığı ve faturanın borçlar muhasebesinden kapatıldığı tarih. | ||
| Açıklama Mahsup tarihi, fatura yaşam döngüsünün son adımını, yani ödemeyi işaretler. Sistemde açık fatura kaleminin ödeme belgesiyle kapatıldığı tarihtir. Gerçek ödeme zamanını gösterir. Bu öznitelik, 'Ortalama fatura çevrim süresi' ve 'Zamanında ödeme oranı' dâhil birçok önemli KPI için bitiş noktasıdır. Ödeme performansını ölçmek için ödeme vadesiyle karşılaştırılır. Nakit iskontosu analizinde ise iskontodan yararlanmak için ödemenin iskonto dönemi içinde yapılıp yapılmadığını görmek üzere bu dönemle karşılaştırılır. Neden önemli? Sürecin tamamlandığını gösterir; toplam çevrim süresini, zamanında ödeme oranını ve nakit iskontosundan yararlanma durumunu hesaplamanın temelini oluşturur. Nereden alınır? Kapatılan kalemlerde bu, kapatılan tedarikçi kalemleri tablosu BSAK’taki 'Clearing Date' alanıdır (AUGDT). Örnekler 2023-04-152023-05-022023-05-20 | |||
| Ödeme blokajı nedeni PaymentBlockReason | Bir faturanın ödemeye neden kapatıldığını belirten kod. | ||
| Açıklama Faturada tutarsızlık olduğunda veya ek inceleme gerektiğinde ödeme blokajı uygulanır. Ödeme blokajı nedeni kodu, miktar farkı, fiyat farkı veya manuel blokaj gibi blokajın nedenini belirtir. Bu öznitelik, 'Ödeme blokajını çözme süresi' Dashboardu için gereklidir. Blokajların nedenlerine göre sıklığını ve süresini incelemek, ödeme gecikmelerinin temel nedenlerini belirlemeye yardımcı olur. Örneğin, uzun süren blokajların en yaygın nedeni 'Fiyat tutarsızlığı' ise ana verilerde veya satın alma siparişi sürecinde ele alınması gereken olası bir soruna işaret eder. Neden önemli? Faturaların neden geciktiğini açıklar; ödeme blokajlarının temel nedenlerini analiz etmeyi ve süreç iyileştirme çalışmalarına öncelik vermeyi sağlar. Nereden alınır? Ödeme blokajı nedeni, RSEG tablosunda kalem düzeyinde (SPGRS alanı) veya muhasebe belgesi tablosu BSEG’de (ZLSPR alanı) bulunabilir. Örnekler RIM | |||
| Ödeme vadesi PaymentDueDate | Ödeme koşullarına göre faturanın tedarikçiye ödenmesi gereken tarih. | ||
| Açıklama Ödeme vadesi, faturanın baz tarihi ve üzerinde anlaşılmış ödeme koşullarına göre hesaplanır. Gecikmeyi, olası cezaları veya tedarikçi ilişkilerinin zarar görmesini önlemek için ödemenin yapılması gereken son tarihi belirtir. Bu öznitelik, 'Zamanında ödeme oranı' ve 'Nakit iskontosu fırsat kaybı' gibi performans ve uyumluluk KPI’ları için önemlidir. Analiz, gerçek ödeme tarihini (Mahsup tarihi) ödeme vadesiyle karşılaştırarak ödemenin zamanında mı, erken mi yoksa geç mi yapıldığını otomatik olarak belirleyebilir. Ödeme koşullarına uyum Dashboardu için temel bir unsurdur. Neden önemli? Zamanında ödeme performansını ölçmek ve erken ödeme iskontolarından yararlanma fırsatlarını belirlemek için referans noktasıdır. Nereden alınır? Bu tarih genellikle hesaplanır. Ödeme için baz tarih (ZFBDT), BSEG tablosunda bulunur. Vade tarihi hesaplaması ödeme koşullarına da bağlıdır (BSEG-ZTERM). Örnekler 2023-04-192023-05-052023-05-11 | |||
| Satın alma siparişi numarası PurchaseOrderNumber | Faturanın eşleştirildiği satın alma siparişini (PO) tanımlayan numara. | ||
| Açıklama Satın alma siparişi numarası, faturayı ilk satın alma belgesine bağlar. Üçlü eşleştirme (satın alma siparişi, mal girişi, fatura) ve satın alma siparişine bağlı fatura sürecinin verimliliğini analiz etmek için temel bilgidir. Bu öznitelik, 'Fatura-satın alma siparişi eşleştirme uyuşmazlık oranı' gibi Dashboardlar için önemlidir. Süreci, işleme yolları ve karmaşıklıkları çoğu zaman farklı olan satın alma siparişine bağlı faturalar ve siparişe bağlı olmayan faturalar olarak ayırmanızı sağlar. Belirli siparişlerle ilgili sorunları analiz ederek satın alma sürecinin önceki aşamalarındaki sorunları teşhis edebilirsiniz. Neden önemli? Faturayı satın alma sürecine bağlar; siparişe bağlı ve siparişe bağlı olmayan faturaları analiz etmenizi ve eşleştirme uyuşmazlıklarını belirlemenizi sağlar. Nereden alınır? Bu bilgi genellikle kalem düzeyinde bulunur. 'Satın alma siparişi numarası' (EBELN), fatura kalemleri tablosu RSEG’de yer alır. Başlık düzeyinde toplulaştırılması gerekebilir. Örnekler 450001756345000175644500017565 | |||
| Tedarikçi numarası VendorNumber | Faturayı gönderen tedarikçiyi benzersiz şekilde tanımlayan numara. | ||
| Açıklama Tedarikçi numarası, tedarikçiyi tanımlayan ana veri anahtarıdır. Fatura işlemini belirli bir iş ortağıyla ilişkilendirerek tedarikçi özelliklerine göre analiz yapmanızı sağlar. Süreci tedarikçi numarasına göre analiz etmek, tedarikçi ilişkileri ve performansı hakkında önemli bilgiler ortaya çıkarabilir. Örneğin, ödeme bloklarına veya uyuşmazlıklara yol açan sorunlu faturaları sürekli gönderen tedarikçileri ya da faturaları en verimli şekilde işlenen tedarikçileri belirleyebilirsiniz. Bu bilgiler, tedarikçi yönetimi ve stratejik tedarik çalışmaları için faydalıdır. Neden önemli? Tedarikçi bazında analiz yapmanızı sağlayarak belirli tedarikçilerle ilişkili örüntüleri, sorunları veya verimlilikleri belirlemenize yardımcı olur. Nereden alınır? Bu, fatura belgesi başlık tablosu RBKP’deki 'Fatura tarafı' alanıdır (LIFNR). Örnekler 100345100876200112 | |||
| Belge türü DocumentType | Muhasebe belgesini, örneğin tedarikçi faturası veya alacak dekontu olarak sınıflandıran kod. | ||
| Açıklama SAP’de farklı iş işlemlerini sınıflandırmak için belge türü kullanılır. Fatura işlemede yaygın türler arasında standart faturalar için 'RE', tedarikçi alacak dekontları için 'KG' bulunur. Belge türü, kullanılan numara aralığı gibi kayıt ayrıntılarını belirler. Analizde bu öznitelik, süreci belirli işlem türlerine göre filtrelemeyi sağlar. Örneğin, alacak dekontu işleme süreci standart fatura sürecinden önemli ölçüde farklı olabilir. Bu akışları belge türüne göre ayırmak, sürecin daha doğru ve anlamlı biçimde incelenmesini sağlar. Neden önemli? Fatura ve alacak dekontu gibi farklı iş işlemlerini birbirinden ayırıp analiz etmeyi sağlar; bu işlemler farklı süreçlerden geçer. Nereden alınır? Fatura belgesi başlık tablosu RBKP’deki 'Document Type' alanıdır (BLART). Örnekler REKRKG | |||
| Bitiş zamanı EndTime | Bir etkinliğin tamamlandığı zamanı gösteren zaman damgası. Anlık olaylarda başlangıç zamanıyla aynıdır. | ||
| Açıklama Bitiş zamanı özniteliği, belirli bir etkinliğin tamamlandığı anı belirtir. SAP’de tek bir zaman noktası olarak kaydedilen birçok olayda bitiş zamanı başlangıç zamanıyla aynıdır. Ancak üzerinde çalışılan bir onay adımı gibi ölçülebilir süresi olan etkinliklerde, çalışmanın tamamlandığı anı gösterebilir. Ayrı bir bitiş zamanının bulunması, etkinliğin işlem süresini etkinlik öncesindeki bekleme süresinden ayrı ölçmenizi sağlar. Böylece bir etkinliğin ne kadar sürdüğünü, vakanın etkinliğin başlamasını ne kadar beklediğinden ayırabilir ve kaynak verimliliği hakkında daha ayrıntılı bilgi edinebilirsiniz. Neden önemli? Etkinliklerin işlem süresini hesaplamanızı, bunu etkinlikler arasındaki bekleme süresinden ayırmanızı ve darboğaz analizini iyileştirmenizi sağlar. Nereden alınır? Bu değer genellikle başlangıç zamanıyla aynıdır ve CDHDR-UDATE ile CDHDR-UTIME alanlarından elde edilir. Bazı durumlarda, bir görevin başlangıç ve bitişini açıkça kaydeden iş akışı günlüklerinden çıkarılabilir. Örnekler 2023-03-15T10:35:10Z2023-03-16T14:10:00Z2023-03-28T09:02:45Z | |||
| Büyük Defter hesabı GeneralLedgerAccount | Fatura giderinin veya maliyetinin kaydedildiği Büyük Defter hesap numarası. | ||
| Açıklama Büyük Defter (G/L) hesabı, faturanın finansal etkisinin kaydedildiği hesap planı hesabıdır. Finansal raporlama ve maliyet yönetimi için önemli bir veridir. Process Mining analizinde Büyük Defter hesabını incelemek, süreç akışına finansal bir boyut kazandırır. 'Büyük Defter hesabı kullanım analizi' Dashboardu harcama örüntülerini ortaya çıkarabilir, faturaların yanlış hesaplara kaydedilmesini belirleyebilir ve maliyetlerin doğru departmanlara veya projelere dağıtılmasını sağlamaya yardımcı olabilir. Sürecin yürütülmesiyle finansal etkisi arasındaki bağlantıyı kurar. Neden önemli? Sürece finansal bir boyut katar; maliyet dağılımını, harcama örüntülerini ve faturaların yanlış hesaplara kaydedilmesi olasılığını analiz etmeyi sağlar. Nereden alınır? Bu bilgi kalem düzeyinde bulunur. 'G/L Account Number' (HKONT), satın alma siparişi faturaları için RSEG fatura kalemleri tablosunda, doğrudan FI faturaları içinse BSEG tablosundadır. Örnekler 630000655100741000 | |||
| Kaynak sistem SourceSystem | Verinin hangi kaynak sistemden çıkarıldığını belirtir. | ||
| Açıklama Kaynak sistem özniteliği, olay verilerinin kaynağını belirtir; örneğin belirli bir SAP ECC örneğinin adını gösterir. Birden fazla ERP sisteminin bulunduğu veya farklı kaynaklardan veri birleştirildiği ortamlarda özellikle önemlidir. Analizde bu öznitelik, ayrı sistem örneklerinde çalışan süreçleri ve performansı sistem, bölge veya iş birimi bazında ayırt etmenize yardımcı olur. Veri kökenini açıkça gösterir ve sisteme özel filtreleme ile analiz yapılmasını sağlar. Neden önemli? Birden fazla sistemin bulunduğu ortamlarda gerekli bağlamı sağlar; verileri doğru şekilde ayırmanıza ve sistem bazında performans analizi yapmanıza yardımcı olur. Nereden alınır? Bu genellikle veri çıkarımı sırasında eklenen sabit bir değerdir. SAP Sistem Kimliğini (TADIR-SRCSYSTEM) veya belirli SAP örneği için elle atanan bir tanımlayıcıyı gösterir. Örnekler SAPECC_PROD_EUECC_US_FINSAP_ERP_6_EHP8 | |||
| Nakit iskontosu kaybedildi mi IsCashDiscountLost | Kullanılabilir bir nakit iskontosunun kaçırılıp kaçırılmadığını gösteren hesaplanmış bir işaret. | ||
| Açıklama Bu boole özniteliği, ödeme koşullarına ve gerçek ödeme tarihine göre hesaplanır. 'Ödeme koşulları' erken ödeme iskontosu sunuyorsa ve 'Mahsup tarihi' iskonto dönemi sona erdikten sonraysa değer doğru olur. Böylece süreç verimsizliklerinden kaynaklanan finansal kayıp doğrudan ölçülür. Bu öznitelik, 'Nakit iskontosu fırsat kaybı' Dashboardunun temelini oluşturur. İşleme gecikmelerinin finansal etkisini kolayca ölçmeyi sağlar. Analistler, bu işaretin doğru olduğu kayıtları filtreleyerek iskonto fırsatlarının kaçırılmasına en sık yol açan süreç varyantlarını ve darboğazları inceleyebilir. Bu bulgular, süreç iyileştirmeleri için güçlü bir iş gerekçesi sunar. Neden önemli? Süreç gecikmelerinden kaynaklanan finansal kaybı doğrudan ölçer ve fatura iş akışını iyileştirmek için güçlü bir iş gerekçesi sunar. Nereden alınır? Bu öznitelik SAP’de bulunmaz. Veri dönüştürme sırasında 'PaymentTerms' yorumlanarak ve 'ClearingDate' iskonto vadesiyle karşılaştırılarak hesaplanır. Örnekler truefalse | |||
| Ödeme koşulları PaymentTerms | Tedarikçiyle üzerinde anlaşılmış iskonto dönemleri ve vade tarihleri gibi ödeme koşullarını tanımlayan kod. | ||
| Açıklama Ödeme koşulları, faturanın ne zaman ödenmesi gerektiğini ve erken ödemede nakit iskontosu olup olmadığını belirler. Örneğin, '30 gün net' veya '10 günde %2 iskonto, 30 gün net' koşulları, 10 gün içinde ödeme yapılırsa %2 iskonto uygulanacağı, aksi hâlde tutarın tamamının 30 gün içinde ödeneceği anlamına gelir. Bu öznitelik, 'Nakit iskontosu fırsat kaybı' Dashboardunun ve 'Nakit iskontosundan yararlanma oranı' KPI’ının temelini oluşturur. Analiz, iskontonun sunulup sunulmadığını ve kullanılıp kullanılmadığını belirlemek için ödeme koşullarını kayıt ve ödeme tarihleriyle birlikte değerlendirir. Ödeme koşullarına uyum Dashboardu için de önemlidir. Neden önemli? Nakit iskontosundan yararlanma oranını analiz etmek ve süreç gecikmelerinin finansal etkisini anlamak için gereklidir. Nereden alınır? Fatura belgesi başlık tablosu RBKP’deki 'Terms of Payment Key' alanıdır (ZTERM). Örnekler Z0010001NT30 | |||
| Para birimi Currency | Fatura tutarının para birimi kodu. | ||
| Açıklama Para Birimi özniteliği, fatura tutarının hangi para birimiyle ifade edildiğini belirtir. Örneğin USD, EUR veya JPY. Bu öznitelik, Fatura Tutarı için gerekli bağlamı sağlar. Finansal verilerin doğru yorumlanmasına ve bir araya getirilmesine yardımcı olur. Özellikle birden fazla para birimiyle işlem yapan küresel kuruluşlarda önem taşır. Farklı para birimi bölgelerindeki işlem verimliliğini veya sorunları karşılaştırmak için analiz para birimine göre filtrelenebilir. Finansal verileri anlamlı biçimde bir araya getirmek için tutarları tek bir raporlama para birimine dönüştürmek gerekebilir. Neden önemli? Finansal tutarların doğru yorumlanması için gerekli bağlamı sağlar; para birimine göre filtreleme ve analiz yapılmasına imkân verir. Nereden alınır? Fatura belgesi başlık tablosu RBKP’deki 'Currency Key' alanıdır (WAERS). Örnekler USDEURGBP | |||
| Ret nedeni RejectionReason | Onay iş akışı sırasında faturanın neden reddedildiğini açıklayan kod veya metin. | ||
| Açıklama Bir onaylayan faturayı reddettiğinde, ideal olarak ret nedenini de belirtir. Bu, 'Hatalı satın alma siparişi numarası', 'Mükerrer fatura' veya 'Hatalı tutar' gibi sorunları açıklayan standart bir kod ya da serbest metin olabilir. Bu veri, 'Fatura ret nedenleri ve eğilimleri' Dashboardu için büyük önem taşır. Farklı ret nedenlerinin sıklığını incelemek, işletmenin yaygın sorunları belirleyip düzeltici adımlar atmasına yardımcı olur. Örneğin, 'Hatalı satın alma siparişi numarası' sık görülen bir nedense tedarikçilerle iletişimin iyileştirilmesi veya veri girişi yapan çalışanlara eğitim verilmesi gerekebilir. Bu analiz, süreçteki yeniden çalışmayı azaltmanın temelidir. Neden önemli? Retlerin temel nedenini ortaya çıkarır; yeniden çalışmayı azaltmak ve ilk seferde doğru sonuç oranını artırmak için hedefli süreç iyileştirmeleri yapılmasını sağlar. Nereden alınır? Bu bilgi çoğu zaman tek bir standart alanda saklanmaz. İş akışı kapsayıcı günlüklerinde, belgeyle ilişkili uzun metin alanlarında veya özel bir iş akışı çözümündeki belirli alanlarda bulunabilir. Örnekler MÜKERRER_FATURAHATALI_TUTARSİPARİŞ_EŞLEŞMESİ_YOK | |||
| Şirket kodu CompanyCode | Faturanın işlendiği tüzel kişiliği veya şirketi tanımlayan kod. | ||
| Açıklama Şirket kodu, SAP Financials içindeki temel organizasyon birimlerinden biridir ve bağımsız bir tüzel kişiliği temsil eder. Faturalar dâhil tüm finansal işlemler belirli bir şirket koduna kaydedilir. Bu öznitelik, süreç analizinin tüzel kişiliğe göre ayrıştırılmasını sağlar. Bir şirketler grubundaki farklı şirketlerin süreç performansını, uyumluluğunu ve verimliliğini karşılaştırmak için önemlidir. Fatura işleme KPI’larını şirkete özel görüntülemek üzere Dashboardları şirket koduna göre filtreleyebilirsiniz. Neden önemli? Kuruluş içindeki farklı tüzel kişiliklerin süreçlerini karşılaştırmayı ve performanslarını kıyaslamayı sağlar. Nereden alınır? Fatura belgesi başlık tablosu RBKP’deki 'Company Code' alanıdır (BUKRS). Örnekler 10002000US01 | |||
| Son veri güncellemesi LastDataUpdate | Süreç verilerinin kaynak sistemden en son ne zaman yenilendiğini gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, verilerin en son çıkarıldığı veya güncellendiği tarih ve saati kaydeder. Tek tek olaylar yerine tüm veri seti için geçerlidir ve verilerin ne kadar güncel olduğunu açıkça gösterir. Bu, Dashboard kullanıcıları ve analistler için önemli bir üst veri özniteliğidir. Analizin kapsadığı dönemi anlamalarına ve güncel bilgilere dayanarak karar vermelerine yardımcı olur. Kullanıcıların verilerin güncelliğini görebilmesi için genellikle Dashboardlarda belirgin biçimde gösterilir. Neden önemli? Verilerin güncelliğini kullanıcılara bildirerek analiz ve kararların güncel bilgilere dayanmasını sağlar. Nereden alınır? Bu değer, veri yenileme sırasında veri çıkarma veya ETL aracı tarafından oluşturulup veri setine eklenir. Örnekler 2024-05-20T08:00:00Z2024-05-21T08:00:00Z2024-05-22T08:00:00Z | |||
| Vadesi geçti mi IsOverdue | Faturanın ödeme vadesinden sonra ödenip ödenmediğini gösteren hesaplanmış bir işaret. | ||
| Açıklama Bu boole özniteliği, 'Mahsup tarihi' (gerçek ödeme tarihi) ile 'Ödeme vadesi' karşılaştırılarak hesaplanır. Mahsup tarihi vade tarihinden sonraysa değer doğru, değilse yanlış olur. Böylece her fatura için zamanında ödeme performansı doğrudan ve kolayca ölçülür. Bu öznitelik, Dashboardlardaki analiz ve görselleştirmeleri kolaylaştırır. 'Zamanında ödeme oranı' KPI’ını hesaplamak için verileri kolayca filtreleyip bir araya getirebilirsiniz. Kullanıcılar, vadesi geçen faturaların süreç akışlarını zamanında ödenen faturalarla hızlıca karşılaştırarak geç ödemelere yol açan süreç örüntülerini ortaya çıkarabilir. Neden önemli? Zamanında ödeme performansının analizini kolaylaştırır ve zamanında ödenen faturalarla geç ödenen faturaların süreçlerini kolayca karşılaştırmayı sağlar. Nereden alınır? Bu öznitelik SAP’de bulunmaz. Veri dönüştürme sırasında şu formülle hesaplanır: ClearingDate > PaymentDueDate. Örnekler truefalse | |||
Satın Almadan Ödemeye - Fatura İşleme etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Fatura kapatıldı | Bu etkinlik, başarılı bir fatura yaşam döngüsünün son adımını belirtir. Açık borç bir ödeme belgesiyle kapatılır ve ödemenin yapıldığı doğrulanır. | ||
| Neden önemli? Sürecin temel bitiş olayı olarak toplam baştan sona çevrim süresini hesaplamak için önemlidir. Sürecin başarıyla tamamlandığını doğrular ve zamanında ödeme performansını ölçmekte kullanılır. Nereden alınır? Bu, fatura kalemleri tablosu BSEG’de kaydedilen açık bir olaydır. Kapatma tarihi AUGDT alanında, kapatma belge numarası ise AUGBL alanında tutulur. Kaydedin Fatura belgesinin kalemindeki kapatma tarihini (BSEG-AUGDT) kullanın. Olay türü explicit | |||
| Fatura kaydedildi | Bu önemli finansal olayda fatura büyük deftere resmi olarak kaydedilir ve bir borç oluşur. Belge geçici kayıttan kalıcı muhasebe kaydına dönüşür. | ||
| Neden önemli? Kayıt, faturanın geçerliliğini doğrulayan önemli bir aşamadır. Ödeme için ön koşuldur ve işlem hacminin temel göstergelerinden biridir. Nereden alınır? Bu, belge başlığı tablosu BKPF’de kaydedilen açık bir olaydır. Zaman damgası, kayıt tarihi olan BKPF-BUDAT alanıdır. Belgenin durumu artık 'geçici kaydedilmiş' olmaz. Kaydedin Geçici kaydedilmemiş belgeler için kayıt tarihini (BKPF-BUDAT) kullanın (BKPF-BSTAT alanı boş veya ' ' olmalıdır). Olay türü explicit | |||
| Fatura kaydı ters çevrildi | Kaydedilmiş bir fatura belgesinin iptal edilmesini belirtir. İlk faturanın finansal etkisini ortadan kaldırmak için bir ters kayıt belgesi oluşturulur. | ||
| Neden önemli? Bu etkinlik, önemli bir istisna ve yeniden çalışma yolunu gösterir. Ters kayıtların sıklığını ve nedenlerini analiz ederek fatura doğrulama ve kayıt sürecindeki sistemik sorunları ortaya çıkarabilirsiniz. Nereden alınır? Bu, belge başlığı tablosu BKPF’de kaydedilen açık bir olaydır. Ters çevrilen belgenin başlığında ters kayıt belge numarası (STBLG) ve mali yıl (STJAH) bulunur. Kaydedin BKPF-STBLG alanı dolu olan belgeleri belirleyin. Olayın zaman damgası, ters kayıt belgesinin kayıt tarihidir. Olay türü explicit | |||
| Fatura verisi kaydedildi | Fatura belgesinin SAP’de ilk kez oluşturulduğunu gösterir. Belge geçici olarak kaydedilmiş veya tamamen kaydedilmiş olabilir. Bu, genellikle faturanın yaşam döngüsü boyunca sistemde kaydedilen ilk olaydır ve sürecin başlangıç zamanını belirtir. | ||
| Neden önemli? Bu etkinlik, faturanın baştan sona işlenme süresini ölçmek için temel başlangıç noktasıdır. Bu noktadan itibaren geçen süreyi analiz ederek ilk veri girişi ve belge oluşturma aşamasındaki gecikmeleri belirleyebilirsiniz. Nereden alınır? Oluşturma zaman damgası, SAP’deki BKPF tablosunda CPUDT (muhasebe belgesinin sisteme girildiği tarih) ve CPUTM (giriş saati) alanlarında tutulur. Kaydedin BKPF tablosu başlığındaki belge oluşturma zaman damgasını (CPUDT) kullanın. Olay türü explicit | |||
| Ödeme bloğu eklendi | Fatura kalemine ödeme yapılmasını engelleyen bir blok eklendiğinde bu etkinlik gerçekleşir. Üçlü eşleştirmedeki uyuşmazlıklar nedeniyle bloklar otomatik olarak veya çeşitli nedenlerle manuel olarak eklenebilir. | ||
| Neden önemli? Bu olay, ödeme bloğunun çözülme süresini ölçmek ve ödeme gecikmelerinin temel nedenlerini belirlemek için önemlidir. Fiyat, miktar veya gerekli onaylarla ilgili sorunları ortaya çıkarır. Nereden alınır? Bu, BSEG tablosundaki ZLSPR (ödeme bloğu anahtarı) alanına ilişkin değişiklik belgesi günlüklerinden (CDHDR ve CDPOS tabloları) izlenebilen açık bir olaydır. Kaydedin BSEG-ZLSPR değeri boşken dolu hâle geldiğinde, değişiklik belgelerindeki (CDHDR) zaman damgası. Olay türü explicit | |||
| Fatura geçici kaydedildi | Faturanın SAP’ye girildiğini ancak henüz büyük deftere kaydedilmediğini gösterir. Bu geçici durum, finansal kayıt yapılmadan önce inceleme, düzeltme veya onay için zaman tanır. | ||
| Neden önemli? Faturaların ne zaman ve ne kadar süreyle geçici kaydedildiğini izlemek, kayıt öncesi doğrulama ve onay sürecindeki darboğazları ortaya çıkarır. Böylece veri giriş süresi ile finansal işlem süresi birbirinden ayrılır. Nereden alınır? Bu durum, BKPF tablosundaki BSTAT belge durumu alanından çıkarılır. 'V' (geçici kaydedilmiş belge) veya 'W' (değişiklik onayı bekleyen geçici kaydedilmiş belge) değeri, belgenin geçici kaydedildiğini gösterir. Kaydedin BKPF-BSTAT durum alanı 'V' olan belgeleri belirleyin. Olayın zaman damgası, oluşturma tarihi olan BKPF-CPUDT alanıdır. Olay türü inferred | |||
| Fatura onaya gönderildi | Faturanın resmi bir onay iş akışına gönderildiği noktayı belirtir. Bu bilginin nasıl kaydedileceği, kullanılan SAP Workflow veya üçüncü taraf sistemin uygulamasına bağlıdır. | ||
| Neden önemli? Bu etkinlik, fatura onay çevrim süresi KPI’ının ölçümünü başlatır. Onay zincirindeki gecikmeleri belirlemek ve onaylayanların performansını analiz etmek için gereklidir. Nereden alınır? Bu olay genellikle SAP Business Workflow tablolarından (ör. SWW_WI2OBJ, SWWLOG), belirli bir onay görevinin başlangıcı belirlenerek kaydedilir. Daha basit senaryolarda, özel bir alandaki durum değişikliğinden çıkarılabilir. Kaydedin Fatura belgesiyle bağlantılı SAP iş akışı günlüklerinin veya özel durum alanlarının analiz edilmesi gerekir. Olay türü inferred | |||
| Fatura onaylandı | Faturanın yetkili kişi tarafından resmi olarak onaylandığını ve kayıt ile ödeme aşamalarına geçebileceğini belirtir. Bu, çoğu zaman iş akışının son adımıdır. | ||
| Neden önemli? Bu aşama, onay çevrim süresi ölçümünü tamamlar. Sürecin önündeki engeli kaldırarak ödemenin zamanında yapılmasını sağlar ve onaylayanlar arasındaki iş yükü dağılımını analiz etmeye yardımcı olur. Nereden alınır? Bu bilgi genellikle SAP Business Workflow tablolarında onay görevinin tamamlandığı belirlenerek kaydedilir. Alternatif olarak, onayla ilgili bir ödeme bloğunun kaldırılmasından çıkarılabilir. Kaydedin İş akışı günlüklerinde tamamlanan onay adımının zaman damgası veya belirli bir ödeme bloğunun kaldırıldığı zaman. Olay türü inferred | |||
| Fatura reddedildi | Faturanın onay sürecinde reddedildiğini gösterir. Bu durumda genellikle düzeltme yapılıp fatura yeniden gönderilir ve yeniden çalışma döngüsü oluşur. | ||
| Neden önemli? Retleri izlemek, hatalı veri veya politika ihlali gibi yaygın ret nedenlerini belirlemek için önemlidir. Yeniden çalışma miktarını ölçmeye ve süreç iyileştirme ya da tedarikçi bilgilendirmesi gereken alanları saptamaya yardımcı olur. Nereden alınır? Bu olay genellikle SAP Business Workflow günlüklerinde ret adımı olarak bulunur. Fatura belgesindeki belirli durum değişikliklerinden veya eklenen notlardan da çıkarılabilir. Kaydedin İş akışı günlüklerindeki ret adımının zaman damgası veya reddedildiğini gösteren belge durumu değişikliği. Olay türü inferred | |||
| Faturanın vadesi geçti | Geçerli tarih, faturanın net vade tarihini geçtiğinde ve fatura henüz ödenmediğinde oluşan hesaplanmış bir olaydır. Vade tarihi, ödeme koşullarına ve başlangıç tarihine göre belirlenir. | ||
| Neden önemli? Bu etkinlik, zamanında ödeme oranı KPI’ını izlemek için gereklidir. Geç ödeme riski taşıyan faturaları önceden belirler; geç ödemeler tedarikçi ilişkilerine zarar verebilir ve cezalara yol açabilir. Nereden alınır? Bu olay, geçerli tarih ile net vade tarihi karşılaştırılarak hesaplanır. Vade tarihi, başlangıç tarihi (BSEG-ZFBDT) ve ödeme koşullarından (BSEG-ZTERM) elde edilir. Kaydedin
Olay türü calculated | |||
| Ödeme bloğu kaldırıldı | Fatura kalemindeki ödeme bloğunun kaldırıldığını ve kalemin ödeme çalıştırmasına alınabileceğini belirtir. Daha önce belirlenen bir sorunun çözüldüğünü gösterir. | ||
| Neden önemli? Bu etkinlik, blok süresi ölçümünü tamamlar. Bloğun eklenmesiyle kaldırılması arasındaki süreyi analiz ederek sorun çözme sürecinin verimliliğini görebilirsiniz. Nereden alınır? Bu olay, blok kaldırıldığında BSEG tablosundaki ZLSPR (ödeme bloğu anahtarı) alanına ilişkin değişiklik belgesi günlüklerinden (CDHDR ve CDPOS tabloları) izlenir. Kaydedin BSEG-ZLSPR değeri doluyken boş hâle geldiğinde, değişiklik belgelerindeki (CDHDR) zaman damgası. Olay türü explicit | |||
Veri çıkarma kılavuzları
Adımlar
- ABAP programını oluşturun: Yeni bir çalıştırılabilir program oluşturmak için
SE38veyaSE80işlemini kullanın. Örneğin,Z_PM_INVOICE_EXTRACTadını verebilirsiniz. Uygun bir başlık girin ve türü 'Executable Program' olarak ayarlayın. - Seçim ekranını tanımlayın: Kullanıcıların verileri filtreleyebilmesi için programda bir seçim ekranı tanımlayın. Temel parametreler arasında şirket kodu (
BUKRS), mali yıl (GJAHR), kayıt tarihi aralığı (BUDAT) ve uygulama sunucusundaki çıktı dosyasının yolu için bir parametre bulunmalıdır. - Veri yapılarını tanımlayın: Son olay günlüğünü tutacak bir dahili tablo yapısı tanımlayın. Bu yapıda gerekli ve önerilen tüm öznitelikler bulunmalıdır:
InvoiceNumber,Aktivite,EventTime,UserName,VendorNumber,PurchaseOrderNumber,InvoiceAmount,PostingDate,PaymentDueDate,PaymentBlockReasonveClearingDate. - Veri seçme mantığını uygulayın: Fatura verilerini seçmek için temel ABAP mantığını yazın. Bu yaklaşımda, birden fazla seçim yapılarak sonuçlar son olay günlüğü tablosunda birleştirilir.
- Önce, seçim ekranındaki ölçütlere göre birincil fatura tabloları
BKPF,BSEG,RBKPveRSEGüzerinden başlık ve kalem verilerini seçin. - Her fatura için oluşturulma zaman damgasından 'Invoice Data Captured', kayıt zaman damgasından da 'Invoice Posted' gibi temel olayları oluşturun.
- Ödeme bloklarıyla ilgili değişiklikleri (
BSEGtablosundakiZLSPRalanı) bulmak için değişiklik belgesi tablolarıCDHDRveCDPOSüzerinde sorgu çalıştırın. İlgili her değişiklik için 'Payment Block Set' ve 'Payment Block Released' olaylarını oluşturun. BSEGtablosundaki mahsup belgesi (AUGBL) ve mahsup tarihi (AUGDT) alanlarını kontrol ederek 'Invoice Cleared' olaylarını belirleyin.BKPFbaşlığındaki ters kayıt belgesini (STBLG) kontrol ederek 'Invoice Reversed' olaylarını belirleyin.- İş akışı olaylarını ('Invoice Sent For Approval', 'Approved', 'Rejected') kaydetmek için özel bir mantık uygulayın. Bu bölüm müşteriye özeldir; kodu iş akışınızın tablolarına veya durum alanlarına uyarlamanız gerekir.
- Önce, seçim ekranındaki ölçütlere göre birincil fatura tabloları
- Hesaplanan olayları oluşturun: Program mantığında
Invoice Becomes Overdueolayını hesaplayın. Bunun için ödenmemiş tüm faturaların ödeme vadesini (PaymentDueDate) geçerli tarihle karşılaştırın. Vade geçmişse,EventTimedeğerini vade tarihi olarak ayarlayıp bir olay oluşturun. - Olay günlüğü tablosunu doldurun: Her faturanın farklı kaynaklardan gelen verilerini toplarken biçimlendirin ve son dahili olay günlüğü tablosuna her etkinlik için bir satır ekleyin.
- Verileri dosyaya aktarın: Son dahili tablonun içeriğini, seçim ekranında belirtilen SAP uygulama sunucusu yolundaki düz metin dosyasına yazmak için
OPEN DATASET,TRANSFERveCLOSE DATASETifadelerini kullanın. CSV dosyası oluşturmak için noktalı virgül veya sekme gibi tutarlı bir ayraç kullanın. - Veri çıkarmayı zamanlayın: Verileri düzenli olarak çıkarmak için programda istediğiniz seçim ölçütlerini içeren bir varyant oluşturun ve
SM36işlemiyle arka plan işi olarak çalışacak şekilde zamanlayın. - Çıktı dosyasını alın: Oluşturulan dosyayı bulmak için
AL11işlemiyle SAP uygulama sunucusu dizinine erişin. Dosyayı uygulama sunucusundan yerel bilgisayarınıza indirmek içinCG3Yişlemini kullanın. - Yüklemeye hazırlanın: Process Mining aracına yüklemeden önce CSV dosyasını açıp başlıkların doğru olduğunu, veri biçiminin (özellikle zaman damgalarının) tutarlı olduğunu ve ayırıcının beklendiği gibi kullanıldığını doğrulayın. Dosyayı UTF-8 kodlamasıyla kaydedin.
Yapılandırma
- Seçim ölçütleri: ABAP raporunda ayrıntılı bir seçim ekranı bulunmalıdır. En önemli filtreler şunlardır:
Company Code (BUKRS): Veri çıkarmayı belirli tüzel kişilerle sınırlandırmak için kullanılır.Posting Date (BUDAT): Veri çıkarma dönemini belirler. Verileri yönetilebilir parçalar hâlinde, örneğin her seferinde 3 ila 6 aylık dönemler için çıkarmanız önerilir.Document Type (BLART): Lojistik faturaları için 'RE', tedarikçi faturaları için 'KR' gibi yalnızca ilgili fatura belge türlerini kapsar.
- Çıktı dosyasının yolu: Çıktı dosyasının oluşturulacağı SAP uygulama sunucusundaki tam yolu ve dosya adını belirtmek için zorunlu bir parametredir. Raporu çalıştıran kullanıcının bu dizine yazma yetkisi olmalıdır.
- Performansla ilgili noktalar: Büyük veri setlerinde sistem performansının düşmesini önlemek için rapor, yoğun olmayan saatlerde arka plan işi olarak çalıştırılmalıdır. Mantık yalnızca gerekli alanları tablolardan seçmeli ve mümkün olduğunda standart SAP veritabanı dizinlerinden yararlanmalıdır.
- Ön koşullar ve yetkiler: Veri çıkarma işlemini çalıştıran kullanıcı veya hizmet hesabı şunlara ihtiyaç duyar:
- ABAP raporlarını çalıştırma yetkisi (
S_PROGRAMkapsamındadır). BKPF,BSEG,RBKP,RSEG,CDHDRveCDPOSdâhil finans ve lojistik tablolarına okuma erişimi.- Belirtilen uygulama sunucusu dizinine dosya yazma yetkisi (
S_DATASET). - Geliştirme, zamanlama ve dosya alma işlemleri için
SE38,SM36,AL11veCG3Yişlemlerine erişim.
- ABAP raporlarını çalıştırma yetkisi (
Örnek sorgu abap
REPORT Z_PM_INVOICE_EXTRACT.
*&---------------------------------------------------------------------*
*& Tables for Selection Screen
*&---------------------------------------------------------------------*
TABLES: BKPF, RBKP.
*&---------------------------------------------------------------------*
*& Data Declarations
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_event_log,
InvoiceNumber TYPE belnr_v,
Activity TYPE string,
EventTime TYPE timestamp,
UserName TYPE uname,
VendorNumber TYPE lifnr,
PurchaseOrderNumber TYPE ebeln,
InvoiceAmount TYPE wrbtr,
PostingDate TYPE budat,
PaymentDueDate TYPE faedt,
PaymentBlockReason TYPE rstgr,
ClearingDate TYPE augdt,
END OF ty_event_log.
DATA: gt_event_log TYPE TABLE OF ty_event_log,
gs_event_log TYPE ty_event_log.
DATA: lt_bkpf TYPE TABLE OF bkpf,
ls_bkpf TYPE bkpf,
lt_bseg TYPE TABLE OF bseg,
ls_bseg TYPE bseg.
DATA: lt_rbkp TYPE TABLE OF rbkp,
ls_rbkp TYPE rbkp.
*&---------------------------------------------------------------------*
*& Selection Screen
*&---------------------------------------------------------------------*
SELECT-OPTIONS: s_bukrs FOR bkpf-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_budat FOR bkpf-budat.
PARAMETERS: p_fpath TYPE string OBLIGATORY DEFAULT '/usr/sap/tmp/invoice_events.csv'.
*&---------------------------------------------------------------------*
*& Start of Program Logic
*&---------------------------------------------------------------------*
START-OF-SELECTION.
" Select FI Invoices (e.g., Doc Type KR)
SELECT * FROM bkpf INTO TABLE lt_bkpf
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND blart = 'KR'.
" Select MM Invoices
SELECT * FROM rbkp INTO TABLE lt_rbkp
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat.
* --- Process FI Invoices ---
LOOP AT lt_bkpf INTO ls_bkpf.
CLEAR gs_event_log.
gs_event_log-InvoiceNumber = ls_bkpf-belnr.
gs_event_log-PostingDate = ls_bkpf-budat.
SELECT SINGLE * FROM bseg INTO ls_bseg
WHERE bukrs = ls_bkpf-bukrs
AND belnr = ls_bkpf-belnr
AND gjahr = ls_bkpf-gjahr
AND koart = 'K'. " Vendor Line Item
IF sy-subrc = 0.
gs_event_log-VendorNumber = ls_bseg-lifnr.
gs_event_log-InvoiceAmount = ls_bseg-wrbtr.
gs_event_log-ClearingDate = ls_bseg-augdt.
" Calculate Due Date
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
i_bseg = ls_bseg
IMPORTING
e_faedt = gs_event_log-PaymentDueDate.
ENDIF.
" Activity: Invoice Data Captured
gs_event_log-Activity = 'Invoice Data Captured'.
CONVERT DATE ls_bkpf-cpudt TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Parked (if BSTAT = 'V')
IF ls_bkpf-bstat = 'V'.
gs_event_log-Activity = 'Invoice Parked'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Posted
gs_event_log-Activity = 'Invoice Posted'.
CONVERT DATE ls_bkpf-budat TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Cleared
IF ls_bseg-augbl IS NOT INITIAL.
gs_event_log-Activity = 'Invoice Cleared'.
CONVERT DATE ls_bseg-augdt INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bseg-usnam_cl.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Becomes Overdue
IF gs_event_log-PaymentDueDate IS NOT INITIAL AND gs_event_log-PaymentDueDate < sy-datum AND ls_bseg-augbl IS INITIAL.
gs_event_log-Activity = 'Invoice Becomes Overdue'.
CONVERT DATE gs_event_log-PaymentDueDate INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = 'SYSTEM'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Reversed
IF ls_bkpf-stblg IS NOT INITIAL.
DATA: ls_rev_bkpf TYPE bkpf.
SELECT SINGLE budat, usnam FROM bkpf INTO ls_rev_bkpf
WHERE belnr = ls_bkpf-stblg AND bukrs = ls_bkpf-bukrs AND gjahr = ls_bkpf-gjahr.
IF sy-subrc = 0.
gs_event_log-Activity = 'Invoice Reversed'.
CONVERT DATE ls_rev_bkpf-budat INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_rev_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
ENDIF.
ENDIF.
ENDLOOP.
* --- NOTE: The logic for MM invoices (from lt_rbkp) would be similar, joining RBKP with RSEG.
* --- NOTE: The logic for Payment Blocks and Workflow events requires reading change documents (CDHDR/CDPOS)
* --- or custom workflow tables. Below is a conceptual example for payment blocks.
* --- Conceptual Example for 'Payment Block Set' / 'Released' using Change Docs
* DATA: lt_cdhdr TYPE TABLE OF cdhdr, ls_cdhdr TYPE cdhdr,
* lt_cdpos TYPE TABLE OF cdpos, ls_cdpos TYPE cdpos.
* SELECT * FROM cdhdr INTO TABLE lt_cdhdr
* WHERE objectclas = 'BELEG' AND objectid IN (SELECT belnr FROM bkpf WHERE ...).
* LOOP AT lt_cdhdr.
* SELECT * FROM cdpos INTO TABLE lt_cdpos
* WHERE changenr = ls_cdhdr-changenr AND tabname = 'BSEG' AND fname = 'ZLSPR'.
* LOOP AT lt_cdpos.
* "... logic to create 'Payment Block Set' (if VALUE_NEW is not blank)
* "... or 'Payment Block Released' (if VALUE_NEW is blank) events.
* ENDLOOP.
* ENDLOOP.
* --- Conceptual Example for Workflow events ('Sent For Approval', 'Approved', 'Rejected')
* --- This part MUST be customized based on your specific workflow implementation (e.g., OpenText VIM, SAP WF).
* --- You would query the relevant workflow tables or status change tables here.
*&---------------------------------------------------------------------*
*& Write to File
*&---------------------------------------------------------------------*
END-OF-SELECTION.
DATA: lv_string TYPE string,
lv_header TYPE string.
" Create Header
lv_header = 'InvoiceNumber;Activity;EventTime;UserName;VendorNumber;PurchaseOrderNumber;InvoiceAmount;PostingDate;PaymentDueDate;PaymentBlockReason;ClearingDate'.
OPEN DATASET p_fpath FOR OUTPUT IN TEXT MODE ENCODING UTF-8.
IF sy-subrc = 0.
TRANSFER lv_header TO p_fpath.
LOOP AT gt_event_log INTO gs_event_log.
CONCATENATE gs_event_log-InvoiceNumber
gs_event_log-Activity
gs_event_log-EventTime
gs_event_log-UserName
gs_event_log-VendorNumber
gs_event_log-PurchaseOrderNumber
gs_event_log-InvoiceAmount
gs_event_log-PostingDate
gs_event_log-PaymentDueDate
gs_event_log-PaymentBlockReason
gs_event_log-ClearingDate
INTO lv_string SEPARATED BY ';'.
TRANSFER lv_string TO p_fpath.
ENDLOOP.
CLOSE DATASET p_fpath.
ELSE.
MESSAGE 'Error opening file.' TYPE 'E'.
ENDIF. Başlamaya hazır mısınız?
Bu şablonu izleyerek Satın Almadan Ödemeye - Fatura İşleme sürecinizle ilgili değerli içgörüler edinebilir ve önemli iyileştirmeler yapabilirsiniz. Veri çıkarmaya bugün başlayın ve operasyonlarınızı dönüştürün.
Satın Almadan Ödemeye fatura işleme sürecinizi bugün iyileştirin
Verimsizlikleri belirleyin, fatura çevrim süresini %30 azaltın.
Kredi kartı gerekmez. Kurulum birkaç dakika sürer.