Borçlar muhasebesi ödeme süreci veri şablonunuz
Borçlar muhasebesi ödeme süreci veri şablonunuz
- Finansal analiz için sürece özgü öznitelikler
- Ödemeleri izlemek için önemli etkinlik aşamaları
- Dynamics 365 için ayrıntılı veri çıkarma yönergeleri
Borçlar muhasebesi ödeme süreci öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite Activity | Gerçekleşen belirli görev veya durum değişikliği. | ||
| Açıklama Bu öznitelik, Fatura oluşturuldu, Fatura onaylandı veya Ödeme kaydedildi gibi süreçte gerçekleştirilen olayı ya da adımı açıklar. Teknik işlem türlerini ve iş akışı durum değişikliklerini anlaşılır iş olaylarına dönüştürür. Dynamics 365 içinde bu etkinlikler genellikle tabloya kayıt eklenmesi (ör. Neden önemli? Süreç haritasındaki süreç akışını ve olayların sırasını tanımlar. Nereden alınır? Çeşitli işlem tablolarından ve iş akışı geçmişi günlüklerinden elde edilir Örnekler Fatura oluşturulduFatura onaylandıÖdeme oluşturuldu | |||
| Fatura numarası InvoiceNumber | Tedarikçi faturasına atanan benzersiz tanımlayıcı. | ||
| Açıklama Fatura numarası, bu süreç görünümünde kesin vaka tanımlayıcısı olarak kullanılır. Tek bir tedarikçi faturasına ait tüm olayları benzersiz biçimde gruplandırır ve faturanın alınmasından mutabakata kadar geçirdiği sürecin tamamını analiz etmenizi sağlar. Microsoft Dynamics 365 içinde bu değer genellikle Neden önemli? Birbirinden kopuk borçlar muhasebesi etkinliklerini tek bir süreç örneğinde birleştiren temel anahtardır. Nereden alınır? Tablo: VendInvoiceJour, Alan: InvoiceId Örnekler INV-2023-00198223344ACME-OCT-22 | |||
| Olay zamanı EventTime | Etkinliğin gerçekleştiği zaman damgası. | ||
| Açıklama Bu öznitelik, belirli bir etkinliğin gerçekleştiği kesin tarih ve saati kaydeder. Olayları kronolojik sıraya koymak ve adımlar arasındaki süreleri hesaplamak için kullanılır. Dynamics 365 için bu değer, sorgulanan tabloya bağlı olarak genellikle Neden önemli? Çevrim sürelerini ve teslim sürelerini hesaplamak, darboğazları belirlemek için gereklidir. Nereden alınır? İşlem tablolarındaki CreatedDateTime veya ModifiedDateTime sistem alanları Örnekler 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Kaynak sistem SourceSystem | Verinin geldiği sistemin adı. | ||
| Açıklama Süreç verilerinin çıkarıldığı kaynak yazılımı veya ortamı tanımlar. Bu bağlamda değer her zaman Microsoft Dynamics 365 örneğini gösterir. Bu bilgi, ERP sistemlerinden ve harici tarama çözümlerinden gelen verilerin bir araya getirilebildiği çok sistemli ortamlarda özellikle yararlıdır. Neden önemli? Çok sistemli analizlerde verinin kaynağını ve izlenebilirliğini korur. Nereden alınır? Veri çıkarma sırasında sabit kodlanır veya yapılandırılır Örnekler Dynamics 365 F&OD365 PRODMicrosoft Dynamics | |||
| Son veri güncellemesi LastDataUpdate | Verinin çıkarıldığı veya yenilendiği zaman damgası. | ||
| Açıklama Analizde kullanılan verinin ne kadar güncel olduğunu gösterir. Kullanıcıların anlık verileri mi yoksa önceki bir döneme ait anlık görüntüyü mü incelediğini anlamasına yardımcı olur. Bu değer genellikle Dynamics 365 içindeki bir alandan değil, ETL (Çıkarma, Dönüştürme, Yükleme) sürecinden oluşturulur. Neden önemli? Dashboardlara ve KPI’lara duyulan güveni sağlamak açısından önemlidir. Nereden alınır? Veri çıkarma betiği tarafından oluşturulur Örnekler 2023-10-25T12:00:00Z2023-11-01T06:00:00Z | |||
| Departman Department | Maliyetten sorumlu departman. | ||
| Açıklama Dahili departmanı belirten mali boyut. Dynamics 365’te boyutlar dinamik olarak saklanır (genellikle Hangi dahili departmanların en fazla borçlar muhasebesi işlem hacmi oluşturduğunu görmek için Tedarikçi İlişkilerinin Karmaşıklığı görünümünde kullanılır. Neden önemli? Kuruluş genelinde ayrıntıya inerek sorumlulukları analiz etmenizi sağlar. Nereden alınır? Tablo: VendInvoiceJour, Alan: DefaultDimension (DimensionAttributeLevelValue görünümü gerekir) Örnekler BTFinansOperasyonlar | |||
| Fatura tarihi InvoiceDate | Faturada belirtilen belge tarihi. | ||
| Açıklama Tedarikçi faturasının üzerinde yazan tarih. Dynamics 365’te bu, Tedarikçi açısından toplam süreci ölçmek için Baştan Sona Çevrim Süresi Analizinde kullanılır. Neden önemli? Fatura için yaşlandırma döneminin başlangıcını belirler. Nereden alınır? Tablo: VendInvoiceJour, Alan: InvoiceDate Örnekler 2023-10-012023-10-15 | |||
| Fatura tutarı InvoiceAmount | Faturanın toplam parasal değeri. | ||
| Açıklama İşlem para birimi cinsinden faturanın toplam değeridir. Dynamics 365 içinde bu değer, fatura yevmiye tablolarındaki Tutarları tedarikçi bilgileriyle karşılaştırmak için mükerrer ödeme riski tespit Dashboardunda kullanılır. Neden önemli? Harcama hacmini ve finansal riski analiz etmek için önemlidir. Nereden alınır? Tablo: VendInvoiceJour, Alan: InvoiceAmount Örnekler 1500.00245.5010000.00 | |||
| Kullanıcı kimliği UserId | Etkinliği gerçekleştiren kullanıcının kimliği. | ||
| Açıklama Faturayı onaylama veya ödeme kaydetme gibi belirli bir etkinlikten sorumlu sistem kullanıcısını belirtir. D365’te Belirli kullanıcıların diğerlerine kıyasla daha fazla ödeme engeline yol açıp açmadığını görmek için Ödeme Engeli ve Süreçteki Aksaklıklar Analizinde kullanılır. Neden önemli? Kaynak davranışını ve görevlerin ayrılığını analiz etmenizi sağlar. Nereden alınır? İşlem/geçmiş tablolarındaki CreatedBy/ModifiedBy sistem alanları Örnekler jdoeadminworkflow_sys | |||
| Satın alma siparişi numarası PurchaseOrderNumber | İlgili satın alma siparişinin referans numarası. | ||
| Açıklama Faturayı asıl satın alma belgesine bağlar. Dynamics 365’te bu, Bu öznitelik, satın alma siparişine bağlı faturalarla siparişe bağlı olmayan faturaları ayırt ederek Satın Alma Siparişi Eşleşme ve Fark Eğilimleri Dashboardunu destekler. Neden önemli? Satın Almadan Ödemeye eşleşme oranını analiz etmek için gereklidir. Nereden alınır? Tablo: VendInvoiceJour, Alan: PurchId Örnekler PO-000455000342PO-22-998 | |||
| Şirket kodu CompanyCode | Tüzel kişilik veya bağlı şirket tanımlayıcısı. | ||
| Açıklama Faturanın işlendiği kuruluş içindeki tüzel kişiliği gösterir. Microsoft Dynamics 365 içinde bu değer, Bu öznitelik, farklı bağlı şirketler veya coğrafi birimler arasında karşılaştırma yapmayı sağlayan uçtan uca teslim süresi analizinde önemlidir. Neden önemli? Farklı iş birimleri veya ülkeler arasında karşılaştırmalı analiz yapılmasını sağlar. Nereden alınır? Tablo: VendInvoiceJour, Alan: DataAreaId Örnekler USMFDEMFGBSI | |||
| Tedarikçi adı VendorName | Tedarikçi kuruluşun adı. | ||
| Açıklama Tedarikçinin açıklayıcı adı. D365’te tedarikçi hesabı, gerçek Adların anlaşılır biçimde sunulması, Tedarikçi İlişkilerinin Karmaşıklığı görünümünü kullanmayı kolaylaştırır ve Dashboardları iş kullanıcıları için erişilebilir kılar. Neden önemli? Tedarikçi hesabı numarasına bağlam kazandırır. Nereden alınır? Tablo: DirPartyTable (VendTable üzerinden), Alan: Name Örnekler Contoso Office SupplyFabrikam ElectronicsLitware Inc. | |||
| Tedarikçi hesabı VendorAccount | Tedarikçiye ait benzersiz hesap numarası. | ||
| Açıklama İşleme dahil olan tedarikçinin benzersiz tanımlayıcısıdır. Dynamics 365 içinde Bu öznitelik, belirli tedarikçi ilişkilerindeki performansı ve aksaklıkları analiz etmeyi sağlayan Tedarikçi ilişkilerinin karmaşıklığı görünümünün temelini oluşturur. Neden önemli? Süreç performansını tedarikçiye göre gruplandırmayı sağlar. Nereden alınır? Tablo: VendInvoiceJour, Alan: InvoiceAccount veya OrderAccount Örnekler US-101V000452001 | |||
| Vade tarihi DueDate | Faturanın ödenmesi gereken tarih. | ||
| Açıklama Cezalardan kaçınmak için ödemenin tamamlanması gereken sözleşmeye bağlı tarih. Dynamics 365’te fatura başlığındaki veya işlem kaydındaki Zamanında Ödeme Oranı KPI’ı için temel ölçüttür ve Borçlar Muhasebesi Süreç Hacmi ve İşlem Hacmi görünümünde işlerin önceliklendirilmesine yardımcı olur. Neden önemli? Ödemelerin zamanında yapılma performansını ölçmek için kullanılan ölçüt. Nereden alınır? Tablo: VendInvoiceJour veya VendTrans, Alan: DueDate Örnekler 2023-11-302023-12-15 | |||
| Fiş numarası VoucherNumber | İşlemle ilişkili muhasebe fişinin numarası. | ||
| Açıklama Muhasebe kaydı için kullanılan dahili Büyük Defter kimliği. Dynamics 365’te Teknik bir alan olsa da kayıtları mutabakat için Büyük Defter’e kadar izlemeyi sağlayarak Süreç Yolu ve Uyumluluk Denetiminde işe yarar. Neden önemli? Mali denetim ve mutabakat için temel bilgidir. Nereden alınır? Tablo: VendInvoiceJour, Alan: LedgerVoucher Örnekler VOU-10023INV-ACC-992 | |||
| Nakit indirimi tarihi CashDiscountDate | İndirimden yararlanmak için ödemenin yapılması gereken tarih. | ||
| Açıklama Erken ödeme indirimlerinden yararlanmak için son tarih. Dynamics 365’te bu, Bu öznitelik, kuruluşun kaçırılan tasarruf fırsatlarını ölçmesini sağlayan Nakit İndirimi Kullanım Performansı Dashboardunu destekler. Neden önemli? Sürecin mali verimlilik KPI’ını doğrudan etkiler. Nereden alınır? Tablo: VendInvoiceJour veya VendTrans, Alan: CashDiscDate Örnekler 2023-10-102023-10-20 | |||
| Ödeme engellendi mi IsPaymentBlocked | Faturanın ödemesinin şu anda engellendiğini belirten işaret. | ||
| Açıklama Faturanın beklemede olup olmadığını belirten bir mantıksal gösterge. Dynamics 365’te bu değer genellikle Süreçteki kesintileri ortaya çıkaran Ödeme Engeli ve Süreçteki Aksaklıklar Analizinin temel ölçütüdür. Neden önemli? Aksaklıkların ve manuel müdahalelerin nerede yaşandığını gösterir. Nereden alınır? Tablo: VendTrans, Alan: Approved (ters değer) veya özel bekletme alanları Örnekler truefalse | |||
| Ödeme koşulları PaymentTerms | Üzerinde anlaşılan ödeme koşullarını belirten kod. | ||
| Açıklama Vade tarihlerini ve indirimleri belirleyen yapılandırma kodu (ör. Net30). Dynamics 365’te bu, Süreçteki gecikmelerin üzerinde anlaşılan koşulları ihlal edip etmediğini görmek için Çevrim süresiyle birlikte analiz edilir. Neden önemli? Vade tarihinin hesaplanması için bağlam sağlar. Nereden alınır? Tablo: VendInvoiceJour, Alan: PaymTermId Örnekler Net302%10Net30COD | |||
| Ödeme yöntemi PaymentMethod | Faturayı ödemek için kullanılan yöntem (ör. çek, havale, EFT). | ||
| Açıklama Paranın tedarikçiye nasıl aktarılacağını belirtir. Dynamics 365’te bu, Farklı ödeme grubu türlerinin verimliliğini değerlendirmek için Ödeme Gerçekleştirme Süreleri Dashboardunda kullanılır. Neden önemli? Ödeme gerçekleştirme aşamasındaki farklılıkları açıklar. Nereden alınır? Tablo: VendInvoiceJour (PaymMode bilgileriyle birleştirilmiş) veya VendTrans Örnekler ÇEKACHHAVALE | |||
| Para birimi Currency | Faturanın para birimi kodu. | ||
| Açıklama Faturanın düzenlendiği para biriminin ISO kodu. Dynamics 365’te bu, Birden fazla para birimi kullanılıyorsa tutarları standartlaştırmak için İşlem Tutarı haritalamasında önem taşır. Neden önemli? Mali değerleri yorumlamak için gerekli bağlamı sağlar. Nereden alınır? Tablo: VendInvoiceJour, Alan: CurrencyCode Örnekler USDEURGBP | |||
Borçlar muhasebesi ödeme süreci etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Fatura kaydedildi | Fatura büyük deftere kaydedilir ve sistemde bir yükümlülük oluşturulur. Kayıt, bekleyen işlemler tablolarından kaydedilmiş işlem tablolarına taşınır. | ||
| Neden önemli? Borç yükümlülüğünün finansal kayıtlara geçtiğini gösteren önemli bir aşamadır. Bu etkinlik, faturanın ödeme için seçilmesini sağlar. Nereden alınır? VendInvoiceJour ve VendTrans tablolarında kayıt oluşturulur. TransDate, kayıt tarihini gösterir. Kaydedin X işlemi yürütüldüğünde kaydedilir Olay türü explicit | |||
| Fatura oluşturuldu | Sistemde bekleyen bir tedarikçi faturası kaydının ilk kez oluşturulmasıdır. Faturanın Dynamics 365 iş akışına manuel olarak veya veri varlığı içe aktarma yoluyla girdiğini gösterir. | ||
| Neden önemli? Süreç teslim süresi hesaplamalarının başlangıç zamanını belirler. Kuruluşların faturaların işlenmeden veya kaydedilmeden önce sistemde ne kadar beklediğini ölçmesini sağlar. Nereden alınır? VendInvoiceInfoTable.CreatedDateTime veya VendInvoiceInfoTable.RecId oluşturulma zaman damgası. Bekleyen tedarikçi faturası başlığını gösterir. Kaydedin VendInvoiceInfoTable içinde kayıt oluşturulduğunda kaydedilir Olay türü explicit | |||
| Fatura onaylandı | Bekleyen fatura için iş akışı örneği tamamlandı veya onaylandı durumuna gelir. Fatura artık büyük deftere kaydedilmeye hazırdır. | ||
| Neden önemli? Ortalama onay teslim süresini hesaplar. Bu aşamadaki gecikmeler, erken ödeme indirimlerinden yararlanma olanağını doğrudan etkiler. Nereden alınır? TrackingStatus değeri Completed olan WorkflowTrackingStatusTable.CreatedDateTime. Alternatif olarak VendInvoiceInfoTable.RequestStatus değeri Approved olabilir. Kaydedin İş akışı örneği tamamlandığında kaydedilir Olay türü explicit | |||
| Fatura satın alma siparişiyle eşleşti | Sistem, fatura satırını bir satın alma siparişiyle veya ürün teslim alımıyla başarıyla eşleştirir. Bu etkinlik, faturanın satın alma siparişine göre doğrulandığını gösterir. | ||
| Neden önemli? İlk seferde satın alma siparişi eşleşme oranı KPI’ı için önemlidir. Manuel müdahale olmadan işlenen faturalarla manuel müdahale gerektiren faturaları birbirinden ayırır. Nereden alınır? VendInvoiceInfoLine.PurchId ve VendInvoiceInfoTable.MatchStatus. MatchStatus değeri Passed olarak değiştiğinde çıkarım yapılır. Kaydedin MatchStatus alanını önceki ve sonraki değerleriyle karşılaştırın Olay türü inferred | |||
| Ödeme kaydedildi | Ödeme yevmiyesi büyük deftere kaydedilir; fatura kapatılır ve tedarikçi bakiyesi sıfırlanır. Böylece finansal süreç tamamlanır. | ||
| Neden önemli? Ortalama fatura-ödeme çevrim süresinin son etkinliğidir. Nakit çıkışına ilişkin muhasebe kayıtlarının tamamlandığını doğrular. Nereden alınır? LedgerJournalTrans kaydedilir. VendTrans güncellenerek mutabakat gösterilir. Gerçek olay, yevmiyenin kaydedilmesidir. Kaydedin X işlemi yürütüldüğünde kaydedilir Olay türü explicit | |||
| Ödeme oluşturuldu | Sistem ödeme dosyasını (EFT, ISO20022) oluşturur veya çekleri yazdırır. Yevmiye satırındaki ödeme durumu Sent ya da Generated olarak güncellenir. | ||
| Neden önemli? Onaydan gerçekleştirmeye kadar geçen süre KPI’ını destekler. Ödeme talimatının oluşturulduğunu doğrular. Nereden alınır? LedgerJournalTrans.PaymentStatus değeri Sent/Recieved olarak değişir. Bu durum genellikle satırdaki güncellemelerden çıkarılır. Kaydedin PaymentStatus alanını önceki ve sonraki değerleriyle karşılaştırın Olay türü inferred | |||
| Ödeme yevmiyesi oluşturuldu | Fatura seçilir ve bir ödeme yevmiyesi satırına eklenir. Bu, ödeme niyetini gösterir ve genellikle ödeme inceleme iş akışını başlatır. | ||
| Neden önemli? Yükümlülük aşamasından nakit ödeme işlemlerine geçişi gösterir. Ödeme işlemi teslim sürelerini ölçmek için kullanılır. Nereden alınır? LedgerJournalTrans.CreatedDateTime. Fatura, MarkedInvoice alanı veya mutabakat tabloları üzerinden ilişkilendirilir. Kaydedin LedgerJournalTrans içinde kayıt oluşturulduğunda kaydedilir Olay türü explicit | |||
| Fatura eşleşmedi | Eşleştirme işlemi, fatura ile satın alma siparişi veya teslim alma kaydı arasında fiyat ya da miktar farkı bulur. Sorun çözülene kadar süreç genellikle durur. | ||
| Neden önemli? Eşleştirme sürecindeki aksayan noktaları belirler. Satın alma siparişi eşleşmesi ve tutarsızlık eğilimleri Dashboardunu destekler. Nereden alınır? VendInvoiceInfoTable.MatchStatus değeri Failed veya Discrepancy olarak değişir. Farklar, VendInvoiceInfoLine eşleştirme kayıtlarında da görülebilir. Kaydedin MatchStatus alanını önceki ve sonraki değerleriyle karşılaştırın Olay türü inferred | |||
| Fatura güncellendi | Kayda alınmadan önce fatura başlığında veya satırlarında yapılan değişiklikleri kaydeder. Sık güncellemeler, veri çıkarma sorunlarına veya doğrulama sırasında gereken manuel düzeltmelere işaret edebilir. | ||
| Neden önemli? Güncellemelerin sık olması, yeniden çalışma döngülerine veya kaynaktaki düşük veri kalitesine (ör. OCR hataları) işaret eder. Yeniden çalışma ve veri doğruluğu izleyicisini destekler. Nereden alınır? Etkinleştirilmişse VendInvoiceInfoTable üzerindeki veritabanı günlüğü (SysDatabaseLog) kullanılır. Yüksek sorgulama sıklığında ModifiedDateTime değişikliklerinden de çıkarım yapılabilir. Kaydedin Sonraki veri aktarımlarındaki ModifiedDateTime değerlerini karşılaştırın Olay türü inferred | |||
| Fatura onaya gönderildi | Bekleyen fatura, incelenmek üzere iş akışı motoruna gönderilir. Bu adım, veri girişi ve eşleştirmeden yetkilendirme aşamasına geçişi gösterir. | ||
| Neden önemli? Onay çevrim süresinin başlangıcını gösterir. Kurum içi hiyerarşilerin verimliliğini analiz etmek için gereklidir. Nereden alınır? ContextTableId değeri VendInvoiceInfoTable kimliğine eşit ve Status değeri Submitted olan WorkflowTrackingStatusTable.CreatedDateTime. Kaydedin İş akışı örneği başlatıldığında kaydedilir Olay türü explicit | |||
| Ödeme blokesi uygulandı | Tedarikçi işlemine, ödeme teklifi içinde seçilmesini önleyen bir bekletme konur. Bu işlem genellikle anlaşmazlık durumlarında manuel olarak yapılır. | ||
| Neden önemli? Ödeme blokesi ve aksama analizini destekler. Nakit çıkışını geciktiren manuel müdahaleleri ortaya çıkarır. Nereden alınır? VendTrans.Approved işareti No olarak ayarlanır veya belirli OnHold durum alanları doldurulur. VendTrans güncellemelerinin izlenmesi gerekir. Kaydedin Durum alanını önceki ve sonraki değerleriyle karşılaştırın Olay türü inferred | |||
| Ödeme yevmiyesi onaylandı | Ödeme yevmiyesi iş akışı onaylanır ve ödemelerin oluşturulmasına izin verilir. Bu, fonlar transfer için hazırlanmadan önceki son kontroldür. | ||
| Neden önemli? Ödemelerin idari hazırlık aşamasını yetkilendirme darboğazından ayırır. Nereden alınır? LedgerJournalTable (başlık) kimliğine bağlı WorkflowTrackingStatusTable. Durum Completed. Kaydedin İş akışı örneği tamamlandığında kaydedilir Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
Data Management çalışma alanına erişin: Microsoft Dynamics 365 Finance ortamınızda oturum açın. Workspaces bölümüne gidip Data Management’ı seçin. Burası, veri dışa aktarma projelerini yapılandırdığınız merkezi alandır.
Dışa aktarma projesi oluşturun: Yeni bir veri projesi oluşturmak için Export kutucuğuna tıklayın. Projeye ProcessMining_AP_Export gibi açıklayıcı bir ad verin. Target data format alanında hedef biçimi seçin (BYOD için Azure SQL DB veya dosya tabanlı dışa aktarım için CSV gibi).
Veri varlıklarını ekleyin: Aşağıdaki standart veri varlıklarını projeye teker teker ekleyin: VendorInvoiceHeaderEntity (bekleyen faturalar), VendorInvoiceLineEntity (fatura satırları), VendorInvoiceJournalHeaderEntity (kaydedilmiş faturalar), VendorPaymentJournalLineEntity (ödemeler) ve WorkflowHistoryEntity (onay kayıtları). WorkflowHistoryEntity varsayılan olarak kullanılamıyorsa, dışa aktarıma açılmış özel bir varlığı veya belirli bir sistem varlığını etkinleştirmeniz gerekebilir.
Varlık filtrelerini yapılandırın: Her varlık için Filter simgesine tıklayın. Verileri ilgili CompanyInfo (DataAreaId) ile sınırlandırın ve yalnızca istediğiniz analiz dönemindeki verileri almak için CreatedDateTime veya InvoiceDate alanlarına tarih aralığı belirleyin (örneğin, son 12 ay).
Düzenli dışa aktarımı ayarlayın: Event Logun güncel kalması için yinelenen bir veri işi oluşturun. Sıklığı belirleyin (örneğin, günlük veya saatlik) ve desteklenen yerlerde Incremental push seçeneğini etkinleştirin. Böylece yalnızca değişen kayıtlar dışa aktarılır ve sistem yükü azalır.
İlk dışa aktarımı çalıştırın: İlk çalıştırmayı Export now düğmesine tıklayarak elle başlatın. Tüm kayıtların hatasız biçimde dışa aktarıldığından emin olmak için Execution summary bölümünü izleyin.
Verileri dönüştürün: Veriler hedefinize (Azure SQL veya dosyalar) aktarıldıktan sonra, bu tabloları birleştirmek için Query bölümünde verilen SQL betiğini kullanın. Bu dönüştürme işlemi, farklı varlıklardaki kayıtları tek bir kronolojik Event Logda birleştirir.
Öznitelikleri eşleyin: Sonuç veri setinde InvoiceNumber alanını Case ID, EventTime alanını Timestamp ve Activity alanını Aktivite Adı ile eşleştirin. Process Mining aracının gereksinimlerini karşılayın.
Doğrulayın ve yükleyin: Verilerin doğruluğunu teyit etmek için aşağıdaki kontrolleri çalıştırın. Doğrulama tamamlandığında son dosyayı CSV veya Parquet biçiminde dışa aktarın ve ProcessMind’e yükleyin.
Yapılandırma
- Varlık seçimi: Kaydetme öncesindeki süreç adımları için VendorInvoiceHeaderEntity ve VendorInvoiceLineEntity kullanın. Yasal olarak kaydedilmiş belge için VendorInvoiceJournalHeaderEntity, ödeme takibi için VendorPaymentJournalLineEntity kullanın.
- Incremental Push: İlk tam yüklemeden sonra yalnızca yeni veya değiştirilmiş kayıtları dışa aktarmak için bu ayarı Data Management projesinde etkinleştirin. Performans açısından önemlidir.
- Tarih aralıkları: InvoiceDate >= [Start Date] filtresini kullanın. Zaman aşımına yol açabilecek sınırsız dışa aktarımlardan kaçının.
- Şirket filtresi: D365 birden fazla tüzel kişilik için kullanılabilir. Şirketler arası analiz amaçlanmıyorsa farklı tüzel kişiliklerin verilerini karıştırmamak için her zaman DataAreaId filtresini uygulayın.
- İş akışı geçmişi: İş akışı geçmişine ait standart varlıklar büyük hacimli olabilir. Hacmi yönetilebilir tutmak için yalnızca VendInvoice türleriyle ilgili geçmişi dışa aktarın.
a Örnek sorgu sql
/*
SQL Transformation Script for D365 Finance AP Process
Assumes data is loaded into Staging tables in a SQL environment (BYOD/Data Lake)
*/
SELECT
I.InvoiceNumber AS [InvoiceNumber],
'Invoice Created' AS [Activity],
I.CreatedDateTime AS [EventTime],
I.DataAreaId AS [CompanyCode],
I.InvoiceAccount AS [VendorAccount],
I.InvoiceAmount AS [InvoiceAmount],
I.CurrencyCode AS [Currency],
'D365 FO' AS [SourceSystem],
GETDATE() AS [LastDataUpdate]
FROM Staging_VendorInvoiceHeaderEntity I
UNION ALL
/* Capture updates to invoice headers */
SELECT
I.InvoiceNumber,
'Invoice Updated',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.ModifiedDateTime > I.CreatedDateTime
UNION ALL
/* Invoice Matching Activities */
SELECT
I.InvoiceNumber,
'Invoice Matched to PO',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.MatchStatus = 'Matched' -- Adjust value based on system config
UNION ALL
SELECT
I.InvoiceNumber,
'Invoice Match Failed',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.MatchStatus = 'Failed'
UNION ALL
/* Workflow Activities */
SELECT
RelatedContext AS InvoiceNumber,
CASE
WHEN Status = 'Submitted' THEN 'Invoice Submitted for Approval'
WHEN Status = 'Approved' THEN 'Invoice Approved'
ELSE 'Workflow Activity'
END AS [Activity],
CreatedDateTime AS [EventTime],
DataAreaId,
NULL AS [VendorAccount],
NULL AS [InvoiceAmount],
NULL AS [Currency],
'D365 FO',
GETDATE()
FROM Staging_WorkflowHistoryEntity
WHERE ContextTableId = 12345 -- Replace with TableId for VendInvoiceInfoTable
AND Status IN ('Submitted', 'Approved')
UNION ALL
/* Invoice Posted */
SELECT
J.InvoiceNumber,
'Invoice Posted',
J.PostedDateTime,
J.DataAreaId,
J.InvoiceAccount,
J.InvoiceAmount,
J.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceJournalHeaderEntity J
UNION ALL
/* Payment Block */
SELECT
I.InvoiceNumber,
'Payment Block Applied',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceJournalHeaderEntity I
WHERE I.OnHold = 'Yes'
UNION ALL
/* Payment Activities */
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Journal Created' AS [Activity],
P.CreatedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue AS [VendorAccount],
P.DebitAmount AS [InvoiceAmount],
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Journal Approved' AS [Activity],
P.ModifiedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.PaymentStatus = 'Approved'
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Generated' AS [Activity],
P.ModifiedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.PaymentStatus = 'Sent'
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Posted' AS [Activity],
P.PostedDate AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.IsPosted = 'Yes' Adımlar
BYOD bağlantısını doğrulayın: SQL Server Management Studio (SSMS) veya benzer bir aracın yüklü olduğundan ve Dynamics 365 Finance & Operations ortamınız için Bring Your Own Database (BYOD) hedefi olarak yapılandırılmış Azure SQL Database’e bağlanabildiğinizden emin olun.
Varlık dışa aktarımını doğrulayın: Dynamics 365’teki Data Management çalışma alanına gidin. Aşağıdaki varlıkların (veya bunların temelindeki tabloların) BYOD veritabanına aktarılacak şekilde yapılandırıldığını doğrulayın:
VendInvoiceInfoTable(bekleyen faturalar),VendInvoiceInfoLine(bekleyen fatura satırları),VendInvoiceJour(kaydedilmiş faturalar),VendTrans(satıcı işlemleri),LedgerJournalTrans(yevmiye satırları),LedgerJournalTable(yevmiye başlıkları) veWorkflowTrackingStatusTable(iş akışı geçmişi).Dışa aktarma işini yapılandırın: Bu tablolar henüz dışa aktarılmıyorsa yeni bir dışa aktarma işi oluşturun. Target Data Format alanında BYOD SQL veritabanınızı seçin. Verilerin tamamını yeniden dışa aktarmadan güncel tutmak için Incremental Push seçeneğini belirleyin. Tablolara veri aktarmak için işi çalıştırın.
SQL ortamını hazırlayın: SSMS’yi açıp BYOD Azure SQL veritabanına bağlanın. Yeni bir sorgu penceresi açın.
Parametreleri ayarlayın: Aşağıda verilen betiğin üst kısmındaki değişken tanımlarını bulun.
@StartDateve@EndDatedeğişkenlerini analiz etmek istediğiniz döneme göre güncelleyin. Belirli bir tüzel kişiliğe göre filtreleme yapmanız gerekiyorsaDATAAREAIDfiltre koşullarını güncelleyin.Betiği çalıştırın: T-SQL betiğinin tamamını çalıştırın. Betik, birden fazla tablodaki verileri standart bir Event Log biçiminde birleştirmek için
UNION ALLkullanır.Verileri doğrulayın:
InvoiceNumberveyaEventTimesütunlarındaki boş değerleri kontrol edin. Hem kaydedilmiş faturaların (VendInvoiceJour) hem de bekleyen faturaların (VendInvoiceInfoTable) sonuçlarda bulunduğundan emin olun.Sonucu dışa aktarın: SSMS’de sonuç tablosuna sağ tıklayıp Save Results As... seçeneğini belirleyin. Dosyayı CSV (Comma Delimited) biçiminde kaydedin.
Yükleme için biçimlendirin: CSV dosyasını Excel’de veya bir metin düzenleyicide açın. ProcessMind gerektiriyorsa tarih biçimlerinin ISO 8601 standardına (YYYY-MM-DD HH:MM:SS) uygun olduğunu doğrulayın. Betik başarıyla çalıştıysa başka bir dönüştürme işlemi gerekmez.
ProcessMind’e yükleyin: CSV dosyasını ProcessMind’e aktarın ve
InvoiceNumbersütununu Case ID,Activitysütununu Aktivite Adı,EventTimesütununu Timestamp ile eşleyin.
Yapılandırma
- Dışa aktarma stratejisi: BYOD yükünü azaltmak için
LedgerJournalTransveVendTransgibi yüksek hacimli tablolarda Incremental Push kullanın. Full Push seçeneğini yalnızca veri tutarsızlıklarından şüpheleniyorsanız kullanın. - Saat dilimi işlemleri: Dynamics 365 verileri UTC olarak saklar. Betik UTC varsayar. Analiziniz yerel saat gerektiriyorsa betikte veya ProcessMind’e aktarım sırasında
DATEADDayarlaması yapın. - Şirket filtresi:
DataAreaIdsütunu tüzel kişiliği belirtir. Betik varsayılan olarak tüm tüzel kişiliklerin verilerini alır. Belirli bir bağlı şirketi filtrelemek içinWHERE DataAreaId = 'usmf'(örnek) koşulunu ekleyin. - İş akışı geçmişi:
WorkflowTrackingStatusTabletablosu, onay zaman damgaları için önemlidir. Varsayılan olarak çoğu zaman dışarıda bırakıldığı için bu tablonun BYOD dışa aktarma yapılandırmasına eklendiğinden emin olun. - Veri saklama: D365’te tamamlanmış iş akışı geçmişini veya kaydedilmiş yevmiye satırlarını silebilecek temizleme yordamlarını göz önünde bulundurun. Bu tür silme işlemleri Process Mining analizinizin geçmiş kapsamını sınırlar.
a Örnek sorgu sql
/* T-SQL Extraction Script for D365 AP Payment Processing */
/* Tables required: VendInvoiceInfoTable, VendInvoiceInfoLine, VendInvoiceJour, VendTrans, LedgerJournalTrans, LedgerJournalTable, WorkflowTrackingStatusTable */
DECLARE @StartDate DATETIME = '2023-01-01 00:00:00';
DECLARE @EndDate DATETIME = GETDATE();
WITH RawData AS (
/* 1. Invoice Created: Pending Invoice Header Creation */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Created' AS Activity,
T1.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
T1.CreatedBy AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoTable T1
WHERE T1.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 2. Invoice Updated: Modifications to Pending Invoice */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Updated' AS Activity,
T1.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
T1.ModifiedBy AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoTable T1
WHERE T1.ModifiedDateTime BETWEEN @StartDate AND @EndDate
AND T1.ModifiedDateTime > T1.CreatedDateTime
UNION ALL
/* 3. Invoice Matched to PO: Line Matching Success */
SELECT
H.Num AS InvoiceNumber,
'Invoice Matched to PO' AS Activity,
L.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
H.InvoiceAccount AS VendorAccount,
H.DataAreaId AS CompanyCode,
CAST(H.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
H.DueDate AS DueDate,
H.PurchId AS PurchaseOrderNumber,
L.ModifiedBy AS UserId,
H.VendorName AS VendorName,
H.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoLine L
JOIN dbo.VendInvoiceInfoTable H ON L.TableRefId = H.TableRefId AND L.DataAreaId = H.DataAreaId
WHERE L.MatchStatus = 1 /* 1 usually denotes Matched/Passed in enum */
AND L.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 4. Invoice Match Failed: Line Matching Discrepancy */
SELECT
H.Num AS InvoiceNumber,
'Invoice Match Failed' AS Activity,
L.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
H.InvoiceAccount AS VendorAccount,
H.DataAreaId AS CompanyCode,
CAST(H.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
H.DueDate AS DueDate,
H.PurchId AS PurchaseOrderNumber,
L.ModifiedBy AS UserId,
H.VendorName AS VendorName,
H.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoLine L
JOIN dbo.VendInvoiceInfoTable H ON L.TableRefId = H.TableRefId AND L.DataAreaId = H.DataAreaId
WHERE L.MatchStatus = 2 /* 2 usually denotes Failed in enum */
AND L.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 5. Invoice Submitted for Approval: Workflow Submission */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Submitted for Approval' AS Activity,
W.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
W.User AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.WorkflowTrackingStatusTable W
JOIN dbo.VendInvoiceInfoTable T1 ON W.ContextRecId = T1.RecId
WHERE W.TrackingStatus = 1 /* Submitted */
AND W.ContextTableId = 1425 /* TableId for VendInvoiceInfoTable, adjust if different in version */
AND W.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 6. Invoice Approved: Workflow Completion */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Approved' AS Activity,
W.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
W.User AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.WorkflowTrackingStatusTable W
JOIN dbo.VendInvoiceInfoTable T1 ON W.ContextRecId = T1.RecId
WHERE W.TrackingStatus = 2 /* Completed/Approved */
AND W.ContextTableId = 1425
AND W.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 7. Invoice Posted: Creation of VendInvoiceJour */
SELECT
J.InvoiceId AS InvoiceNumber,
'Invoice Posted' AS Activity,
J.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
J.InvoiceAccount AS VendorAccount,
J.DataAreaId AS CompanyCode,
CAST(J.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
J.DueDate AS DueDate,
J.PurchId AS PurchaseOrderNumber,
J.CreatedBy AS UserId,
J.InvoicingName AS VendorName,
J.InvoiceDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceJour J
WHERE J.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 8. Payment Block Applied: Updated on VendTrans */
SELECT
J.InvoiceId AS InvoiceNumber,
'Payment Block Applied' AS Activity,
VT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
J.InvoiceAccount AS VendorAccount,
J.DataAreaId AS CompanyCode,
CAST(J.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
J.DueDate AS DueDate,
J.PurchId AS PurchaseOrderNumber,
VT.ModifiedBy AS UserId,
J.InvoicingName AS VendorName,
J.InvoiceDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendTrans VT
JOIN dbo.VendInvoiceJour J ON VT.Invoice = J.InvoiceId AND VT.AccountNum = J.InvoiceAccount AND VT.DataAreaId = J.DataAreaId
WHERE VT.Approved = 0 /* 0 indicates Not Approved/Blocked */
AND VT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 9. Payment Journal Created: Line added to Journal */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Journal Created' AS Activity,
LJT.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.CreatedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.AccountType = 2 /* Vendor */
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 10. Payment Journal Approved: Workflow on Journal Header */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Journal Approved' AS Activity,
LJH.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJH.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTable LJH
JOIN dbo.LedgerJournalTrans LJT ON LJH.JournalNum = LJT.JournalNum AND LJH.DataAreaId = LJT.DataAreaId
WHERE LJH.WorkflowApprovalStatus = 2 /* Approved */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJH.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 11. Payment Generated: Payment Status Changed to Sent */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Generated' AS Activity,
LJT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.PaymentStatus = 2 /* Sent/Generated */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 12. Payment Posted: Journal Line Posted */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Posted' AS Activity,
LJT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.Posted = 1 /* Posted */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
)
SELECT *
FROM RawData
WHERE InvoiceNumber IS NOT NULL AND InvoiceNumber <> ''
ORDER BY InvoiceNumber, EventTime; Başlamaya hazır mısınız?
Güvenilir bir veri temeli oluşturmak ve ödeme iş akışlarınızı iyileştirmeye hemen başlamak için bu şablondan yararlanın. Dynamics 365 tablolarınızı eşleştirme konusunda yardıma ihtiyacınız olursa ekibimiz size destek olabilir.
Borçlar muhasebesi ödeme sürecinizi hemen iyileştirin
Çevrim sürelerini yüzde 30 azaltın, D365 gecikmelerini ortadan kaldırın.
Kredi kartı gerekmez. Kurulum beş dakika sürer.