Siparişten Tahsilata - Faturalandırma ve Fatura İşleme Veri Şablonunuz
Siparişten Tahsilata - Faturalandırma ve Fatura İşleme Veri Şablonunuz
- Toplanması önerilen öznitelikler
- İzlenecek temel etkinlikler
- NetSuite için veri çıkarma rehberi
Siparişten Tahsilata - Faturalama ve Faturalandırma Öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Faaliyet adı ActivityName | Fatura yaşam döngüsünün belirli bir noktasında gerçekleşen iş Olayının adıdır. | ||
| Açıklama Faaliyet adı, 'Invoice Created', 'Invoice Approved' veya 'Customer Payment Received' gibi faturalama sürecindeki belirli bir adımı ya da Olayı tanımlar. Bu faaliyetler süreç haritasının ardışık yapı taşlarını oluşturur. Bu faaliyetlerin sırasını ve sıklığını analiz etmek Process Mining'in temelini oluşturur. Gerçek süreç akışını görselleştirmenize, yaygın ve nadir süreç yollarını (varyasyonları) belirlemenize ve yeniden iş yapmaya ya da verimsizliğe işaret eden sık tekrarlanan faaliyetleri ortaya çıkarmanıza yardımcı olur. Neden önemli? Bu öznitelik, süreç haritasını oluşturmak ve faturanın izlediği farklı adımları ve yolları görselleştirip analiz etmek için temeldir. Nereden alınır? NetSuite'teki Invoice işlemiyle ilişkili sistem günlüklerinden, durum değişikliklerinden veya belirli Olay kayıtlarından türetilir. Bunun için çoğu zaman işlem durum değişikliklerinin veya ilgili kayıt oluşturma işlemlerinin tanımlı faaliyet adlarıyla eşleştirilmesi gerekir. Örnekler Fatura oluşturulduFatura onaylandıMüşteri ödemesi alındıFatura tamamen ödendi | |||
| Fatura numarası InvoiceNumber | Her fatura belgesinin benzersiz tanımlayıcısıdır ve faturalama sürecinin birincil vaka tanımlayıcısı olarak kullanılır. | ||
| Açıklama Fatura numarası, her faturayı oluşturulmasından son kapanışına kadar benzersiz biçimde tanımlayarak faturalama süreci analizinin temelini oluşturur. Onay, gönderim ve ödeme uygulaması gibi ilgili tüm faaliyetleri tek ve bütünlüklü bir vakada bir araya getirir. Process Mining'de her fatura numarasının yolculuğunu analiz etmek, faturalama yaşam döngüsünün tamamını kapsamlı biçimde görmenizi sağlar. Böylece süreç varyasyonlarını, darboğazları ve standart prosedürden sapmaları belirleyebilir, nakit akışını ve operasyonel verimliliği optimize etmek için önemli içgörüler elde edebilirsiniz. Neden önemli? Her faturanın uçtan uca yaşam döngüsünü takip etmek, faturalama sürecinin tamamını yeniden oluşturmak ve ayrıntılı performans analizi yapmak için gereklidir. Nereden alınır? Bu, genellikle NetSuite'teki Invoice işlem kaydında bulunan 'Transaction ID' veya benzer bir benzersiz tanımlayıcı alanıdır. Örnekler INV-0012345INV-0012346INV-0012347 | |||
| Olay zaman damgası EventTimestamp | Belirli bir faaliyet veya Olayın gerçekleştiği kesin tarih ve saattir. | ||
| Açıklama Bu öznitelik, bir faaliyetin gerçekleştiği kesin anı kaydeder. Olayları kronolojik sıraya koymak ve zamana dayalı tüm analizleri yapmak için temel bir bileşendir. Process Mining'de Olay zaman damgası, faaliyetler arasındaki döngü sürelerini, vaka sürelerini ve bekleme sürelerini hesaplamak için kullanılır. Darboğazları belirlemek, süreç performansını SLA'lara göre ölçmek ve faturalama sürecinin zamansal dinamiklerini anlamak için gereklidir. Örneğin Fatura Oluşturma Döngü Süresi ve Days Sales Outstanding (DSO) hesaplamalarında kullanılır. Neden önemli? Olayların kronolojik sırasını sağlar. Bu sıra, süreye dayalı tüm metrikleri hesaplamak, darboğazları belirlemek ve süreç performansını zaman içinde analiz etmek için gereklidir. Nereden alınır? Zaman damgası bilgileri genellikle NetSuite'teki her fatura işlemiyle ilişkili sistem notlarında, denetim izlerinde veya 'Date Created' alanlarında bulunur. Örnekler 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| Kaynak sistem SourceSystem | Verilerin çıkarıldığı sistemdir. | ||
| Açıklama Bu öznitelik, süreç verilerinin kaynağını tanımlar. Bu görünüm için değer sürekli olarak 'NetSuite' olur. Birden fazla ERP veya entegre sistemin kullanıldığı kuruluşlarda, daha geniş analitik bağlamında bu öznitelik veri kökeni ve yönetişimi için büyük önem taşır. Farklı platformlara yayılan süreçleri ayırt etmenize ve analizin doğru kayıt sistemine atanmasını sağlamanıza yardımcı olur. Neden önemli? Özellikle birden fazla sistemin entegre edildiği ortamlarda veri kaynağı ve yönetişimi hakkında önemli bağlam sağlar. Nereden alınır? Bu, veri çıkarma ve dönüştürme sürecinde eklenen statik bir değerdir ('NetSuite'). Örnekler NetSuite | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son yenilendiği zamanı gösteren zaman damgasıdır. | ||
| Açıklama Bu öznitelik, veri setinin en son ne zaman güncellendiğini kaydeder. Process Mining analizinin güncelliği ve geçerliliği hakkında bağlam sağlar. Analistler ve iş paydaşları, içgörülerin en güncel operasyonel durumu yansıtıp yansıtmadığını anlamak için bu bilgiyi kullanır. Her Dashboard veya rapor için önemli bir üst veridir. Kararların bilinen yaştaki verilere dayanmasını ve veriler gerçek zamanlı değilse gerçek zamanlıymış gibi yorumlanmamasını sağlar. Neden önemli? Kullanıcılara verilerin güncelliği hakkında bilgi verir ve analiz dönemini ve içgörülerin geçerliliğini anlamalarını sağlar. Nereden alınır? Bu zaman damgası, veri yenilendiği sırada veri çıkarma aracı veya veri hattı tarafından oluşturulur ve kaydedilir. Örnekler 2024-05-21T02:00:00Z | |||
| Bölge Region | Müşteriyle veya işlemle ilişkili coğrafi bölge. | ||
| Açıklama Region özniteliği, faturaları coğrafi konuma göre sınıflandırır. Bu konum, müşterinin adresinden veya faturayı düzenleyen iş biriminden türetilebilir. Bu öznitelik karşılaştırmalı analiz için güçlü bir boyut sunar. 'Regional Billing Process Comparison' Dashboardu, farklı bölgelerdeki çevrim süreleri, hata oranları ve süreç varyantları gibi KPI’ları karşılaştırmak için bu özniteliğe dayanır. Böylece bölgesel performans farklılıklarını belirleyebilir, yüksek performans gösteren bölgelerdeki iyi uygulamaları ortaya çıkarabilir ve kuruluş genelinde süreç standardizasyonu çalışmalarını yönlendirebilirsiniz. Neden önemli? Farklı coğrafi bölgeler arasında karşılaştırmalı analiz yapılmasını sağlar. Bu, bölgesel performans farklarını belirlemek ve iyi uygulamaları standartlaştırmak için önemlidir. Nereden alınır? Bu veri genellikle NetSuite'teki müşteri ana kaydında veya işlem kaydında bulunan özel bir segment ya da sınıflandırma alanında tutulur. Örnekler Kuzey AmerikaEMEAAPAC | |||
| Fatura tarihi InvoiceDate | Faturanın müşteriye düzenlendiği resmi tarihtir. | ||
| Açıklama Fatura tarihi veya işlem tarihi, faturalamayla ilgili birçok finansal hesaplamanın başlangıç noktasıdır. Ödeme koşulları ve vade tarihleri genellikle bu tarihten itibaren hesaplanır. Analizde bu tarih, Days Sales Outstanding (DSO) ve fatura yaşlandırması gibi temel finansal KPI'ları hesaplamak için birincil referans noktasıdır. Faturalama performansını farklı dönemler arasında, örneğin aydan aya veya yıldan yıla karşılaştırmanızı sağlayan kohort analizine imkan verir. Neden önemli? Bu tarih, Days Sales Outstanding (DSO) ve fatura yaşlandırması gibi önemli finansal metrikler için temel oluşturur ve işletme sermayesi analizini doğrudan etkiler. Nereden alınır? NetSuite'teki Invoice işlem kaydında bulunan 'Date' (trandate) alanına karşılık gelir. Örnekler 2023-10-262023-10-272023-11-15 | |||
| Fatura toplam tutarı InvoiceTotalAmount | Vergiler ve diğer ücretler dahil olmak üzere faturanın toplam parasal değeridir. | ||
| Açıklama Bu öznitelik, müşterinin ödemesi beklenen toplam tutarı temsil eder. Her faturalama vakası için temel bir finansal veridir. Süreci fatura tutarına göre analiz etmek, değere dayalı inceleme yapmanızı sağlar. Örneğin yüksek tutarlı faturaların düşük tutarlı faturalardan farklı ve daha karmaşık bir süreç izleyip izlemediğini gösterebilir. Ayrıca tahsilat çalışmalarına öncelik vermek ve ödeme gecikmelerinin ya da fatura hatalarının finansal etkisini anlamak için kullanılır. Neden önemli? Değere dayalı süreç analizi yapmanızı, yüksek tutarlı faturalara öncelik vermenizi ve süreç verimsizliklerinin finansal etkisini anlamanızı sağlar. Nereden alınır? Bu, NetSuite'teki Invoice işlem kaydında yer alan 'Total' (toplam) alanına karşılık gelir. Örnekler 1500.0089.9912500.50 | |||
| Kullanıcı User | Faaliyeti gerçekleştiren kullanıcının adı veya kimliğidir. | ||
| Açıklama Bu öznitelik, belirli bir süreç adımını yürütmekten sorumlu çalışanı veya sistem kullanıcısını tanımlar. Bu kişi faturayı oluşturan, onaylayan veya ödemeyi uygulayan kullanıcı olabilir. Süreci kullanıcı bazında analiz etmek, iş yükü dağılımını ve bireysel performansı anlamanıza, eğitim ihtiyaçlarını belirlemenize yardımcı olur. Ayrıca en fazla kullanıcı tarafından gerçekleştirilen manuel faaliyetleri göstererek olası otomasyon fırsatlarını ortaya çıkarabilir. Uyumluluk ve denetim izi analizi için de önemlidir. Neden önemli? İş yükü dağılımını, kullanıcıya özgü performansı ve süreç uyumluluğunu analiz etmenizi sağlar. Bu, kaynak yönetimi ve hedefli eğitim için önemlidir. Nereden alınır? NetSuite'teki System Notes alt sekmesinde veya Invoice ve ilgili işlem kayıtlarındaki belirli 'Modified By' alanlarında bulunur. Örnekler Alice SmithBob JohnsonSYSTEM | |||
| Müşteri adı CustomerName | Faturanın düzenlendiği müşterinin adı. | ||
| Açıklama Bu öznitelik, faturalandırılan tüzel kişiyi veya kişiyi tanımlar. Faturalandırma sürecini müşteri ilişkileri yönetimi işlevine bağlar. Faturalandırma sürecini müşteriye göre analiz etmek, belirli müşterilerin ödeme davranışlarındaki, itirazlarındaki veya fatura karmaşıklığındaki örüntüleri belirlemeye yardımcı olur. Bu bilgiler müşteri segmentasyonu stratejilerini, kredi limiti kararlarını ve müşteriye özel tahsilat yaklaşımlarını şekillendirebilir. Örneğin, belirli bir müşterinin sürekli olarak yeniden işleme gerektiren faturaları olup olmadığını gösterebilir. Neden önemli? Müşteri odaklı analiz yapılmasını sağlar; belirli müşterilere özgü ödeme örüntülerini, sık karşılaşılan sorunları veya süreç sapmalarını belirlemeye yardımcı olur. Nereden alınır? Bu, NetSuite'teki Invoice işlem kaydında yer alan 'Customer' veya 'Entity' ad alanına karşılık gelir. Örnekler Global Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| Olay bitiş zamanı EventEndTime | Belirli bir faaliyet veya Olayın tamamlandığı kesin tarih ve saattir. | ||
| Açıklama Olay bitiş zamanı, bir faaliyetin tamamlandığı anı gösterir. Birçok faaliyet anlık gerçekleştiği için başlangıç ve bitiş zamanı aynı olsa da onay adımı gibi bazı faaliyetlerin ölçülebilir bir süresi olabilir. Bu öznitelik, Olay zaman damgası (başlangıç zamanı) ile birlikte faaliyet işleme süresinin doğrudan hesaplanmasını sağlar. İşleme süresini analiz etmek, hangi adımların en fazla zaman ve kaynağı tükettiğini belirlemenize ve bunu faaliyetler arasındaki bekleme süresinden ayırmanıza yardımcı olur. Bu, belirli görevlerdeki verimsizlikleri ortaya çıkarmak için önemlidir. Neden önemli? Her faaliyetin tamamlanmasının ne kadar sürdüğünü kesin biçimde hesaplamanızı sağlar. Bu, kaynak verimliliğini analiz etmek ve zaman alan görevleri belirlemek için gereklidir. Nereden alınır? StartTime'a benzer şekilde NetSuite sistem denetim izlerinden alınabilir. Bir 'start' Olayını karşılık gelen bir 'end' Olayıyla eşleştirmek için mantık kurulması gerekebilir. Örnekler 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| Otomatik mi IsAutomated | Bir etkinliğin sistem tarafından otomatik olarak gerçekleştirilip gerçekleştirilmediğini gösteren işaret. | ||
| Açıklama Bu boolean öznitelik, kullanıcıların manuel olarak gerçekleştirdiği etkinliklerle sistem iş akışı, betik veya entegrasyon tarafından otomatik olarak yürütülen etkinlikleri birbirinden ayırır. Bu öznitelik, faturalandırma sürecindeki otomasyon düzeyini ölçmek için önemlidir ve 'Automated Billing Ratio' KPI’sını doğrudan destekler. Analistler otomatik veya manuel etkinliklere göre filtre uygulayarak manuel müdahaleden kaynaklanan darboğazları belirleyebilir, otomasyonu artırma, insan hatasını azaltma ve verimliliği geliştirme fırsatlarını ortaya çıkarabilir. Neden önemli? Süreçteki otomasyon düzeyini ölçmeye, manuel çalışmayı azaltma ve verimliliği artırma fırsatlarını belirlemeye yardımcı olur. Nereden alınır? Genellikle bir etkinlikle ilişkilendirilmiş 'User' kontrol edilerek türetilir. Kullanıcı adı 'SYSTEM', 'Workflow' veya 'Integration' olan kullanıcıların tetiklediği olaylar otomatik olarak işaretlenir. Örnekler truefalse | |||
| Vade tarihi DueDate | Fatura ödemesinin yapılması gereken tarihtir. | ||
| Açıklama Vade tarihi, Fatura Tarihi ve üzerinde anlaşılan Ödeme Koşullarına göre hesaplanır. Müşterinin gecikmiş sayılmadan ödeme yapabileceği son tarihi gösterir. Bu öznitelik, alacak hesaplarını izlemek ve nakit akışını yönetmek için gereklidir. On-Time Payment Rate KPI'ını hesaplamak ve müşteri ödeme davranışlarını analiz etmek için kullanılan referans noktasıdır. Vade tarihinden sapmaları takip etmek, sık sık geç ödeme yapan müşterileri belirlemenize ve tahsilat stratejilerinin etkinliğini değerlendirmenize yardımcı olur. Neden önemli? Zamanında ödeme performansını ölçmek ve müşteri ödeme davranışlarını analiz etmek için önemlidir; tahsilat süreçlerini ve nakit akışı tahminlerini doğrudan destekler. Nereden alınır? NetSuite'teki Invoice işlem kaydında bulunan 'Due Date' (duedate) alanına karşılık gelir. Örnekler 2023-11-252023-11-262023-12-15 | |||
| Departman Department | Faturayla ilişkili kurum içi departman. | ||
| Açıklama Bu öznitelik, işlemden sorumlu olan Sales, Services veya belirli bir iş kolu gibi kurum içi departmanı temsil eder. NetSuite'te standart bir sınıflandırma segmentidir. Süreci departmana göre analiz etmek, kurum içi kıyaslama yapılmasını sağlar ve bazı departmanların diğerlerinden daha verimli faturalandırma süreçlerine sahip olup olmadığını belirlemeye yardımcı olur. Sürece uyum veya kaynak tahsisindeki farklılıkları ortaya çıkararak kuruluşun belirli bölümlerine yönelik süreç iyileştirme çalışmalarına yön verecek içgörüler sunabilir. Neden önemli? Süreç performansının farklı kurum içi departmanlar arasında karşılaştırılmasını sağlar; farklılıkları ve kurum içi süreç standardizasyonu fırsatlarını görünür kılar. Nereden alınır? Bu, NetSuite'teki Invoice işleminin üst bilgi veya satır düzeyinde ayarlanabilen 'Department' sınıflandırma alanına karşılık gelir. Örnekler Satış - KurumsalProfesyonel HizmetlerDonanım | |||
| Fatura durumu InvoiceStatus | Faturanın yaşam döngüsündeki mevcut durumu. | ||
| Açıklama Bu öznitelik, faturanın 'Open', 'Paid in Full' veya 'Voided' gibi mevcut durumunu gösterir. Herhangi bir anda faturanın süreçte hangi noktada bulunduğuna ilişkin anlık bir görünüm sunar. 'Open Invoices Status Overview' Dashboardu doğrudan bu öznitelik üzerine kuruludur. Alacak hesaplarının gerçek zamanlı değerlendirilmesini sağlar. Böylece finans ekipleri ödenmemiş bakiyeleri izleyebilir, tahsilatları yönetebilir ve nakit girişlerini öngörebilir. Nihai durumun analiz edilmesi, süreç sonuçlarını anlamaya da yardımcı olur. Neden önemli? Alacak hesaplarının mevcut durumuna ilişkin anlık bir görünüm sunar. Böylece açık faturaları ve genel faturalandırma ilerlemesini izleyen Dashboardlar oluşturabilirsiniz. Nereden alınır? Bu, NetSuite'teki Invoice işlem kaydında yer alan 'Status' alanına karşılık gelir. Örnekler AçıkTamamen ödendiGeçersiz kılındıOnay bekliyor | |||
| Ödeme koşulları PaymentTerms | Şirket ile müşteri arasında ödeme için üzerinde anlaşmaya varılan koşullar. | ||
| Açıklama Payment Terms, müşterinin faturasını ne zaman ve nasıl ödemesi gerektiğini tanımlar, örneğin 'Net 30' veya 'Due on receipt'. Bu bilgi, faturanın vade tarihini otomatik olarak hesaplamak için kullanılır. Bu öznitelik 'Payment Terms Adherence' Dashboardu için büyük önem taşır. Farklı ödeme koşullarına göre zamanında ödeme oranlarını analiz etmek, bu koşulların ne kadar etkili olduğunu değerlendirmeye yardımcı olur. Örneğin, 'Net 15' koşullarına sahip müşterilerin 'Net 30' koşullarına sahip müşterilerden daha hızlı ödeme yapıp yapmadığını gösterebilir. Bu bilgi gelecekteki sözleşme görüşmelerine ve kredi politikalarına yön verir. Neden önemli? Farklı ödeme koşullarının etkinliğini ve bunların müşterilerin zamanında ödeme yapması üzerindeki etkisini analiz etmek için gereklidir. Nereden alınır? Bu, NetSuite'teki Invoice işlem kaydında yer alan 'Terms' alanına karşılık gelir. Örnekler 30 gün vade60 gün vadeAlındığında ödenir | |||
| Para birimi Currency | Fatura tutarının para birimi kodu. | ||
| Açıklama Bu öznitelik, fatura tutarının hangi para birimi cinsinden ifade edildiğini belirtir. Örneğin USD, EUR veya GBP olabilir. Tüm parasal değerlerin doğru yorumlanması için gerekli bağlamı sağlar. Çok uluslu kuruluşlarda para birimine göre analiz yapmak, farklı pazarlardaki finansal performansı anlamak açısından önemlidir. Bu sayede parasal değerler doğru yorumlanır ve gerekirse para birimi dönüşümünden sonra doğru şekilde toplanıp karşılaştırılabilir. Neden önemli? Özellikle çok uluslu operasyonlarda doğru finansal raporlama ve analiz için gerekli olan tüm parasal değerleri bağlama oturtur. Nereden alınır? Bu, NetSuite'teki Invoice işlem kaydında yer alan 'Currency' alanına karşılık gelir. Örnekler USDEURGBP | |||
| Satış siparişi numarası SalesOrderNumber | Faturanın oluşturulduğu satış siparişinin tanımlayıcısı. | ||
| Açıklama Bu öznitelik, kaynak satış siparişine doğrudan bağlantı sağlar ve faturalandırma sürecini önceki satış ve sipariş karşılama süreçlerine bağlar. Sales Order Number bilgisinin eklenmesi, Satıştan Tahsilata döngüsünün tamamını daha bütünsel biçimde görmenizi sağlar. Faturalandırmadaki sorunların kaynağını satış sürecine kadar izleyebilirsiniz. Örneğin, sık yapılan fatura düzeltmeleri belirli satış siparişi türlerindeki veri giriş hatalarıyla ilişkilendirilebilir. Neden önemli? Faturalandırma sürecini satış sürecine bağlar ve faturalandırma sorunlarının temel nedenlerini belirlemek için uçtan uca Satıştan Tahsilata analizi yapılmasını sağlar. Nereden alınır? NetSuite'teki Invoice işleminde 'Created From' alanında veya 'Related Records' alt sekmesinde bulunur. Örnekler SO-0009876SO-0009877SO-0009878 | |||
| Tahsilat süresi DaysSalesOutstanding | Fatura tarihi ile ödemenin alındığı tarih arasındaki gün sayısı. | ||
| Açıklama Days Sales Outstanding (DSO), fatura düzenlendikten sonra ödemenin tahsil edilmesinin ortalama kaç gün sürdüğünü ölçen önemli bir finansal metriktir. Ayrıntılı analiz yapabilmeniz için bu öznitelik her fatura için ayrı ayrı hesaplanır. DSO çoğu zaman üst düzey bir KPI olarak toplulaştırılır. Ancak DSO değerinin fatura düzeyinde bulunması güçlü analizler yapmanızı sağlar. Hangi müşterilerin, bölgelerin veya fatura türlerinin en yüksek DSO değerine sahip olduğunu belirlemek için kullanılabilir. 'DSO Trend' Dashboardu, tahsilat verimliliğini zaman içinde görselleştirmek için bu metriğe dayanır ve işletme sermayesi yönetimi hakkında önemli içgörüler sunar. Neden önemli? Bireysel fatura düzeyinde tahsilat verimliliğini ölçer; yüksek DSO'nun temel nedenlerini ve nakit akışı üzerindeki etkisini ayrıntılı biçimde analiz etmenizi sağlar. Nereden alınır? 'InvoiceDate' değerinin 'Customer Payment Received' etkinliğinin zaman damgasından çıkarılmasıyla hesaplanır. Örnekler 294562 | |||
| Yeniden işleme mi IsRework | Yeniden işleme veya düzeltme döngüsü olarak değerlendirilen etkinlikleri belirleyen hesaplanmış işaret. | ||
| Açıklama Bu boolean işareti, aynı vaka içindeki 'Invoice Corrected' veya ikinci bir 'Invoice Approved' olayı gibi değer katmayan yeniden çalışmayı temsil eden etkinlikler için true olarak ayarlanır. Genellikle etkinlik adına veya bir etkinliğin tekrarlanmasına göre türetilir. Bu öznitelik 'Invoice Rework and Rejection Analysis' Dashboardu ve 'Invoice Error Rate' KPI’sı için gereklidir. Yeniden çalışmayı kolayca ölçmenizi ve süreç kalitesi sorunlarını görünür kılmanızı sağlar. Yeniden çalışma etkinliklerine göre filtre uygulayan ekipler, hataların temel nedenlerini hızla belirleyebilir ve süreç iyileştirme çalışmalarının etkisini ölçebilir. Neden önemli? Verimsiz yeniden işleme döngülerini işaretleyerek süreç kalitesini doğrudan ölçer; faturalandırma hatalarının temel nedenlerini ve finansal etkisini analiz etmenizi sağlar. Nereden alınır? Bu, veri dönüşümü sırasında hesaplanan türetilmiş bir özniteliktir. Belirli etkinlik adlarını, örneğin 'Invoice Corrected' adını veya tekrarlanan etkinlikleri işaretlemek gibi mantıklar uygulanarak yeniden işleme belirlenir. Örnekler truefalse | |||
| Zamanında ödeme mi IsOnTimePayment | Müşteri ödemesinin fatura vade tarihinde veya bu tarihten önce alınıp alınmadığını gösteren işaret. | ||
| Açıklama Bu hesaplanan boolean işareti, 'Customer Payment Received' etkinliğinin zaman damgasını faturanın Bu öznitelik 'On-Time Payment Rate' KPI’sının ve 'Payment Terms Adherence' Dashboardunun temelini oluşturur. Müşteri ödeme davranışını net ve ikili bir ölçümle göstererek analiz ve raporlamayı kolaylaştırır. Ödeme zamanlamasındaki eğilimleri hızlıca belirlemenize ve tahsilat stratejilerinin etkinliğini değerlendirmenize yardımcı olur. Neden önemli? Tahsilat için net bir başarı metriği sunar; On-Time Payment Rate KPI'ının hesaplanmasını ve müşteri davranışının analizini doğrudan destekler. Nereden alınır? Hesaplanmış bir özniteliktir. Ödeme olayının zaman damgası ile vaka düzeyindeki 'DueDate' özniteliğinin karşılaştırılmasını gerektirir. Örnekler truefalse | |||
Siparişten Tahsilata - Faturalama ve Faturalandırma Faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Fatura müşteriye gönderildi | Faturanın genellikle e-posta yoluyla müşteriye gönderildiğini belirtir. Bu Olay, kullanıcının fatura kaydındaki 'Email' işlemini gerçekleştirdiği izlenerek kaydedilir. | ||
| Neden önemli? Müşteriden tahsilat döneminin başlangıcını belirtir ve Days Sales Outstanding (DSO) hesaplamasının temel başlangıç noktasıdır. Nereden alınır? Invoice kaydındaki 'Date Last Emailed' alanının doldurulmasından çıkarılır. Alternatif olarak Communication alt sekmesi altında bir e-posta mesajı kaydı oluşturulmasından da alınabilir. Yakalayın 'Date Last Emailed' alanının doldurulmasından veya bir iletişim kaydının oluşturulmasından çıkarılır. Olay türü inferred | |||
| Fatura oluşturuldu | NetSuite'te fatura işlem kaydının resmi olarak oluşturulmasını belirtir. Bu Olay, her benzersiz fatura numarası için faturalama sürecinin başlangıç noktasıdır ve işlemin oluşturulma zaman damgasından alınır. | ||
| Neden önemli? Bu, faturalama sürecinin birincil başlangıç Olayıdır. Bu Olay ile diğerleri arasındaki süreyi analiz etmek, genel süreç verimliliğini ortaya çıkarır ve Fatura Oluşturma Döngü Süresi KPI'ı için temel oluşturur. Nereden alınır? Fatura işlem kaydındaki 'Date Created' zaman damgasından alınır. NetSuite sistem notları da fatura için oluşturma Olayını ve kullanıcıyı açıkça kaydeder. Yakalayın Fatura işlem kaydı oluşturulduğunda kaydedilen Olay. Olay türü explicit | |||
| Fatura onaylandı | Fatura resmi olarak onaylanmış ve müşteriye gönderilmeye hazırdır. Bu durum, onay statüsü 'Pending Approval' değerinden 'Approved' değerine güncellendiğinde, genellikle bir Workflow işlemiyle kaydedilir. | ||
| Neden önemli? Faturanın müşteriye gönderilmesini sağlayan önemli bir kilometre taşıdır. Onay döngü sürelerini ölçmek ve 'Automated Billing Ratio' KPI'ını hesaplamak için gereklidir. Nereden alınır? Invoice kaydındaki 'Approval Status' alanının 'Approved' olarak değişmesinden çıkarılır. Kesin zaman damgası işlemin sistem notlarına kaydedilir. Yakalayın Sistem notlarında 'Approval Status' alanının 'Approved' olarak değişmesinden çıkarılır. Olay türü inferred | |||
| Fatura tamamen ödendi | Fatura durumu 'Paid In Full' olarak değişmiş ve bakiyenin sıfıra indiğini göstermiştir. Bu, fatura için faturalama ve tahsilat döngüsünün başarıyla tamamlandığı anlamına gelir. | ||
| Neden önemli? Bu, sürecin başarıyla tamamlandığını gösteren birincil son Olaydır. Bu duruma ulaşmak için geçen toplam süreyi analiz etmek, nakde dönüşüm döngüsünün uçtan uca döngü süresini verir. Nereden alınır? Invoice kaydındaki 'Status' alanının 'Paid In Full' olarak değişmesinden çıkarılır. Bu durum değişikliğinin zaman damgası işlemin sistem notlarında bulunur. Yakalayın Sistem notlarında 'Status' alanının 'Paid In Full' olarak değişmesinden çıkarılır. Olay türü inferred | |||
| Müşteri ödemesi alındı | Müşteriden bir ödeme alınmış ve sisteme kaydedilmiştir. Bu durum, NetSuite'te bir veya birden fazla faturaya uygulanabilen 'Customer Payment' işleminin oluşturulmasıyla kaydedilir. | ||
| Neden önemli? Nakit alındığını gösterir, ancak nakdin belirli bir faturaya uygulandığı anlamına gelmez. Nakit uygulama sürecinin ilk adımıdır ve DSO hesaplamaları için önemli bir Olaydır. Nereden alınır? 'Customer Payment' işlem kaydının oluşturulma tarihinden alınır. Faturayla bağlantı, ödemenin 'Apply' alt sekmesinde kurulur. Yakalayın Bir Customer Payment işlem kaydının oluşturulması. Olay türü explicit | |||
| Alacak dekontu oluşturuldu | Bir alacak dekontu işlemi oluşturulmuş ve faturaya uygulanarak ödenmemiş bakiyeyi azaltmıştır. Bu durum genellikle ürün iadesine, hizmet şikayetine veya fiyat düzeltmesine işaret eder. | ||
| Neden önemli? Yeniden çalışmayı, kalite sorunlarını veya müşteri itirazlarını öne çıkarır. Sık tekrarlanması, altta yatan sorunlara işaret edebilir ve 'Invoice Rework and Rejection Analysis' Dashboardu için temel bir göstergedir. Nereden alınır? Bir Credit Memo işlemi oluşturulmasından alınır. Orijinal faturaya bağlantı, Credit Memo kaydındaki 'Created From' alanında veya 'Apply' alt sekmesinde bulunur. Yakalayın Orijinal faturaya bağlı bir Credit Memo kaydının oluşturulması. Olay türü explicit | |||
| Fatura geçersiz kılındı | Fatura geçersiz kılınmış, böylece iptal edilmiş ve genel muhasebe üzerindeki etkisi tersine çevrilmiştir. Bu işlem genellikle ödenmeden önce hatalı oluşturulan faturalar için yapılır. | ||
| Neden önemli? Bir süreç istisnasını ve son durumu temsil eder. Faturaların neden geçersiz kılındığını anlamak, üst süreçlerde düzeltilmesi gereken veri girişi veya süreç hatalarını ortaya çıkarabilir. Nereden alınır? Açık bir kullanıcı işlemidir. İşlemin ne zaman ve kim tarafından geçersiz kılındığını kaydeden fatura sistem notlarından alınabilir. Yakalayın Faturanın sistem notlarına kaydedilen açık 'Void' işlemi. Olay türü explicit | |||
| Fatura kapatıldı | Fatura işlemi, çoğu zaman dönem sonu muhasebe sürecinin bir parçası olarak kapatılmıştır. Bu işlem, tamamen ödendikten ve mutabakatı yapıldıktan sonra işlem üzerinde başka değişiklik yapılmasını engeller. | ||
| Neden önemli? Genellikle 'Paid In Full' durumundan sonra gerçekleşse de bu, son bir idari adım olabilir. Ödeme ile kapatma arasındaki gecikmeleri analiz etmek, finansal raporlamanın zamanında yapılmasını etkileyebilir. Nereden alınır? 'Status' alanının 'Closed' veya benzer bir duruma değişmesinden çıkarılır. Bu değişikliğin zaman damgası sistem notlarından alınır. Yakalayın Sistem notlarında 'Status' alanı değişikliğinden çıkarılır. Olay türü inferred | |||
| Fatura onaya gönderildi | Faturanın 'Pending Approval' durumuna geçtiğini gösterir. Bu olay, bir kullanıcının faturayı yapılandırılmış bir onay iş akışına gönderdiğinde yakalanır ve yaygın bir özelleştirmedir. | ||
| Neden önemli? Bu faaliyet, olası bir onay darboğazının başlangıcını gösterir. Onay beklenirken geçen süre, genel fatura işleme döngü süresinin önemli bir bileşenidir. Nereden alınır? Invoice kaydındaki 'Approval Status' alanının 'Pending Approval' olarak değişmesinden çıkarılır. Bu değişikliğin zaman damgası, faturanın sistem notlarındaki denetim izinde bulunabilir. Yakalayın Sistem notlarına kaydedilen 'Approval Status' alanı değişikliğinden çıkarılır. Olay türü inferred | |||
| Ödeme faturaya uygulandı | Alınan müşteri ödemesi özellikle bu faturaya uygulanmış ve ödenecek tutarı azaltmıştır. Bu işlem, Customer Payment kaydındaki uygulama kaydedildiğinde kayda alınır. | ||
| Neden önemli? Bu, nakit tahsilatı ile faturanın kapatılması arasındaki önemli bağlantıdır. 'Payment Received' ile bu Olay arasındaki süre, 'Cash Application Cycle Time' KPI'ını tanımlar. Nereden alınır? Customer Payment işleminin sistem notlarından veya denetim izinden, özellikle fatura satırına uygulama kaydedildiği andan alınır. Bu uygulamanın zaman damgası önemlidir. Yakalayın Customer Payment kaydı faturaya uygulama içerecek şekilde kaydedildiğinde kayda alınır. Olay türü explicit | |||
| Ödeme hatırlatması gönderildi | Ödenmemiş bir ödeme hakkında müşteriye iletişim gönderilmiştir. Bu durum, genellikle bir tahsilat çözümü tarafından fatura veya müşteri kaydından gönderilen e-posta ya da kaydedilmiş faaliyet olarak alınır. | ||
| Neden önemli? Tahsilat stratejilerinin etkinliğini değerlendirmek için gereklidir. Bu faaliyetin sonraki ödemeler üzerindeki etkisini analiz etmek, hatırlatmaların sıklığını ve zamanlamasını optimize etmeye yardımcı olur. Nereden alınır? Invoice veya Customer kaydındaki Communication > Messages alt sekmesinde bir e-posta kaydı oluşturulmasından alınır. Otomatik tahsilat çözümleri bunları özel kayıtlar veya görevler olarak da kaydedebilir. Yakalayın Faturayla ilişkilendirilmiş bir e-posta veya faaliyet kaydı olarak kaydedilir. Olay türü explicit | |||
| Ödeme vade tarihine ulaşıldı | Geçerli tarih faturanın vade tarihiyle eşleştiğinde gerçekleşen hesaplanmış bir Olaydır. Bu Olay doğrudan bir kullanıcı veya sistem işlemine karşılık gelmez, analiz sırasında mevcut verilerden türetilir. | ||
| Neden önemli? Ödeme zamanlamasını ölçmek için önemli bir referans noktasıdır. 'On-Time Payment Rate' KPI'ını hesaplamak ve müşteri ödeme davranışlarını analiz etmek için gereklidir. Nereden alınır? NetSuite'te açıkça tanımlanmış bir Olay değildir. Event Log zaman damgası, Invoice işlem kaydındaki 'Due Date' alanıyla karşılaştırılarak hesaplanır. Yakalayın Olay zaman damgası faturadaki 'Due Date' alanına eşit olduğunda hesaplanır. Olay türü calculated | |||
Veri çıkarma rehberleri
Adımlar
- NetSuite’e giriş yapın: İşlem kayıtlarında Saved Searches oluşturmak ve çalıştırmak için yeterli izinlere sahip bir rolle NetSuite hesabınıza erişin.
- Saved Searches bölümüne gidin: Reports > Saved Searches > All Saved Searches > New yolunu izleyin. Arama türleri listesinden 'İşlem' seçeneğini seçin. Bu seçim, her olay türü için birden fazla arama oluşturmanın temelini oluşturur.
- 'Invoice Created' aramasını oluşturun: Bu, faturaların oluşturulmasını yakalayan temel aramadır.
- 'Criteria' sekmesinde, 'Standard' altında 'Type' filtresini 'is Invoice' olarak ayarlayın.
- 'Main Line' için başka bir filtre ekleyin ve fatura başına tek kayıt almak üzere değerini 'is true' olarak ayarlayın.
- 'Results' sekmesine gerekli sütunları ekleyin. 'ActivityName' gibi standartlaştırılmış alanlar oluşturmak için formüller kullanın. Örneğin,
_UTF8'Invoice Created'formülünü içeren bir 'Formula (Text)' alanı ekleyin.
- Durum değişiklikleri için aramalar oluşturun (Approval, Paid, Voided, Closed): Birçok etkinlik durum değişikliğidir. Kesin zaman damgasını yakalamanın en güvenilir yolu System Notes kullanmaktır.
- Yeni bir Transaction Saved Search oluşturun.
- 'Criteria' sekmesinde 'Type' değerini 'is Invoice' olarak ayarlayın.
- 'Standard' alt sekmesinde 'System Notes : Field' filtresini ekleyin ve ilgili durum alanını, örneğin 'Approval Status' alanını seçin.
- 'System Notes : New Value' filtresini ekleyin ve bunu hedef duruma, örneğin 'Approved' değerine ayarlayın.
- 'Results' sekmesinde 'System Notes : Date' alanını
EventTimestampile, 'System Notes : Set by' alanını daKullanıcıile eşleştirin. - Her durum tabanlı etkinlik için bu işlemi tekrarlayın: 'Invoice Submitted for Approval', 'Invoice Approved', 'Invoice Paid In Full', 'Invoice Voided' ve 'Invoice Closed'. Alan ve değer filtrelerini ilgili etkinliğe göre ayarlayın.
- 'Invoice Sent to Customer' aramasını oluşturun: Bu olay genellikle fatura kaydından gönderilen e-posta iletileri izlenerek yakalanır.
- 'Type' değeri 'is Invoice' olan yeni bir Transaction Saved Search oluşturun.
- 'Criteria' sekmesinde, 'Related Records' altında 'Messages : Date Sent' filtresini ekleyin ve değerini 'is not empty' olarak ayarlayın.
- 'Results' sekmesinde 'Messages : Date Sent' alanını
EventTimestampile, 'Messages : Author' alanını daKullanıcıile eşleştirin.
- Ödeme ve kredi dekontu etkinlikleri için aramalar oluşturun: Bunlar faturaya bağlı ayrı işlem türlerini içerir.
- 'Customer Payment Received' için 'Type' değeri 'Customer Payment' olan bir arama oluşturun. Oluşturma tarihini olay zaman damgası olarak alın.
- 'Payment Applied To Invoice' için aynı 'Customer Payment' aramasını kullanın, ancak 'Applied To Transaction' alanlarına bağlanın. Ödeme işleminin 'Date Created' değeri zaman damgası olarak kullanılır. Her fatura uygulaması için bir satır alırsınız.
- 'Credit Memo Created' için 'Type' değeri 'Credit Memo' olan bir arama oluşturun ve asıl fatura numarasını almak üzere 'Created From' alanına bağlanın.
- Her Saved Search aramasını çalıştırın ve dışa aktarın: Oluşturduğunuz her Saved Search aramasını çalıştırın. Sonuçlar sayfasında dışa aktarma simgesine (CSV, Excel veya PDF) tıklayın ve CSV’yi seçin. Sonuç kümesi NetSuite dışa aktarma sınırınızdan büyükse verileri gruplar halinde dışa aktarmanız gerekebilir.
- Verileri birleştirin ve dönüştürün: Dışa aktarılan tüm CSV dosyalarını Microsoft Excel, bir Python betiği veya veri hazırlama aracı gibi bir araç kullanarak tek bir dosyada birleştirin.
- 'Payment Due Date Reached' olayını türetin: Birleştirilmiş veri dosyanızda her 'Invoice Created' olayı için yeni bir satır oluşturun.
ActivityNamedeğerini 'Payment Due Date Reached' olarak ayarlayın,EventTimestampdeğerini faturanınDueDatealanındaki değer olarak belirleyin ve diğer ilgili fatura özniteliklerini kopyalayın. - Event Logu tamamlayın: Tüm sütun başlıklarını gerekli şemayla eşleşecek şekilde standartlaştırın, örneğin
InvoiceNumber,ActivityName,EventTimestamp. Zaman damgası biçimlerinin tutarlı olduğundan emin olun. Bu çıkarma grubu için sabit değerlerleSourceSystemveLastDataUpdatesütunlarını ekleyin. Son birleştirilmiş dosyayı yüklemek üzere CSV olarak kaydedin.
Yapılandırma
- Ön koşullar: 'Transaction' türünde Saved Search oluşturmak, düzenlemek ve çalıştırmak için izinlere sahip bir kullanıcı rolü gereklidir. Invoice, Customer Payment, Credit Memo ve System Notes kayıtlarını görüntüleme erişimi de gereklidir.
- Arama türü: Tüm veri çıkarma işlemlerinde kullanılan ana arama türü 'Transaction'dır. Bu tür, gerekli tüm kayıtlara ve bunlar arasındaki ilişkilere erişim sağlar.
- Tarih aralığı filtresi: Performansı ve veri hacmini yönetmek için her aramaya tarih aralığı filtresi uygulayın. İlk analiz için son 3 ila 6 ayı kapsayan 'Date Created' filtresi önerilir.
- Main Line filtresi: 'Invoice Created' gibi belge başlığı düzeyindeki olaylar için 'Main Line' ölçütünü 'true' olarak kullanın. Bu süreçte gerekli olmayan satır öğesi ayrıntılarını analiz etmek istediğinizde 'false' olarak ayarlayın.
- System Notes: Durum değişikliklerini yakalamak büyük ölçüde System Notes'a bağlıdır. NetSuite yapılandırmanızda 'Status' ve 'Approval Status' gibi önemli işlem alanları için denetimin etkin olduğundan emin olun (Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail).
- Performansla ilgili noktalar: Geniş bir tarih aralığında çok sayıda birleştirme ve formül alanı içeren karmaşık aramaların NetSuite kullanıcı arayüzünde çalışması uzun sürebilir. Bu aramaları yoğun olmayan saatlerde çalıştırmanız ve dışa aktarmanız önerilir. Bir aramanın zaman aşımına uğraması durumunda tarih aralığını daraltın ve verileri daha küçük gruplar halinde dışa aktarın.
a Örnek sorgu sql
/*
This section describes the configuration for multiple NetSuite Saved Searches needed to generate the complete event log. Each block represents a separate Saved Search that must be created in the UI, exported, and then combined externally.
*/
-- Search 1: Invoice Created
Activity Name: 'Invoice Created'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Main Line is true
Results Columns (Mapped to Event Log Attributes):
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Created'
- EventTimestamp: Date Created
- User: Created By
- InvoiceDate: Date
- DueDate: Due Date
- InvoiceTotalAmount: Amount (Gross)
- CustomerName: Name
-- Search 2: Invoice Submitted for Approval
Activity Name: 'Invoice Submitted for Approval'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Pending Approval' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Submitted for Approval'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 3: Invoice Approved
Activity Name: 'Invoice Approved'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Approved' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Approved'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 4: Invoice Sent to Customer
Activity Name: 'Invoice Sent to Customer'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Messages : Date Sent is not empty
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Sent to Customer'
- EventTimestamp: Messages : Date Sent (use Maximum summary type if multiple)
- User: Messages : Author (use Maximum summary type)
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 5: Payment Reminder Issued
Activity Name: 'Payment Reminder Issued'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- User Notes : Note contains [Your dunning/reminder keyword]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Payment Reminder Issued'
- EventTimestamp: User Notes : Date
- User: User Notes : Author
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 6: Credit Memo Created
Activity Name: 'Credit Memo Created'
Saved Search Type: Transaction
Criteria:
- Type is Credit Memo
- Main Line is true
Results Columns:
- InvoiceNumber: Created From : Document Number
- ActivityName: Formula (Text) = 'Credit Memo Created'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 7: Customer Payment Received
Activity Name: 'Customer Payment Received'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is true
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Customer Payment Received'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 8: Payment Applied To Invoice
Activity Name: 'Payment Applied To Invoice'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is false
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Payment Applied To Invoice'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 9: Invoice Paid In Full
Activity Name: 'Invoice Paid In Full'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value is Paid In Full
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Paid In Full'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 10: Invoice Voided
Activity Name: 'Invoice Voided'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Status is Invoice : Voided
- System Notes : Field is Status
- System Notes : New Value is Voided
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Voided'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
-- Search 11: Invoice Closed
Activity Name: 'Invoice Closed'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value contains Closed
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Closed'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Event to be Derived Post-Extraction: Payment Due Date Reached
/*
This event is not extracted directly. After combining all other CSVs, create a new row for each unique invoice.
Set ActivityName to 'Payment Due Date Reached'.
Set EventTimestamp to the DueDate value from the 'Invoice Created' event for that invoice.
Copy other attributes like InvoiceNumber, CustomerName, etc.
*/ Adımlar
- Ön koşul: SuiteAnalytics Connecti etkinleştirin: SuiteAnalytics Connect modülünün lisanslı ve NetSuite örneğinizde etkin olduğundan emin olun. Bu işlem genellikle NetSuite yöneticisi tarafından Setup > Company > Enable Features > Analytics altında yapılır.
- ODBC sürücüsünü indirin ve yapılandırın: NetSuite ana Dashboarduna gidin ve 'Settings' portletini bulun. İşletim sisteminize uygun ODBC sürücüsünü indirmek için 'Set Up SuiteAnalytics Connect' bağlantısına tıklayın. NetSuite tarafından sağlanan kurulum talimatlarını izleyerek sürücüyü yükleyin ve service host, port, Account ID, Role ID, e-posta ile parolanızı sağlayarak yapılandırın.
- Veritabanı bağlantısını kurun: DBeaver, Tableau veya Power BI gibi ODBC bağlantılarını destekleyen bir SQL istemci aracı kullanın. Önceki adımda yapılandırdığınız sürücüyü kullanarak yeni bir ODBC bağlantısı oluşturun. NetSuite salt okunur çoğaltma veritabanında kimlik doğrulamasını ve erişimi başarıyla gerçekleştirebildiğinizden emin olmak için bağlantıyı test edin.
- SQL sorgusunu hazırlayın: Bu belgenin 'Query' bölümünde sağlanan SQL sorgusunun tamamını kopyalayın. Bu sorgu, Siparişten Tahsilata faturalandırma süreci için gereken tüm etkinlikleri ve öznitelikleri çıkarmak üzere tasarlanmıştır.
- Sorgu parametrelerini ayarlayın: Çalıştırmadan önce sorgudaki yer tutucu değerleri bulun. Çıkarma dönemi için istediğiniz başlangıç ve bitiş tarihleriyle
'YYYY-MM-DD'değerini değiştirin. Ayrıca[Your Subsidiary ID]değerini analiz etmek istediğiniz NetSuite bağlı kuruluşunun dahili kimliğiyle değiştirin. - Sorguyu çalıştırın: Değiştirilmiş sorguyu SQL istemcinizde çalıştırın. Çalışma süresi, tarih aralığına ve NetSuite hesabınızdaki işlem hacmine göre değişir.
- Sonuçları inceleyin: Sorgu tamamlandığında Event Logunu temsil eden düz bir tablo döndürülür. Her satır, fatura yaşam döngüsündeki belirli bir etkinliğe karşılık gelir. Verilerin eksiksiz ve doğru olduğunu inceleyin.
- Event Logunu dışa aktarın: Sorgu sonuçlarını SQL istemcinizden CSV dosyasına aktarın. Karakter sorunlarını önlemek için dosyanın UTF-8 kodlamasına sahip olduğundan emin olun.
- Yükleme için hazırlayın: Bir Process Mining aracına yüklemeden önce sütun başlıklarının InvoiceNumber, ActivityName ve EventTimestamp gibi gerekli öznitelik adlarıyla eşleştiğini doğrulayın. Tarih ve saat biçimlerinin tutarlı olduğunu kontrol edin.
Yapılandırma
- SuiteAnalytics Connect lisansı: NetSuite read-replica veritabanına erişmek için SuiteAnalytics Connect modülü için geçerli bir lisans zorunludur. Bu lisans olmadan doğrudan SQL erişimi mümkün değildir.
- Özel rol ve kullanıcı: SuiteAnalytics Connect için uygun izinlere sahip özel bir NetSuite Role oluşturmanız önemle önerilir. Bu rol, Transactions, Customers ve System Notes dahil gerekli kayıtlara salt okunur erişime sahip olmalıdır. Güvenlik ve denetlenebilirlik için veri çıkarma işleminde bu role özel bir kullanıcı atayın.
- Tarih aralığı filtresi: Sağlanan sorguda fatura oluşturma tarihi (
Transaction.TRANDATE) için birWHEREkoşulu bulunur. İlk veri çıkarma işlemlerinde performansı ve veri hacmini yönetmek için son 3 ila 6 ay gibi daha kısa bir tarih aralığıyla başlamanız önerilir. Örneğin:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'. - İştirak filtresi: Birden fazla iştirake sahip hesaplarda belirli iştirake göre filtreleme, hem performans hem de verilerin uygunluğu açısından önemlidir. Sorguda yapılandırmanız gereken
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID]yer tutucusu bulunur. - Veri güncelliği: SuiteAnalytics Connect veritabanı bir read-replica'dır. Veriler genellikle saatte birkaç kez yenilenir, ancak gerçek zamanlı değildir. NetSuite'te bir işlemin gerçekleşmesiyle Connect veritabanında görünmesi arasında birkaç saate varan bir gecikme olabileceğini unutmayın.
a Örnek sorgu sql
WITH Invoices AS (
SELECT
T.TRANSACTION_ID,
T.TRANID AS InvoiceNumber,
T.TRANDATE AS InvoiceDate,
T.DUEDATE AS DueDate,
T.FOREIGN_TOTAL AS InvoiceTotalAmount,
C.COMPANYNAME AS CustomerName,
BUILTIN.DF(C.LOCATION) AS Region,
T.CREATED_DATE AS InvoiceCreationDate,
CREATOR.FIRST_NAME || ' ' || CREATOR.LAST_NAME AS CreatorUser
FROM
TRANSACTIONS T
JOIN
CUSTOMERS C ON T.ENTITY_ID = C.CUSTOMER_ID
LEFT JOIN
EMPLOYEES CREATOR ON T.CREATED_BY_ID = CREATOR.EMPLOYEE_ID
WHERE
T.TRANSACTION_TYPE = 'Invoice'
AND T.TRANDATE BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD')
-- AND T.SUBSIDIARY_ID = [Your Subsidiary ID] -- Add your subsidiary filter if needed
)
-- 1. Invoice Created
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Created' AS "ActivityName",
I.InvoiceCreationDate AS "EventTimestamp",
I.InvoiceCreationDate AS "EventEndTime",
I.CreatorUser AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN I.CreatorUser LIKE '%System%' THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
UNION ALL
-- 2. Invoice Submitted for Approval & 3. Invoice Approved
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE WHEN SN.NEW_VALUE = 'Pending Approval' THEN 'Invoice Submitted for Approval' ELSE 'Invoice Approved' END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
SN.FIELD = 'TRANSACTION.APPROVALSTATUS' AND SN.NEW_VALUE IN ('Pending Approval', 'Approved')
UNION ALL
-- 4. Invoice Sent to Customer
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Sent to Customer' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' -- Indicates an outgoing message
UNION ALL
-- 5. Payment Due Date Reached
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Due Date Reached' AS "ActivityName",
I.DueDate AS "EventTimestamp",
I.DueDate AS "EventEndTime",
'System' AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
1 AS "IsAutomated"
FROM
Invoices I
WHERE
I.DueDate IS NOT NULL AND I.DueDate < SYSDATE
UNION ALL
-- 6. Payment Reminder Issued (based on Messages table, requires a specific subject line convention)
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Reminder Issued' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN M.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' AND UPPER(M.SUBJECT) LIKE '%PAYMENT REMINDER%'
UNION ALL
-- 7. Credit Memo Created & Applied
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
CM.CREATED_DATE AS "EventEndTime",
CM_CREATOR.FIRST_NAME || ' ' || CM_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS CM ON T_LINES.TRANSACTION_ID = CM.TRANSACTION_ID
LEFT JOIN
EMPLOYEES CM_CREATOR ON CM.CREATED_BY_ID = CM_CREATOR.EMPLOYEE_ID
WHERE
CM.TRANSACTION_TYPE = 'Credit Memo'
UNION ALL
-- 8. Customer Payment Received & 9. Payment Applied to Invoice
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Customer Payment Received' AS "ActivityName", -- Can also create a separate 'Payment Applied' event if needed
PAYMENT.CREATED_DATE AS "EventTimestamp",
PAYMENT.CREATED_DATE AS "EventEndTime",
PMT_CREATOR.FIRST_NAME || ' ' || PMT_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS PAYMENT ON T_LINES.TRANSACTION_ID = PAYMENT.TRANSACTION_ID
LEFT JOIN
EMPLOYEES PMT_CREATOR ON PAYMENT.CREATED_BY_ID = PMT_CREATOR.EMPLOYEE_ID
WHERE
PAYMENT.TRANSACTION_TYPE = 'Customer Payment'
UNION ALL
-- 10. Invoice Paid In Full, 11. Invoice Voided, 12. Invoice Closed
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE
WHEN SN.NEW_VALUE_ID = 'Invoice:B' THEN 'Invoice Paid In Full' -- 'B' is status 'Paid In Full'
WHEN SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Voided'
WHEN SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Closed'
END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
(SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE_ID = 'Invoice:B')
OR (SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T')
OR (SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T'); Başlamaya hazır mısınız?
Process Mining girişiminizi başlatmak ve faturalandırma ile fatura işleme operasyonlarınıza ilişkin içgörüleri ortaya çıkarmak için bu şablondan yararlanın. Siparişten Tahsilata sürecinizi bugün optimize etmeye başlayın.
Daha hızlı nakit akışı için NetSuite faturalandırma ve faturalama sürecinizi şimdi optimize edin
NetSuite faturalandırma çevrim süresini %30 azaltın ve nakit akışınızı iyileştirin.
Kredi kartı gerekmez. Kurulum dakikalar içinde tamamlanır.