Šablona dat pro fakturaci v procesu od objednávky po inkaso
Šablona dat pro fakturaci v procesu od objednávky po inkaso
- Doporučené atributy ke sběru
- Aktivity, které je vhodné sledovat
- Pokyny k extrakci dat z NetSuite
Atributy fakturace v procesu od objednávky po inkaso
| Název | Popis | ||
|---|---|---|---|
| Časové razítko události EventTimestamp | Přesné datum a čas, kdy došlo ke konkrétní aktivitě nebo události. | ||
| Popis Tento atribut zaznamenává přesný okamžik, kdy aktivita proběhla. Je nezbytný pro chronologické řazení událostí a veškeré časové analýzy. V process mining se časové razítko události používá k výpočtu doby mezi aktivitami, délky případů a čekání. Pomáhá určit úzká místa, měřit výkonnost procesu vůči SLA a porozumět časovému průběhu fakturace. Používá se například při výpočtu doby vystavení faktury a doby inkasa pohledávek (DSO). Proč je to důležité Určuje chronologické pořadí událostí, které je nezbytné pro výpočet všech časových ukazatelů, hledání úzkých míst a analýzu výkonnosti procesu v čase. Kde data získat Časová razítka se obvykle nacházejí v systémových poznámkách, auditních stopách nebo v polích „Date Created“ souvisejících záznamů jednotlivých transakcí faktur v NetSuite. Příklady 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| Číslo faktury InvoiceNumber | Jedinečný identifikátor každé faktury, který slouží jako hlavní identifikátor případu ve fakturačním procesu. | ||
| Popis Číslo faktury je základem analýzy fakturačního procesu. Jednoznačně identifikuje každou fakturu od jejího vytvoření až po konečné uzavření. Seskupuje všechny související aktivity, například schválení, odeslání a přiřazení platby, do jednoho případu. V process mining umožňuje analýza průběhu každé faktury získat ucelený přehled o celém fakturačním cyklu. Pomáhá odhalit varianty procesu, úzká místa a odchylky od standardního postupu. Tyto poznatky lze využít ke zlepšení cash flow a provozní efektivity. Proč je to důležité Tento údaj je nezbytný pro sledování celého životního cyklu každé faktury. Umožňuje rekonstruovat fakturační proces a podrobně analyzovat jeho výkonnost. Kde data získat Obvykle jde o pole „Transaction ID“ nebo jiné podobné pole s jedinečným identifikátorem v záznamu transakce faktury v NetSuite. Příklady INV-0012345INV-0012346INV-0012347 | |||
| Název aktivity ActivityName | Název obchodní události, která nastala v určitém okamžiku životního cyklu faktury. | ||
| Popis Název aktivity popisuje konkrétní krok nebo událost ve fakturačním procesu, například „Faktura vytvořena“, „Faktura schválena“ nebo „Přijata platba od zákazníka“. Tyto aktivity tvoří jednotlivé kroky procesní mapy. Analýza pořadí a četnosti aktivit je základem process mining. Pomáhá znázornit skutečný průběh procesu, určit běžné i méně časté varianty a najít aktivity, které se často opakují. Opakování může ukazovat na nutnost předělávek nebo na neefektivitu. Proč je to důležité Tento atribut je základem tvorby procesní mapy. Umožňuje znázornit a analyzovat jednotlivé kroky a cesty, kterými faktura prochází. Kde data získat Údaj se odvozuje ze systémových protokolů, změn stavu nebo konkrétních záznamů událostí souvisejících s transakcí faktury v NetSuite. Často je třeba namapovat změny stavu transakce nebo vytvoření souvisejících záznamů na definované názvy aktivit. Příklady Faktura vytvořenaFaktura schválenaPřijata platba od zákazníkaFaktura plně uhrazena | |||
| Poslední aktualizace dat LastDataUpdate | Časové razítko označující, kdy byla data naposledy obnovena ze zdrojového systému. | ||
| Popis Tento atribut zaznamenává, kdy byla datová sada naposledy aktualizována. Ukazuje, jak aktuální jsou data použitá pro analýzu process mining. Analytici a další pracovníci díky tomuto údaji vědí, zda poznatky odpovídají současnému stavu provozu. Jde o důležitá metadata každého dashboardu nebo reportu. Umožňují posoudit stáří dat a předejít tomu, aby byla považována za aktuální v reálném čase, pokud tomu tak není. Proč je to důležité Uživatelé díky tomuto údaji vědí, jak aktuální jsou data, za jaké období analýza platí a nakolik jsou její poznatky relevantní. Kde data získat Časové razítko vytvoří a zaznamená nástroj nebo datový proces při aktualizaci dat. Příklady 2024-05-21T02:00:00Z | |||
| Zdrojový systém SourceSystem | Systém, ze kterého byla data získána. | ||
| Popis Tento atribut označuje původ procesních dat. V tomto přehledu bude jeho hodnota vždy „NetSuite“. V širším kontextu analytiky, zejména v organizacích s více ERP systémy nebo integrovanými systémy, je tento atribut důležitý pro sledování původu dat a jejich správu. Pomáhá rozlišit procesy, které probíhají na různých platformách, a zajistit, aby byla analýza správně přiřazena k příslušnému zdrojovému systému. Proč je to důležité Poskytuje důležitý kontext o původu dat a jejich správě, zejména v prostředí s více propojenými systémy. Kde data získat Jde o statickou hodnotu („NetSuite“), která se přidává při extrakci a transformaci dat. Příklady NetSuite | |||
| Čas ukončení události EventEndTime | Přesné datum a čas, kdy byla konkrétní aktivita nebo událost dokončena. | ||
| Popis Čas ukončení události označuje dokončení aktivity. Mnohé aktivity proběhnou okamžitě, takže čas zahájení a ukončení je stejný. Jiné, například schvalování, mohou trvat měřitelnou dobu. Tento atribut spolu s časovým razítkem události, tedy časem zahájení, umožňuje přímo vypočítat dobu zpracování aktivity. Analýza této doby ukáže, které konkrétní kroky spotřebují nejvíce času a zdrojů, a pomůže ji odlišit od čekání mezi aktivitami. To je důležité při hledání neefektivity v jednotlivých úkolech. Proč je to důležité Umožňuje přesně vypočítat dobu potřebnou k dokončení každé aktivity. To je nezbytné pro analýzu efektivity využití zdrojů a hledání časově náročných úkolů. Kde data získat Stejně jako StartTime lze tento údaj získat z auditních stop v NetSuite. Může být nutné propojit událost „start“ s odpovídající událostí „end“. Příklady 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| Celková částka faktury InvoiceTotalAmount | Celková peněžní hodnota faktury včetně daní a dalších poplatků. | ||
| Popis Tento atribut představuje celkovou částku, kterou má zákazník zaplatit. Jde o základní finanční údaj každého fakturačního případu. Analýza procesu podle částky faktury umožňuje porovnávat procesy podle hodnoty. Může například ukázat, zda faktury s vysokou hodnotou procházejí jiným a složitějším procesem než faktury s nízkou hodnotou. Údaj také pomáhá stanovit priority při vymáhání pohledávek a posoudit finanční dopad opožděných plateb nebo chyb ve fakturách. Proč je to důležité Umožňuje analyzovat proces podle hodnoty, stanovit priority u faktur s vysokou částkou a porozumět finančnímu dopadu neefektivity procesu. Kde data získat Odpovídá poli „Total“ (total) v záznamu transakce faktury v NetSuite. Příklady 1500.0089.9912500.50 | |||
| Datum faktury InvoiceDate | Oficiální datum faktury vystavené zákazníkovi. | ||
| Popis Datum faktury, tedy datum transakce, je výchozím bodem pro řadu finančních výpočtů souvisejících s fakturací. Obvykle se od něj počítá splatnost a lhůta splatnosti. Při analýze slouží jako hlavní základ pro výpočet důležitých finančních KPI, například doby inkasa pohledávek (DSO) a stáří faktur. Umožňuje také kohortovou analýzu a porovnání výsledků fakturace v různých obdobích, například mezi měsíci nebo roky. Proč je to důležité Toto datum je základem důležitých finančních ukazatelů, například doby inkasa pohledávek (DSO) a stáří faktur. Přímo ovlivňuje analýzu pracovního kapitálu. Kde data získat Odpovídá poli „Date“ (trandate) v záznamu transakce faktury v NetSuite. Příklady 2023-10-262023-10-272023-11-15 | |||
| Datum splatnosti DueDate | Datum, do kterého musí být faktura uhrazena. | ||
| Popis Datum splatnosti se vypočítá podle data faktury a dohodnutých platebních podmínek. Určuje lhůtu, do které musí zákazník zaplatit, aby se platba nepovažovala za opožděnou. Tento atribut je nezbytný pro sledování pohledávek a řízení cash flow. Slouží jako základ pro výpočet KPI podílu včas uhrazených plateb a analýzu platebního chování zákazníků. Odchylky od data splatnosti pomáhají určit zákazníky, kteří často platí pozdě, a vyhodnotit účinnost strategií vymáhání pohledávek. Proč je to důležité Je nezbytné pro měření včasnosti plateb a analýzu platebního chování zákazníků. Pomáhá při vymáhání pohledávek i prognózování cash flow. Kde data získat Odpovídá poli „Due Date“ (duedate) v záznamu transakce faktury v NetSuite. Příklady 2023-11-252023-11-262023-12-15 | |||
| Je automatizovaná IsAutomated | Příznak označující, zda aktivitu provedl automaticky systém. | ||
| Popis Tento booleovský atribut rozlišuje mezi aktivitami, které provedl uživatel ručně, a těmi, které automaticky vykonal systémový workflow, skript nebo integrace. Atribut je důležitý pro měření míry automatizace fakturačního procesu a přímo podporuje KPI „Podíl automatizované fakturace“. Analytici mohou filtrovat automatizované nebo ruční aktivity, odhalit úzká místa způsobená ručními zásahy a určit, kde lze automatizaci zvýšit, omezit lidské chyby a zlepšit efektivitu. Proč je to důležité Pomáhá měřit míru automatizace procesu a odhalovat možnosti, jak omezit ruční práci a zvýšit efektivitu. Kde data získat Obvykle se určuje podle hodnoty „User“ přiřazené k aktivitě. Události vyvolané uživateli s názvem „SYSTEM“, „Workflow“ nebo „Integration“ se označí jako automatizované. Příklady truefalse | |||
| Název zákazníka CustomerName | Název zákazníka, kterému byla faktura vystavena. | ||
| Popis Tento atribut označuje právnickou nebo fyzickou osobu, které je faktura vystavena. Propojuje fakturační proces se správou vztahů se zákazníky. Analýza fakturace podle zákazníků pomáhá odhalit vzorce v platebním chování, spory nebo složitost faktur u konkrétních zákazníků. Tyto poznatky lze využít při segmentaci zákazníků, rozhodování o úvěrových limitech a nastavení způsobu vymáhání pohledávek. Analýza může například ukázat, zda je třeba faktury určitého zákazníka opakovaně opravovat. Proč je to důležité Umožňuje analyzovat proces z pohledu zákazníka a odhalit platební vzorce, časté problémy nebo odchylky v procesu u konkrétních zákazníků. Kde data získat Odpovídá poli „Customer“ nebo „Entity“ v záznamu transakce faktury v NetSuite. Příklady Global Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| Region Region | Zeměpisná oblast přiřazená zákazníkovi nebo transakci. | ||
| Popis Atribut Region rozděluje faktury podle zeměpisné oblasti. Lze jej odvodit z adresy zákazníka nebo z obchodní jednotky, která fakturu vystavila. Tento atribut umožňuje porovnávat výsledky. Dashboard „Porovnání fakturačních procesů podle regionů“ jej využívá k porovnání KPI, například doby cyklu, chybovosti a variant procesu v různých regionech. Pomáhá odhalit rozdíly ve výkonnosti, najít osvědčené postupy v úspěšných regionech a sjednotit procesy v celé organizaci. Proč je to důležité Umožňuje porovnávat různé zeměpisné oblasti, odhalit rozdíly ve výkonnosti regionů a sjednotit osvědčené postupy. Kde data získat Tato data se v NetSuite často ukládají do vlastního segmentu nebo klasifikačního pole v hlavním záznamu zákazníka či v záznamu transakce. Příklady Severní AmerikaEvropa, Blízký východ a AfrikaAsie a Tichomoří | |||
| Uživatel User | Jméno nebo ID uživatele, který aktivitu provedl. | ||
| Popis Tento atribut označuje zaměstnance nebo systémového uživatele odpovědného za konkrétní krok procesu. Může jít o osobu, která vytvořila fakturu, schválila ji nebo přiřadila platbu. Analýza procesu podle uživatelů pomáhá porozumět rozložení pracovní zátěže, individuální výkonnosti a potřebám školení. Může také ukázat příležitosti k automatizaci tím, že odhalí, kteří uživatelé provádějí nejvíce ručních aktivit. Atribut je důležitý také pro kontrolu shody a analýzu auditních stop. Proč je to důležité Umožňuje analyzovat rozložení pracovní zátěže, výkonnost jednotlivých uživatelů a dodržování procesu. To je důležité pro správu zdrojů a cílené školení. Kde data získat Údaj najdete na podzáložce System Notes nebo v konkrétních polích „Modified By“ u faktury a souvisejících transakčních záznamů v NetSuite. Příklady Alice SmithBob JohnsonSYSTÉM | |||
| Číslo prodejní objednávky SalesOrderNumber | Identifikátor prodejní objednávky, ze které byla faktura vystavena. | ||
| Popis Tento atribut přímo propojuje fakturu s původní prodejní objednávkou a navazuje fakturační proces na předchozí procesy prodeje a vyřízení objednávky. Číslo prodejní objednávky umožňuje získat ucelenější přehled o celém cyklu od objednávky k inkasu. Pomáhá dohledat příčiny problémů ve fakturaci až k jejich zdroji v prodejním procesu. Časté opravy faktur mohou například souviset s chybami při zadávání údajů u určitých typů prodejních objednávek. Proč je to důležité Propojuje fakturační proces s prodejním procesem a umožňuje analyzovat celý cyklus od objednávky k inkasu, aby bylo možné zjistit příčiny problémů ve fakturaci. Kde data získat Najdete ho v poli „Created From“ nebo na podzáložce „Related Records“ transakce Invoice v NetSuite. Příklady SO-0009876SO-0009877SO-0009878 | |||
| Doba inkasa pohledávek DaysSalesOutstanding | Počet dní mezi datem vystavení faktury a datem přijetí platby. | ||
| Popis Doba inkasa pohledávek (DSO) je finanční ukazatel, který měří průměrný počet dní potřebných k přijetí platby po vystavení faktury. Tento atribut se počítá pro každou fakturu zvlášť a umožňuje podrobnou analýzu. DSO se často vykazuje jako souhrnné KPI, ale jeho hodnota u jednotlivých faktur umožňuje podrobnější analýzu. Lze zjistit, kteří zákazníci, regiony nebo typy faktur mají nejvyšší DSO. Dashboard „Vývoj DSO“ tento ukazatel využívá k zobrazení efektivity inkasa v čase a poskytuje důležité informace pro řízení pracovního kapitálu. Proč je to důležité Vyjadřuje efektivitu inkasa u každé faktury a umožňuje podrobně hledat příčiny vysokého DSO i jeho dopadu na peněžní tok. Kde data získat Vypočítá se odečtením hodnoty „InvoiceDate“ od časového razítka aktivity „Customer Payment Received“. Příklady 294562 | |||
| Jde o přepracování IsRework | Vypočítaný příznak, který označuje aktivity považované za přepracování nebo opravné smyčky. | ||
| Popis Tento booleovský příznak má hodnotu true u aktivit představujících práci bez přidané hodnoty, například „Invoice Corrected“ nebo druhé události „Invoice Approved“ v rámci stejného případu. Obvykle se odvozuje z názvu aktivity nebo jejího opakování. Atribut je nezbytný pro dashboard „Analýza přepracování a zamítnutí faktur“ a KPI „Míra chybovosti faktur“. Umožňuje snadno vyčíslit přepracování a upozornit na problémy s kvalitou procesu. Filtrováním těchto aktivit mohou týmy rychle určit hlavní příčiny chyb a změřit dopad iniciativ na zlepšování procesů. Proč je to důležité Přímo měří kvalitu procesu tím, že označuje neefektivní opravné smyčky. Umožňuje analyzovat příčiny chyb i jejich finanční dopad na fakturaci. Kde data získat Jde o odvozený atribut vypočítaný při transformaci dat. Logika vyhledává přepracování, například označením konkrétních názvů aktivit („Invoice Corrected“) nebo opakovaných aktivit. Příklady truefalse | |||
| Měna Currency | Kód měny, ve které je uvedena částka faktury. | ||
| Popis Tento atribut určuje měnu, ve které je částka faktury uvedena, například USD, EUR nebo GBP. Poskytuje nezbytný kontext pro všechny peněžní hodnoty. U mezinárodních organizací je analýza podle měny důležitá pro porovnání finančních výsledků na různých trzích. Pomáhá správně interpretovat peněžní hodnoty a v případě potřeby je po převodu měny správně sčítat a porovnávat. Proč je to důležité Poskytuje nezbytný kontext pro všechny peněžní hodnoty. Je důležitý pro přesné finanční výkaznictví a analýzu, zejména v mezinárodním provozu. Kde data získat Odpovídá poli „Currency“ v záznamu transakce faktury v NetSuite. Příklady USDEURGBP | |||
| Oddělení Department | Interní oddělení odpovědné za fakturu. | ||
| Popis Tento atribut označuje interní oddělení, například Sales, Services nebo konkrétní obchodní oblast, které za transakci odpovídá. V NetSuite jde o standardní klasifikační segment. Analýza procesu podle oddělení umožňuje interní srovnání a pomáhá zjistit, zda některá oddělení fakturují efektivněji než jiná. Může odhalit rozdíly v dodržování procesu nebo rozdělení zdrojů a poskytnout podklady pro cílené zlepšování procesů v konkrétních částech organizace. Proč je to důležité Umožňuje porovnat výkonnost procesu mezi interními odděleními a odhalit rozdíly i možnosti, jak procesy sjednotit. Kde data získat Odpovídá klasifikačnímu poli „Department“, které lze v NetSuite nastavit v hlavičce transakce Invoice nebo na úrovni položky. Příklady Prodej – podnikové zákaznictvíProfesionální službyHardware | |||
| Platba uhrazena včas IsOnTimePayment | Příznak označující, zda zákazník zaplatil nejpozději v den splatnosti faktury. | ||
| Popis Tento vypočítaný booleovský příznak porovnává časové razítko aktivity „Customer Payment Received“ s datem splatnosti faktury „DueDate“. Má hodnotu true, pokud byla platba uhrazena včas nebo předčasně, a false, pokud byla opožděná. Atribut je základem KPI „Podíl včas uhrazených plateb“ a dashboardu „Dodržování platebních podmínek“. Poskytuje přehledné binární měřítko platebního chování zákazníků a zjednodušuje analýzu i reporting. Pomáhá rychle odhalit trendy v dodržování termínů a posoudit účinnost strategií vymáhání pohledávek. Proč je to důležité Poskytuje jasné měřítko úspěšnosti vymáhání pohledávek. Přímo podporuje výpočet KPI podílu včas uhrazených plateb i analýzu chování zákazníků. Kde data získat Jde o vypočítaný atribut. Je třeba porovnat časové razítko události platby s atributem „DueDate“ na úrovni případu. Příklady truefalse | |||
| Platební podmínky PaymentTerms | Dohodnuté podmínky platby mezi společností a zákazníkem. | ||
| Popis Platební podmínky určují, kdy a jak má zákazník fakturu zaplatit, například „do 30 dnů“ nebo „splatnost při doručení“. Tyto údaje se používají k automatickému výpočtu data splatnosti faktury. Tento atribut je důležitý pro dashboard „Dodržování platebních podmínek“. Analýza včasnosti plateb podle různých podmínek pomáhá vyhodnotit jejich účinnost. Může například ukázat, zda zákazníci s podmínkou „do 15 dnů“ platí rychleji než zákazníci s podmínkou „do 30 dnů“. Tyto poznatky lze využít při vyjednávání smluv a nastavování úvěrových pravidel. Proč je to důležité Je nezbytný pro vyhodnocení účinnosti různých platebních podmínek a jejich vlivu na včasnost plateb zákazníků. Kde data získat Odpovídá poli „Terms“ v záznamu transakce faktury v NetSuite. Příklady Splatnost do 30 dnůSplatnost do 60 dnůSplatnost při doručení | |||
| Stav faktury InvoiceStatus | Aktuální stav faktury v jejím životním cyklu. | ||
| Popis Tento atribut zachycuje aktuální stav faktury, například „Open“, „Paid in Full“ nebo „Voided“. Ukazuje, v jaké fázi procesu se faktura právě nachází. Dashboard „Přehled stavu otevřených faktur“ vychází přímo z tohoto atributu. Umožňuje průběžně sledovat pohledávky, neuhrazené zůstatky, vymáhání plateb a očekávané příjmy. Analýza konečného stavu pomáhá také porozumět výsledkům procesu. Proč je to důležité Poskytuje přehled o aktuálním stavu pohledávek a umožňuje vytvářet dashboardy pro sledování otevřených faktur a celkového průběhu fakturace. Kde data získat Odpovídá poli „Status“ v záznamu transakce faktury v NetSuite. Příklady OtevřenoPlně uhrazenoStornovánoČeká na schválení | |||
Aktivity fakturace v procesu od objednávky po inkaso
| Aktivita | Popis | ||
|---|---|---|---|
| Faktura odeslána zákazníkovi | Označuje odeslání faktury zákazníkovi, obvykle e-mailem. Událost se zaznamená podle toho, kdy uživatel použije akci „Email“ v záznamu faktury. | ||
| Proč je to důležité Tímto okamžikem začíná období, ve kterém zákazník hradí pohledávku. Jde o hlavní výchozí bod pro výpočet doby inkasa pohledávek (DSO). Kde data získat Událost se odvozuje z vyplnění pole „Date Last Emailed“ v záznamu faktury. Lze ji také zaznamenat při vytvoření e-mailové zprávy na podzáložce Communication. Zachycení Událost se odvozuje z vyplnění pole „Date Last Emailed“ nebo z vytvoření záznamu komunikace. Typ události inferred | |||
| Faktura plně uhrazena | Stav faktury se změnil na „Paid In Full“, což znamená, že její zůstatek je nulový. Tím úspěšně končí fakturační cyklus a vymáhání pohledávky. | ||
| Proč je to důležité Jde o hlavní událost úspěšného ukončení procesu. Doba do dosažení tohoto stavu představuje celkovou dobu cyklu přeměny pohledávek na hotovost. Kde data získat Událost se odvozuje ze změny pole „Status“ v záznamu faktury na „Paid In Full“. Čas změny stavu je uveden v systémových poznámkách transakce. Zachycení Událost se odvozuje ze změny pole „Status“ na „Paid In Full“ zaznamenané v systémových poznámkách. Typ události inferred | |||
| Faktura schválena | Faktura byla formálně schválena a je připravena k odeslání zákazníkovi. Událost se zaznamená při změně stavu schválení z „Pending Approval“ na „Approved“, obvykle prostřednictvím akce ve workflow. | ||
| Proč je to důležité Jde o důležitý milník, který podmiňuje odeslání faktury zákazníkovi. Je nezbytný pro měření doby schvalování a výpočet KPI „Podíl automatizované fakturace“. Kde data získat Událost se odvozuje ze změny pole „Approval Status“ v záznamu faktury na „Approved“. Přesný čas změny zaznamenávají systémové poznámky k transakci. Zachycení Událost se odvozuje ze změny pole „Approval Status“ na „Approved“ zaznamenané v systémových poznámkách. Typ události inferred | |||
| Faktura vytvořena | Označuje oficiální vytvoření záznamu transakce faktury v NetSuite. Tato událost zahajuje fakturační proces pro každé jedinečné číslo faktury. Zaznamenává se časové razítko vytvoření transakce. | ||
| Proč je to důležité Jde o hlavní počáteční událost fakturačního procesu. Doba od této události k dalším událostem ukazuje celkovou efektivitu procesu a slouží jako základ pro KPI doby vystavení faktury. Kde data získat Údaj se přebírá z časového razítka „Date Created“ v záznamu transakce faktury. Systémové poznámky NetSuite navíc výslovně zaznamenávají vytvoření faktury a uživatele, který ji vytvořil. Zachycení Událost se zaznamená při vytvoření záznamu transakce faktury. Typ události explicit | |||
| Přijata platba od zákazníka | Zákazník zaplatil a platba byla zaznamenána v systému. Událost se zaznamená vytvořením transakce „Customer Payment“ v NetSuite. Platbu lze přiřadit k jedné nebo více fakturám. | ||
| Proč je to důležité Označuje přijetí peněz, nikoli nutně jejich přiřazení ke konkrétní faktuře. Jde o první krok při přiřazování plateb a důležitou událost pro výpočet DSO. Kde data získat Událost se zaznamená podle data vytvoření záznamu transakce „Customer Payment“. Platba se propojí s fakturou na podzáložce „Apply“. Zachycení Vytvoření záznamu transakce Customer Payment. Typ události explicit | |||
| Faktura odeslána ke schválení | Označuje změnu stavu faktury na „Pending Approval“. Událost se zaznamená, když uživatel odešle fakturu do nastaveného workflow schvalování, což je běžná úprava systému. | ||
| Proč je to důležité Tato aktivita označuje začátek možného úzkého místa ve schvalování. Čekání na schválení tvoří významnou část celkové doby zpracování faktury. Kde data získat Událost se odvozuje ze změny pole „Approval Status“ v záznamu faktury na „Pending Approval“. Čas změny najdete v auditní stopě systémových poznámek k faktuře. Zachycení Událost se odvozuje ze změny pole „Approval Status“ zaznamenané v systémových poznámkách. Typ události inferred | |||
| Faktura stornována | Faktura byla stornována, čímž se zrušila a obrátil se její dopad na hlavní knihu. Tento krok se obvykle provádí u faktur vytvořených omylem, které ještě nebyly zaplaceny. | ||
| Proč je to důležité Jde o výjimku v procesu a jeho konečný stav. Zjištění důvodů stornování faktur může odhalit chyby při zadávání dat nebo v procesu, které je třeba napravit v předchozích krocích. Kde data získat Jde o výslovnou akci uživatele. Lze ji zaznamenat ze systémových poznámek k faktuře, které uvádějí, kdy a kým byla transakce stornována. Zachycení Výslovná akce „Void“ zaznamenaná v systémových poznámkách k faktuře. Typ události explicit | |||
| Faktura uzavřena | Transakce faktury byla uzavřena, často v rámci účetní uzávěrky období. Po úplném zaplacení a odsouhlasení transakce už nelze provádět další změny. | ||
| Proč je to důležité K uzavření často dochází až po stavu „Paid In Full“, může však jít o závěrečný administrativní krok. Zpoždění mezi platbou a uzavřením může ovlivnit včasnost finančního výkaznictví. Kde data získat Událost se odvozuje ze změny pole „Status“ na „Closed“ nebo podobný stav. Čas změny se přebírá ze systémových poznámek. Zachycení Událost se odvozuje ze změny pole „Status“ zaznamenané v systémových poznámkách. Typ události inferred | |||
| Nastalo datum splatnosti | Jde o vypočítanou událost, která nastane, když se aktuální datum shoduje s datem splatnosti faktury. Neodpovídá přímé akci uživatele ani systému, ale odvozuje se z existujících dat při analýze. | ||
| Proč je to důležité Slouží jako důležitý ukazatel včasnosti plateb. Je nezbytná pro výpočet KPI „Podíl včas uhrazených plateb“ a analýzu platebního chování zákazníků. Kde data získat V NetSuite nejde o výslovně zaznamenanou událost. Vypočítá se porovnáním časového razítka v záznamu událostí s polem „Due Date“ v záznamu transakce faktury. Zachycení Vypočítá se, když se časové razítko události shoduje s hodnotou pole „Due Date“ na faktuře. Typ události calculated | |||
| Odeslána upomínka platby | Zákazníkovi byla odeslána zpráva týkající se nezaplacené pohledávky. Událost se zaznamená jako aktivita nebo e-mail odeslaný ze záznamu faktury či zákazníka, často prostřednictvím řešení pro upomínání plateb. | ||
| Proč je to důležité Událost je nezbytná pro vyhodnocení účinnosti strategií vymáhání pohledávek. Analýza jejího vlivu na následné platby pomáhá nastavit četnost a načasování upomínek. Kde data získat Událost se zaznamená při vytvoření e-mailového záznamu na podzáložce Communication > Messages v záznamu faktury nebo zákazníka. Automatizovaná řešení pro upomínání plateb mohou tyto události zaznamenávat také jako vlastní záznamy nebo úkoly. Zachycení Zaznamená se jako e-mail nebo aktivita přiřazená k faktuře. Typ události explicit | |||
| Platba přiřazena k faktuře | Přijatá platba zákazníka byla přiřazena ke konkrétní faktuře, čímž se snížila její dlužná částka. Zaznamená se při uložení přiřazení v záznamu Customer Payment. | ||
| Proč je to důležité Tato událost propojuje přijetí peněz s úhradou faktury. Doba od události „Přijata platba“ do této události určuje KPI „Doba přiřazení platby“. Kde data získat Událost se zaznamená v systémových poznámkách nebo auditní stopě transakce Customer Payment, konkrétně při uložení přiřazení k řádku faktury. Časové razítko tohoto přiřazení je důležité. Zachycení Zaznamená se při uložení záznamu Customer Payment s přiřazením k faktuře. Typ události explicit | |||
| Vytvořeno dobropisné avízo | Byla vytvořena dobropisná transakce a přiřazena k faktuře, čímž se snížil její neuhrazený zůstatek. Obvykle jde o důsledek vrácení zboží, reklamace služby nebo opravy ceny. | ||
| Proč je to důležité Upozorňuje na opakované zpracování, problémy s kvalitou nebo spory se zákazníky. Častý výskyt může poukazovat na hlubší problémy a je důležitý pro dashboard „Analýza oprav a zamítnutí faktur“. Kde data získat Událost se zaznamená při vytvoření transakce dobropisného avíza. Vazbu na původní fakturu najdete v poli „Created From“ nebo na podzáložce „Apply“ dobropisného avíza. Zachycení Vytvoření záznamu dobropisného avíza propojeného s původní fakturou. Typ události explicit | |||
Návody k extrakci dat
Kroky
- Přihlaste se do NetSuite: Přihlaste se k účtu NetSuite pod rolí, která má dostatečná oprávnění k vytváření a spouštění uložených vyhledávání nad transakcemi.
- Otevřete uložená vyhledávání: Přejděte na Reports > Saved Searches > All Saved Searches > New. V seznamu typů vyhledávání vyberte „Transaction“. Na tomto základě vytvoříte několik vyhledávání, jedno pro každý typ události.
- Vytvořte vyhledávání „Invoice Created“: Toto hlavní vyhledávání zachytí vytvoření faktur.
- Na kartě „Criteria“ v části „Standard“ nastavte filtr „Type“ na „is Invoice“.
- Přidejte filtr „Main Line“ a nastavte jej na „is true“, aby se pro každou fakturu vrátil jeden záznam.
- Na kartě „Results“ přidejte požadované sloupce. Pomocí vzorců vytvořte standardizovaná pole, například „ActivityName“. Přidejte například pole „Formula (Text)“ se vzorcem
_UTF8'Invoice Created'.
- Vytvořte vyhledávání změn stavů (schválení, zaplacení, zrušení, uzavření): Mnoho aktivit představují změny stavu. Nejspolehlivěji získáte přesné časové razítko ze System Notes.
- Vytvořte nové uložené vyhledávání typu Transaction.
- Na kartě „Criteria“ nastavte „Type“ na „is Invoice“.
- Na podzáložce „Standard“ přidejte filtr „System Notes : Field“ a vyberte příslušné pole stavu, například „Approval Status“.
- Přidejte filtr „System Notes : New Value“ a nastavte cílový stav, například „Approved“.
- Na kartě „Results“ namapujte „System Notes : Date“ na
EventTimestampa „System Notes : Set by“ naUser. - Stejný postup zopakujte pro každou aktivitu založenou na změně stavu: „Invoice Submitted for Approval“, „Invoice Approved“, „Invoice Paid In Full“, „Invoice Voided“ a „Invoice Closed“. Podle potřeby upravte filtry polí a hodnot.
- Vytvořte vyhledávání „Invoice Sent to Customer“: Tuto událost obvykle zachytíte sledováním e-mailových zpráv odeslaných ze záznamu faktury.
- Vytvořte nové uložené vyhledávání typu Transaction a nastavte „Type“ na „is Invoice“.
- Na kartě „Criteria“ v části „Related Records“ přidejte filtr „Messages : Date Sent“ a nastavte jej na „is not empty“.
- Na kartě „Results“ namapujte „Messages : Date Sent“ na
EventTimestampa „Messages : Author“ naUser.
- Vytvořte vyhledávání plateb a dobropisů: Tyto události se týkají samostatných typů transakcí propojených s fakturou.
- Pro „Customer Payment Received“ vytvořte vyhledávání s podmínkou „Type“ is „Customer Payment“. Jako časové razítko události použijte datum vytvoření.
- Pro „Payment Applied To Invoice“ použijte stejné vyhledávání „Customer Payment“, ale připojte pole „Applied To Transaction“. Časové razítko určí pole „Date Created“ platební transakce. Získáte jeden řádek pro každé přiřazení platby k faktuře.
- Pro „Credit Memo Created“ vytvořte vyhledávání s podmínkou „Type“ is „Credit Memo“ a propojte jej s polem „Created From“, abyste získali číslo původní faktury.
- Spusťte a exportujte jednotlivá uložená vyhledávání: Spusťte všechna vytvořená vyhledávání. Na stránce s výsledky klikněte na ikonu exportu (CSV, Excel nebo PDF) a vyberte CSV. Pokud výsledků bude více, než dovoluje limit exportu NetSuite, bude možná nutné exportovat data po dávkách.
- Spojte a transformujte data: Sloučte všechny exportované soubory CSV do jednoho souboru pomocí nástroje, jako je Microsoft Excel, skript v Pythonu nebo nástroj pro přípravu dat.
- Odvoďte událost „Payment Due Date Reached“: V souboru se spojenými daty vytvořte nový řádek pro každou událost „Invoice Created“. Nastavte
ActivityNamena „Payment Due Date Reached“,EventTimestampna hodnotu z pole „DueDate“ faktury a zkopírujte ostatní relevantní atributy faktury. - Dokončete záznam událostí: Sjednoťte názvy všech sloupců podle požadovaného schématu, například
InvoiceNumber,ActivityNameaEventTimestamp. Zkontrolujte, že formáty časových razítek jsou jednotné. Přidejte sloupceSourceSystemaLastDataUpdatese statickými hodnotami pro tuto dávku extrakce. Výsledný soubor uložte jako CSV a nahrajte jej.
Konfigurace
- Předpoklady: Potřebujete uživatelskou roli s oprávněním vytvářet, upravovat a spouštět uložená vyhledávání typu „Transaction“. Dále potřebujete přístup k záznamům Invoice, Customer Payment, Credit Memo a System Notes.
- Typ vyhledávání: Pro všechny extrakce se používá především typ „Transaction“. Umožňuje přístup ke všem potřebným záznamům a jejich vazbám.
- Filtrování podle období: Kvůli výkonu a objemu dat nastavte u každého vyhledávání časové období. Pro první analýzu doporučujeme filtrovat podle pole „Date Created“ za poslední 3 až 6 měsíců.
- Filtr Main Line: U událostí na úrovni hlavičky dokumentu, například „Invoice Created“, nastavte kritérium „Main Line“ na „true“. Pokud potřebujete analyzovat podrobnosti položek, nastavte jej na „false“. Pro tento proces to není nutné.
- System Notes: Záznam změn stavů závisí především na System Notes. V konfiguraci NetSuite ověřte, že je auditování zapnuté pro důležitá transakční pole, například „Status“ a „Approval Status“ (Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail).
- Výkon: Složitá vyhledávání s mnoha propojeními a poli vzorců za dlouhé období mohou v uživatelském rozhraní NetSuite běžet pomalu. Doporučujeme je spouštět a exportovat mimo špičku. Pokud vyhledávání skončí chybou časového limitu, zkraťte období a exportujte data po menších dávkách.
Ukázkový dotaz 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.
*/ Kroky
- Předpoklad: Zapněte SuiteAnalytics Connect: Ověřte, že máte licenci k modulu SuiteAnalytics Connect a že je ve vaší instanci NetSuite zapnutý. Obvykle to provádí správce NetSuite v části Setup > Company > Enable Features > Analytics.
- Stáhněte a nakonfigurujte ovladač ODBC: Otevřete hlavní dashboard NetSuite a najděte portlet „Settings“. Kliknutím na odkaz „Set Up SuiteAnalytics Connect“ stáhněte ovladač ODBC pro svůj operační systém. Nainstalujte a nakonfigurujte jej podle pokynů NetSuite. Zadejte hostitele služby, port, Account ID, Role ID, e-mail a heslo.
- Připojte se k databázi: Použijte SQL klienta podporujícího připojení ODBC, například DBeaver, Tableau nebo Power BI. Vytvořte nové připojení ODBC pomocí ovladače nakonfigurovaného v předchozím kroku. Ověřte, že se můžete úspěšně přihlásit a přistupovat k databázi repliky určené ke čtení v NetSuite.
- Připravte dotaz SQL: Zkopírujte celý dotaz SQL z části „Query“ tohoto dokumentu. Dotaz získá všechny požadované aktivity a atributy pro fakturaci v procesu od objednávky po inkaso.
- Nastavte parametry dotazu: Před spuštěním najděte v dotazu zástupné hodnoty. Nahraďte
'YYYY-MM-DD'požadovaným počátečním a koncovým datem období extrakce.[Your Subsidiary ID]nahraďte interním ID pobočky NetSuite, kterou chcete analyzovat. - Spusťte dotaz: Spusťte upravený dotaz v SQL klientovi. Doba zpracování závisí na zvoleném období a objemu transakcí ve vašem účtu NetSuite.
- Zkontrolujte výsledky: Po dokončení dotazu se vrátí plochá tabulka představující záznam událostí. Každý řádek odpovídá konkrétní aktivitě v životním cyklu faktury. Zkontrolujte úplnost a správnost dat.
- Exportujte záznam událostí: Exportujte výsledky dotazu z SQL klienta do souboru CSV. Ověřte, že je soubor kódovaný v UTF-8, aby nedošlo k problémům se znaky.
- Připravte data k nahrání: Před nahráním do nástroje process mining ověřte, že názvy sloupců odpovídají požadovaným názvům atributů, například InvoiceNumber, ActivityName a EventTimestamp. Zkontrolujte také jednotnost formátů data a času.
Konfigurace
- Licence SuiteAnalytics Connect: Pro přístup k databázi repliky NetSuite určené ke čtení potřebujete platnou licenci modulu SuiteAnalytics Connect. Bez ní není přímý přístup přes SQL možný.
- Vyhrazená role a uživatel: Doporučujeme vytvořit vyhrazenou roli NetSuite s příslušnými oprávněními pro SuiteAnalytics Connect. Role by měla mít přístup pouze pro čtení k potřebným záznamům, včetně Transactions, Customers a System Notes. Kvůli zabezpečení a auditovatelnosti přiřaďte této roli vyhrazeného uživatele pro extrakci dat.
- Filtrování podle období: Dodaný dotaz obsahuje klauzuli
WHEREpro datum vytvoření faktury (Transaction.TRANDATE). Při první extrakci doporučujeme začít kratším obdobím, například posledními 3 až 6 měsíci, abyste omezili zátěž a objem dat. Příklad:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'. - Filtrování podle pobočky: Pokud účet obsahuje více poboček, je filtrování podle konkrétní pobočky důležité kvůli výkonu i relevanci dat. Dotaz obsahuje zástupný text
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID], který je třeba upravit. - Aktuálnost dat: Databáze SuiteAnalytics Connect je replika určená ke čtení. Data se obvykle aktualizují několikrát za hodinu, nejde však o data v reálném čase. Mezi provedením transakce v NetSuite a jejím zobrazením v databázi Connect může být prodleva až několik hodin.
Ukázkový dotaz 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'); Chcete začít?
Pomocí této šablony můžete zahájit projekt process mining a získat přehled o fakturaci a vystavování faktur. Začněte zlepšovat proces od objednávky po inkaso.
Zlepšete fakturaci v NetSuite a zrychlete peněžní tok
Zkraťte fakturační cyklus v NetSuite o 30 % a zlepšete peněžní tok.
Platební kartu nepotřebujete. Nastavení zabere jen několik minut.