Uw Order tot betaling - Billing & Invoicing datatemplate
Uw Order tot betaling - Billing & Invoicing datatemplate
- Aanbevolen attributen om vast te leggen
- Belangrijkste activiteiten om te volgen
- Richtlijnen voor data-extractie uit NetSuite
Order tot betaling - Facturatie en debiteurenbeheer Attributen
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de business gebeurtenis die plaatsvond op een specifiek punt in de factuurlevenscyclus. | ||
| Omschrijving De Activiteitsnaam beschrijft een specifieke stap of gebeurtenis binnen het facturatieproces, zoals 'Factuur Gecreëerd', 'Factuur Goedgekeurd' of 'Klantenbetaling Ontvangen'. Deze activiteiten vormen de onderdelen van de proceskaart. Het analyseren van de volgorde en frequentie van deze activiteiten vormt de basis voor process mining. Het helpt de daadwerkelijke processtroom te visualiseren, veelvoorkomende en zeldzame procespaden (varianten) te vinden, en activiteiten aan te wijzen die frequent worden herhaald, wat duidt op herhaalwerk of inefficiëntie. Het belang Dit attribuut is onmisbaar voor het construeren van de proceskaart, waardoor de visualisatie en analyse van de verschillende stappen en paden die een factuur doorloopt mogelijk worden. Vindplaats Afgeleid van systeemlogs, statuswijzigingen of specifieke gebeurtenisrecords die zijn gekoppeld aan de Factuurtransactie in NetSuite. Dit vereist vaak het koppelen van transactiestatuswijzigingen of gerelateerde recordaanmaken aan gedefinieerde activiteitsnamen. Voorbeelden Factuur aangemaaktFactuur GoedgekeurdKlantbetaling OntvangenFactuur volledig betaald | |||
| Factuurnummer InvoiceNumber | De unieke kenmerk voor elk factuurdocument, dienend als de primaire case-kenmerk voor het facturatieproces. | ||
| Omschrijving Het Factuurnummer is de basis voor de analyse van het facturatieproces, waarbij elke factuur uniek wordt geïdentificeerd, van aanmaak tot uiteindelijke afsluiting. Het groepeert alle gerelateerde activiteiten, zoals goedkeuring, verzending en betalingsverwerking, in een enkele, samenhangende case. Binnen process mining maakt het analyseren van het traject van elk factuurnummer een volledige blik op de gehele facturatielevenscyclus mogelijk. Dit maakt de identificatie mogelijk van procesvarianten, knelpunten en afwijkingen van de standaardprocedure, en biedt belangrijke inzichten voor het optimaliseren van cashflow en operationele efficiëntie. Het belang Het is belangrijk voor het volgen van de end-to-end levenscyclus van elke factuur, waardoor de reconstructie van het gehele facturatieproces en gedetailleerde prestatieanalyse mogelijk worden. Vindplaats Dit is doorgaans de 'Transactie-ID' of een vergelijkbaar uniek kenmerk veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden INV-0012345INV-0012346INV-0012347 | |||
| Tijdstempel EventTimestamp | De exacte datum en tijd waarop een specifieke activiteit of gebeurtenis plaatsvond. | ||
| Omschrijving Dit attribuut registreert het exacte moment waarop een activiteit plaatsvond. Het is een belangrijk onderdeel voor het chronologisch ordenen van gebeurtenissen en voor alle tijdsgebonden analyses. Binnen process mining wordt de Event Timestamp gebruikt om cyclustijden tussen activiteiten, doorlooptijden per case en wachttijden te berekenen. Het is belangrijk voor het vinden van knelpunten, het meten van procesprestaties tegen SLA's en het begrijpen van de het verloop in de tijd van het facturatieproces. Het wordt bijvoorbeeld gebruikt om de Cyclustijd voor Factuurgeneratie en Days Sales Outstanding (DSO) te berekenen. Het belang Het biedt de chronologische volgorde van gebeurtenissen, wat belangrijk is voor het berekenen van alle op duur gebaseerde meetwaarden, het vinden van knelpunten en het analyseren van procesprestaties in de loop van de tijd. Vindplaats Timestamp Informatie is doorgaans te vinden in de systeemnotities, audit trails of 'Aanmaakdatum' velden van gerelateerde records voor elke factuurtransactie in NetSuite. Voorbeelden 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| Bronsysteem SourceSystem | Het systeem waaruit de data is opgehaald. | ||
| Omschrijving Dit attribuut identificeert de oorsprong van de procesdata. Voor deze weergave zou het consistent 'NetSuite' zijn. In een bredere analysecontext, vooral in organisaties met meerdere ERP's of geïntegreerde systemen, is dit attribuut belangrijk voor data lineage en governance. Het helpt processen te onderscheiden die mogelijk meerdere platforms omvatten en zorgt ervoor dat de analyse correct wordt toegeschreven aan het juiste bronsysteem. Het belang Het biedt belangrijke context voor dataherkomst en -governance, vooral in omgevingen waar meerdere systemen geïntegreerd kunnen zijn. Vindplaats Dit is een Voorbeelden NetSuite | |||
| Tijdstip van extractie LastDataUpdate | De `timestamp` die de laatste keer aangeeft dat de `data` is ververst vanuit het bronsysteem. | ||
| Omschrijving Dit attribuut registreert wanneer de dataset voor het laatst is bijgewerkt. Het biedt context voor de relevantie en relevantie van de process mining-analyse. Analisten en business stakeholders gebruiken deze Informatie om te begrijpen of de inzichten de meest actuele operationele status weerspiegelen. Het is een belangrijk stuk metadata voor elk dashboard of rapport, wat ervoor zorgt dat beslissingen zijn gebaseerd op data van een bekende leeftijd en niet worden geïnterpreteerd als real-time als dit niet het geval is. Het belang Dit Informapakketmeert gebruikers over de relevantie van de data, wat ervoor zorgt dat zij de tijdsspanne van de analyse en de relevantie van de inzichten begrijpen. Vindplaats Deze timestamp wordt gegenereerd en vastgelegd door de data-extractietool of pijplijn op het moment van de data refresh. Voorbeelden 2024-05-21T02:00:00Z | |||
| Eindtijd van het gebeurtenis EventEndTime | De exacte datum en tijd waarop een specifieke activiteit of gebeurtenis werd voltooid. | ||
| Omschrijving De Event EindTijd markeert de voltooiing van een activiteit. Hoewel veel activiteiten onmiddellijk zijn (start- en eindtijd zijn hetzelfde), kunnen sommige, zoals een goedkeuringsstap, een meetbare duur hebben. Dit attribuut, in combinatie met de Event Timestamp (StartTijd), maakt de directe berekening van de verwerkingstijd van activiteiten mogelijk. Het analyseren van de verwerkingstijd helpt te vinden welke specifieke stappen de meeste tijd en middelen verbruiken, waarbij het onderscheid wordt gemaakt tussen wachttijd tussen activiteiten. Dit is belangrijk voor het vinden van knelpunten binnen specifieke taken. Het belang Het maakt de precieze berekening mogelijk van hoe lang elke activiteit duurt om te voltooien, wat belangrijk is voor het analyseren van efficiënte inzet van middelen en het vinden van tijdrovende taken. Vindplaats Vergelijkbaar met StartTijd, kan dit worden gehaald uit systeem-auditsporen in NetSuite. Het kan logica vereisen om een 'start' gebeurtenis te koppelen aan een corresponderende 'end' gebeurtenis. Voorbeelden 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| Factuurdatum InvoiceDate | De officiële datum van de factuur, zoals deze aan de klant is uitgegeven. | ||
| Omschrijving De Factuurdatum, of transactiedatum, is het startpunt voor veel financiële berekeningen voor facturatie. Het is de datum van waaruit betalingstermijnen en uiterste betaaldata doorgaans worden berekend. Bij analyse dient deze datum als het primaire anker voor het berekenen van belangrijke financiële KPI's zoals Days Sales Outstanding (DSO) en Factuurveroudering. Het maakt cohortanalyse mogelijk, waardoor de facturatieprestaties over verschillende tijdsperioden kunnen worden vergeleken, bijvoorbeeld maand-op-maand of jaar-op-jaar. Het belang Deze datum is de basislijn voor kritieke financiële meetwaarden zoals Days Sales Outstanding (DSO) en factuurveroudering, wat de werkkapitaalanalyse direct beïnvloedt. Vindplaats Dit komt overeen met het 'Datum' (trandate) veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden 2023-10-262023-10-272023-11-15 | |||
| Gebruiker User | De naam of het ID van de gebruiker die de activiteit uitvoerde. | ||
| Omschrijving Dit attribuut identificeert de werknemer of systeemgebruiker die verantwoordelijk is voor het uitvoeren van een specifieke processtap. Dit kan de persoon zijn die de factuur heeft aangemaakt, goedgekeurd of de betaling heeft toegepast. Het analyseren van het proces per gebruiker helpt bij het begrijpen van de werkverdeling, individuele prestaties en het vinden van trainingsbehoeften. Het kan ook potentiële automatiseringsmogelijkheden benadrukken door aan te tonen welke handmatige activiteiten door de meeste gebruikers worden uitgevoerd. Het is ook belangrijk voor compliance- en audit-trail-analyse. Het belang Het maakt analyse van werkdrukverdeling, gebruikersspecifieke prestaties en procesnaleving mogelijk, wat belangrijk is voor bronbeheer en gerichte training. Vindplaats Beschikbaar in de subtab Systeemnotities of specifieke 'Gewijzigd door'-velden op Factuur en gerelateerde transacpakketecords in NetSuite. Voorbeelden Alice SmithBob JohnsonSYSTEEM | |||
| Is Geautomatiseerd IsAutomated | Een indicator die aangeeft of een activiteit automatisch door het systeem is uitgevoerd. | ||
| Omschrijving Dit boolean attribuut maakt onderscheid tussen activiteiten die handmatig door een gebruiker worden uitgevoerd en activiteiten die automatisch worden uitgevoerd door een systeemworkflow, script of integratie. Dit attribuut is belangrijk voor het meten van het automatiseringsniveau in het facturatieproces, en ondersteunt direct de KPI 'Geautomatiseerde Facturapakketatio'. Door te filteren op geautomatiseerde of handmatige activiteiten kunnen analysesten knelpunten vinden die worden veroorzaakt door handmatige interventie en kansen vinden om automatisering te verhogen, menselijke fouten te verminderen en de efficiëntie te verbeteren. Het belang Het helpt het automatiseringsniveau in het proces te meten, waarbij mogelijkheden worden geïdentificeerd om handmatige inspanningen te verminderen en de efficiëntie te verhogen. Vindplaats Dit wordt doorgaans afgeleid door de 'Gebruiker' die aan een activiteit is gekoppeld te controleren. Events die worden geactiveerd door gebruikers genaamd 'SYSTEM', 'Workflow' of 'Integratie' worden gemarkeerd als geautomatiseerd. Voorbeelden truefalse | |||
| Klantnaam CustomerName | De naam van de klant aan wie de factuur is verzonden. | ||
| Omschrijving Dit attribuut identificeert de juridische entiteit of het individu dat gefactureerd wordt. Het koppelt het facturatieproces aan de klantrelatiebeheerfunctie. Het analyseren van het facturatieproces per klant helpt bij het vinden van patronen in betalingsgedrag, geschillen of factuurcomplexiteit voor specifieke cliënten. Dit kan Informapakketmeren over klantsegmentatiestrategieën, kredietlimietbeslissingen en op maat gemaakte incassobenaderingen. Het kan bijvoorbeeld zichtbaar maken of een bepaalde klant consistent facturen heeft die herhaalwerk vereisen. Het belang Het maakt klantgerichte analyse mogelijk, wat helpt bij het vinden van betaalpatronen, veelvoorkomende problemen of procesafwijkingen specifiek voor bepaalde klanten. Vindplaats Dit komt overeen met het 'Klant' of 'Entiteit' naam veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden Wereldwijd Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| Regio Region | De geografische regio die geassocieerd wordt met de klant of transactie. | ||
| Omschrijving Het Region attribuut classificeert facturen op basis van geografie, wat kan worden afgeleid van het adres van de klant of de businessunit die de factuur heeft uitgegeven. Dit is een waardevolle factor voor vergelijkende analyse. Het dashboard 'Regionale Facturatieprocesvergelijking' vertrouwt op dit attribuut om KPI's zoals cyclustijden, foutenpercentages en procesvarianten in verschillende regio's te vergelijken. Dit helpt bij het vinden van regionale prestatieverschillen, het blootleggen van best practices in goed presterende regio's en het stimuleren van processtandaardisatie-inspanningen binnen de organisatie. Het belang Het maakt vergelijkende analyse over verschillende geografische gebieden mogelijk, wat belangrijk is voor het vinden van regionale prestatieverschillen en het standaardiseren van best practices. Vindplaats Deze data wordt vaak opgeslagen in een aangepast segment of classificatie veld op de klant master of transacpakketecord in NetSuite. Voorbeelden Noord-AmerikaEMEAAPAC | |||
| Totaal Factuurbedrag InvoiceTotalAmount | De totale financiële waarde van de factuur, inclusief belastingen en andere kosten. | ||
| Omschrijving Dit attribuut vertegenwoordigt het volledige bedrag dat de klant naar verwachting zal betalen. Het is een fundamenteel stuk financiële data voor elke facturatie case. Het analyseren van het proces op basis van het factuurbedrag maakt waardegerichte analyse mogelijk. Het kan bijvoorbeeld zichtbaar maken of facturen met hoogwaardige een ander, complexer proces volgen dan die met lage waarde. Het wordt ook gebruikt om incasso-inspanningen te prioriteren en de financiële impact van betalingsvertragingen of factuurfouten te begrijpen. Het belang Het maakt procesanalyse op basis van waarde mogelijk, wat helpt bij het prioriteren van facturen met hoogwaardige en het begrijpen van de financiële impact van procesinefficiënties. Vindplaats Dit komt overeen met het 'Totaal' (total) veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden 1500.0089.9912500.50 | |||
| Vervaldatum DueDate | De datum waarop de betaling voor de factuur uiterlijk verschuldigd is. | ||
| Omschrijving De Uiterste Betaaldatum wordt berekend op basis van de Factuurdatum en de overeengekomen Betalingstermijnen. Het vertegenwoordigt de deadline voor de klant om een betaling te doen zonder als te laat te worden beschouwd. Dit attribuut is belangrijk voor het bewaken van debiteuren en het beheren van de cashflow. Het is de benchmark die wordt gebruikt om de KPI voor het percentage tijdige betalingen te berekenen en om het betalingsgedrag van klanten te analyseren. Het volgen van afwijkingen van de uiterste betaaldatum helpt bij het vinden van klanten die frequent te laat betalen en het beoordelen van de effectiviteit van incassostrategieën. Het belang Het is belangrijk voor het meten van tijdige betaalprestaties en het analyseren van klantbetaalgedrag, wat incasso's en cashflowprognoses direct ondersteunt. Vindplaats Dit komt overeen met het 'Uiterste Betaaldatum' (duedate) veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden 2023-11-252023-11-262023-12-15 | |||
| Afdeling Department | De interne afdeling waaraan de factuur is gekoppeld. | ||
| Omschrijving Dit attribuut vertegenwoordigt de interne afdeling, zoals Verkoop, Services of een specifieke bedrijfstak, die verantwoordelijk is voor de transactie. Het is een standaard classificatiesegment in NetSuite. Het analyseren van het proces per afdeling maakt interne benchmarking mogelijk en helpt te vinden of bepaalde afdelingen efficiëntere facturatieprocessen hebben dan andere. Het kan variaties in procesnaleving of toewijzing van middelen inzichtelijk maken, en biedt inzichten voor gerichte procesverbeteringsinitiatieven binnen specifieke delen van de organisatie. Het belang Het maakt het mogelijk procesprestaties te vergelijken over verschillende interne afdelingen, waarbij variaties en mogelijkheden voor interne processtandaardisatie worden benadrukt. Vindplaats Dit komt overeen met het classificatie veld 'Afdeling', dat kan worden ingesteld op header- of regelniveau van een Factuurtransactie in NetSuite. Voorbeelden Verkoop - EnterpriseProfessionele DienstenHardware | |||
| Betalingstermijnen PaymentTerms | De overeengekomen betalingsvoorwaarden tussen het bedrijf en de klant. | ||
| Omschrijving Betalingstermijnen definiëren wanneer en hoe een klant naar verwachting zijn factuur betaalt, bijvoorbeeld 'Net 30' of 'Te betalen bij ontvangst'. Deze Informatie wordt gebruikt om automatisch de vervaldatum van de factuur te berekenen. Dit attribuut is belangrijk voor het dashboard 'Naleving Betalingstermijnen'. Het analyseren van percentages tijdige betalingen per verschillende betalingstermijnen helpt de effectiviteit ervan te ewaarderen. Zo kan het bijvoorbeeld aantonen of klanten met 'Net 15'-termijnen sneller betalen dan die met 'Net 30', wat toekomstige contractonderhandelingen en kredietbeleid Informapakketmeert. Het belang Het is belangrijk voor het analyseren van de effectiviteit van verschillende betalingsvoorwaarden en hun impact op de tijdigheid van klantbetalingen. Vindplaats Dit komt overeen met het 'Termijnen' veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden Netto 30Netto 60Verschuldigd bij ontvangst | |||
| Days Sales Outstanding DaysSalesOutstanding | Het aantal dagen tussen de factuurdatum en de datum waarop de betaling is ontvangen. | ||
| Omschrijving Days Sales Outstanding (DSO) is een belangrijke financiële metriek die het gemiddelde aantal dagen meet dat nodig is om betaling te innen nadat een factuur is uitgegeven. Dit attribuut wordt berekend voor elke individuele factuur om gedetailleerde analyse mogelijk te maken. Hoewel vaak geaggregeerd als een high-level KPI, maakt DSO op individueel factuurniveau krachtige analyse mogelijk. Het kan worden gebruikt om te vinden welke klanten, regio's of factuurtypes de hoogste DSO hebben. Het 'DSO Trend' dashboard vertrouwt op deze metriek om de incassoefficiëntie over tijd te visualiseren, wat belangrijke inzichten biedt in werkkapitaalbeheer. Het belang Het kwantificeert de incassoefficiëntie op individueel factuurniveau, waardoor gedetailleerde grondoorzaakanalyse voor een hoge DSO en de impact ervan op cashflow mogelijk worden. Vindplaats Berekend door de 'InvoiceDate' af te trekken van de timestamp van de activiteit 'Klant Payment Received'. Voorbeelden 294562 | |||
| Factuurstatus InvoiceStatus | De huidige status van de factuur in de levenscyclus ervan. | ||
| Omschrijving Dit attribuut weerspiegelt de huidige status van de factuur, zoals 'Open', 'Volledig Betaald' of 'Geannuleerd'. Het biedt een momentopname van waar de factuur zich op elk willekeurig moment in het proces bevindt. Het dashboard 'Overzicht Openstaande Facturen Status' is direct gebaseerd op dit attribuut. Het maakt een real-time beoordeling van debiteuren mogelijk, en helpt financiële teams openstaande saldi te bewaken, incasso's te beheren en cash-instromen te voorspellen. Het analyseren van de uiteindelijke status helpt ook bij het begrijpen van procesresultaten. Het belang Het geeft een momentopname van de huidige stand van de debiteuren, waardoor dashboards mogelijk worden die openstaande facturen en de algehele facturatievoortgang monitoren. Vindplaats Dit komt overeen met het 'Status' veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden OpenVolledig betaaldGeannuleerdIn afwachting van goedkeuring | |||
| Is herstelwerk IsRework | Een berekende indicator die activiteiten identificeert die worden beschouwd als rework- of correctielussen. | ||
| Omschrijving Deze boolean-waarde is ingesteld op true voor activiteiten die niet-waardetoevoegend herhaalwerk vertegenwoordigen, zoals 'Factuur Gecorrigeerd' of een tweede 'Factuur Goedgekeurd' gebeurtenis binnen dezelfde case. Het wordt doorgaans afgeleid op basis van de activiteitsnaam of de herhaling van een activiteit. Dit attribuut is belangrijk voor het dashboard 'Factuur Herhaalwerk en Afwijzingsanalyse' en de KPI 'Factuurfoutenpercentage'. Het maakt gemakkelijke kwantificering van herhaalwerk mogelijk, en helpt proceskwaliteitsproblemen te benadrukken. Door te filteren op herhaalwerkactiviteiten kunnen teams snel de grondoorzaken van fouten vinden en de impact van procesverbeteringsinitiatieven meten. Het belang Het meet direct de proceskwaliteit door inefficiënte herstelwerk-loops te markeren, waardoor analyse van de grondoorzaken en de financiële impact van facturatiefouten mogelijk worden. Vindplaats Dit is een afgeleid attribuut berekend tijdens data-transformatie. Logica wordt toegepast om herhaalwerk te vinden, zoals het markeren van specifieke activiteitsnamen ('Factuur Gecorrigeerd') of herhaalde activiteiten. Voorbeelden truefalse | |||
| Is Tijdige Betaling IsOnTimePayment | Een indicator die aangeeft of de klantbetaling op of voor de vervaldatum van de factuur is ontvangen. | ||
| Omschrijving Deze berekende boolean-waarde vergelijkt de timestamp van de activiteit 'Klantenbetaling Ontvangen' met de 'Uiterste Betaaldatum' van de factuur. Het wordt ingesteld op true als de betaling op tijd of eerder was, en op false als deze te laat was. Dit attribuut is de basis voor de KPI 'Percentage Tijdige Betalingen' en het dashboard 'Naleving Betalingstermijnen'. Het biedt een duidelijke, binaire maatstaf voor het betalingsgedrag van klanten, wat analyse en rapportage vereenvoudigt. Het helpt snel trends in de tijdigheid van betalingen te vinden en de effectiviteit van incassostrategieën te beoordelen. Het belang Dit biedt een duidelijke succes metriek voor incasso's, wat direct de berekening van de KPI 'Percentage Tijdige Betalingen' en de analyse van klantgedrag ondersteunt. Vindplaats Dit is een berekend attribuut. Het vereist het vergelijken van de timestamp van de betalings gebeurtenis met het 'Uiterste Betaaldatum' attribuut op case-niveau. Voorbeelden truefalse | |||
| Valuta Currency | De valutacode voor het factuurbedrag. | ||
| Omschrijving Dit attribuut specificeert de valuta waarin het factuurbedrag is uitgedrukt, bijvoorbeeld USD, EUR of GBP. Het is essentiële context voor alle financiële waarden. Voor multinationale organisaties is analyse per valuta belangrijk voor het begrijpen van financiële prestaties over verschillende markten heen. Het zorgt ervoor dat financiële waarden correct worden geïnterpreteerd en maakt de juiste aggregatie en vergelijking mogelijk na valutaomrekening, indien nodig. Het belang Het biedt noodzakelijke context voor alle financiële waarden, wat belangrijk is voor nauwkeurige financiële rapportage en analyse, vooral in multinationale operaties. Vindplaats Dit komt overeen met het 'Valuta' veld op de Factuurtransacpakketecord in NetSuite. Voorbeelden USDEURGBP | |||
| Verkoopordernummer SalesOrderNumber | De kenmerk van de verkooporder waaruit de factuur is gegenereerd. | ||
| Omschrijving Dit attribuut biedt een directe link terug naar de oorspronkelijke verkooporder, waardoor het facturatieproces wordt verbonden met de voorafgaande verkoop- en fulfilmentprocessen. Het opnemen van het Verkoopordernummer maakt een meer volledig beeld op de gehele Order-to-Cash cyclus mogelijk. Het maakt analyse mogelijk die problemen in de facturatie kan terugvoeren naar hun bron in het verkoopproces. Factuurcorrecties kunnen bijvoorbeeld worden gekoppeld aan data-invoerfouten op specifieke soorten verkooporders. Het belang Het koppelt het facturatieproces terug aan het verkoopproces, waardoor een bredere, end-to-end Order-to-Cash analyse mogelijk wordt om grondoorzaken van facturatieproblemen te vinden. Vindplaats Te vinden in het veld 'Gemaakt van' of op het subtabblad 'Gerelateerde Records' van een Factuurtransactie in NetSuite. Voorbeelden SO-0009876SO-0009877SO-0009878 | |||
Order tot betaling - Facturatie en debiteurenbeheer-activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Factuur aangemaakt | Markeert de officiële aanmaak van het factuurtransacpakketecord in NetSuite. Deze gebeurtenis is het startpunt voor het facturatieproces voor elk uniek factuurnummer en wordt vastgelegd vanuit de aanmaaktimestamp van de transactie. | ||
| Het belang Dit is de primaire start gebeurtenis voor het facturatieproces. Het analyseren van de tijd vanaf deze gebeurtenis tot andere onthult de algehele procesefficiëntie en vormt de basislijn voor de KPI 'Factuurgeneratie Cyclustijd'. Vindplaats Vastgelegd vanuit de 'Datum Aanmaak' timestamp op het Factuurtransacpakketecord. NetSuite's systeemnotities voor de factuur leggen ook expliciet de aanmaakgebeurtenis en gebruiker vast. Vastleggen Gebeurtenis vastgelegd bij de aanmaak van het Factuurtransacpakketecord. Gebeurtenistype explicit | |||
| Factuur Goedgekeurd | De factuur is formeel goedgekeurd en klaar om naar de klant te worden verzonden. Dit wordt vastgelegd wanneer de goedkeuringsstatus wordt bijgewerkt van 'In Afwachting van Goedkeuring' naar 'Goedgekeurd', doorgaans via een workflow-actie. | ||
| Het belang Een belangrijke mijlpaal die de verzending van de factuur naar de klant blokkeert. Het is belangrijk voor het meten van goedkeuringstijden en voor het berekenen van de 'Geautomatiseerde Factureringsratio' KPI. Vindplaats Afgeleid van het veld 'Approval Status' op het factuurrecord dat verandert naar 'Goedgekeurd'. De exacte timestamp is vastgelegd in de systeemnotities voor de transactie. Vastleggen Afgeleid van het veld 'Approval Status' dat verandert naar 'Approved' in systeemnotities. Gebeurtenistype inferred | |||
| Factuur naar Klant Verzonden | Duidt aan dat de factuur naar de klant is verzonden, doorgaans via e-mail. Deze gebeurtenis wordt vastgelegd door te volgen wanneer een gebruiker de 'E-mail' actie uitvoert vanuit de factuurrecord. | ||
| Het belang Dit markeert het begin van de klantenincassoperiode en is het primaire startpunt voor het berekenen van Days Sales Outstanding (DSO). Vindplaats Afgeleid van het invullen van het veld 'Datum Laatst Gemaild' op het factuurrecord. Alternatief kan het worden vastgelegd vanuit de aanmaak van een e-mailberichtrecord onder het subtabblad Communicatie. Vastleggen Afgeleid van de invulling van 'Datum Laatst Gemaild' of de aanmaak van een communicapakketecord. Gebeurtenistype inferred | |||
| Factuur volledig betaald | De factuurstatus is gewijzigd naar 'Volledig Betaald', wat aangeeft dat het saldo nu nul is. Dit is de succesvolle afsluiting van de facturatie- en incassocultuur voor de factuur. | ||
| Het belang Dit is de primaire succesvolle eind gebeurtenis voor het proces. Het analyseren van de totale tijd om deze status te bereiken, biedt de end-to-end cyclustijd voor de cashconversiecyclus. Vindplaats Afgeleid van het veld 'Status' van het factuurrecord dat verandert naar 'Volledig Betaald'. De timestamp van deze statuswijziging is beschikbaar in de systeemnotities van de transactie. Vastleggen Afgeleid van de wijziging in het veld 'Status' naar 'Volledig Betaald' in systeemnotities. Gebeurtenistype inferred | |||
| Klantbetaling Ontvangen | Een betaling is ontvangen van de klant en vastgelegd in het systeem. Dit wordt vastgelegd door de aanmaak van een 'Klant Payment' transactie in NetSuite, die kan worden toegepast op één of meerdere facturen. | ||
| Het belang Markeert de ontvangst van contant geld, maar niet noodzakelijkerwijs de toepassing ervan op een specifieke factuur. Het is de eerste stap in het kasapplicatieproces en een belangrijke gebeurtenis voor DSO-berekeningen. Vindplaats Vastgelegd vanaf de aanmaakdatum van het 'Klant Payment' transacpakketecord. De koppeling met de factuur wordt gemaakt op het 'Apply' subtabblad van de betaling. Vastleggen Aanmaak van een Klant Payment transacpakketecord. Gebeurtenistype explicit | |||
| Betaling Toegepast op Factuur | De ontvangen klantenbetaling is specifiek op deze factuur toegepast, waardoor het openstaande bedrag wordt verminderd. Dit wordt vastgelegd wanneer de applicatie wordt opgeslagen in de Klantenbetalingsrecord. | ||
| Het belang Dit is de belangrijke link tussen kasontvangst en factuurafwikkeling. De duur van 'Betaling Ontvangen' tot deze gebeurtenis definieert de KPI 'Cash Application Cyclustijd'. Vindplaats Vastgelegd vanuit de systeemnotities of audittrail van de Klant Payment transactie, specifiek wanneer de toepassing op de factuurregel wordt opgeslagen. De timestamp van deze toepassing is belangrijk. Vastleggen Vastgelegd wanneer het Klant Payment record wordt opgeslagen met een toepassing op de factuur. Gebeurtenistype explicit | |||
| Betalingsherinnering verzonden | Er is een communicatie naar de klant gestuurd betreffende een openstaande betaling. Dit wordt vastgelegd als een activiteit of e-mail verzonden vanuit het factuur- of klantrecord, vaak door een aanmaningsoplossing. | ||
| Het belang Essentieel voor het ewaarderen van de effectiviteit van incassostrategieën. Het analyseren van de impact van deze activiteit op daaropvolgende betalingen helpt de frequentie en timing van herinneringen te optimaliseren. Vindplaats Vastgelegd vanuit de aanmaak van een e-mailrecord op het subtabblad Communicatie > Berichten van het Factuur- of Klantrecord. Geautomatiseerde aanmaningsoplossingen kunnen deze ook vastleggen als aangepaste records of taken. Vastleggen Vastgelegd als een e-mail- of activiteitsrecord gekoppeld aan de factuur. Gebeurtenistype explicit | |||
| Creditnota aangemaakt | Een creditnotatransactie is aangemaakt en toegepast op de factuur, waardoor het openstaande saldo is verlaagd. Dit duidt doorgaans op een productretour, serviceklacht of prijscorrectie. | ||
| Het belang Markeert rework, kwaliteitsproblemen of klantgeschillen. Frequente voorvallen kunnen duiden op onderliggende problemen en zijn belangrijk voor het dashboard 'Analyse van Factuurrework en Afwijzingen'. Vindplaats Vastgelegd vanaf de aanmaak van een creditnotatransactie. De link naar de oorspronkelijke factuur is te vinden in het veld 'Gemaakt van' of op het 'Toepassen' subtabblad van de creditnota. Vastleggen Aanmaak van een creditnotarecord gekoppeld aan de oorspronkelijke factuur. Gebeurtenistype explicit | |||
| Factuur afgesloten | De factuurtransactie is afgesloten, vaak als onderdeel van een afsluitingsproces aan het einde van een periode. Deze actie voorkomt verdere wijzigingen aan de transactie nadat deze volledig is betaald en afgestemd. | ||
| Het belang Hoewel vaak optredend na 'Volledig Betaald', kan dit een laatste administratieve stap zijn. Het analyseren van vertragingen tussen betaling en afsluiting kan van invloed zijn op de tijdigheid van financiële rapportage. Vindplaats Afgeleid van het veld 'Status' dat verandert naar 'Gesloten' of een vergelijkbare status. De timestamp voor deze wijziging wordt vastgelegd vanuit de systeemnotities. Vastleggen Afgeleid van de wijziging in het veld 'Status' in systeemnotities. Gebeurtenistype inferred | |||
| Factuur ongeldig verklaard | De factuur is geannuleerd, waardoor deze effectief wordt geannuleerd en eventuele impact op het grootboek wordt teruggedraaid. Deze actie wordt meestal ondernomen voor facturen die per abuis zijn aangemaakt voordat ze zijn betaald. | ||
| Het belang Vertegenwoordigt een procesuitzondering en een eindstatus. Begrijpen waarom facturen worden geannuleerd kan invoerfouten of procesfouten inzichtelijk maken die stroomopwaarts moeten worden gecorrigeerd. Vindplaats Dit is een expliciete gebruikersactie. Het kan worden vastgelegd vanuit de systeemnotities voor de factuurrecord, die vastlegt wanneer de transactie werd geannuleerd en door wie. Vastleggen Expliciete 'Ongeldig'-actie vastgelegd in de systeemnotities van de factuur. Gebeurtenistype explicit | |||
| Factuur ter goedkeuring ingediend | Vertegenwoordigt de statusverandering van de factuur naar 'In Afwachting van Goedkeuring'. Deze gebeurtenis wordt vastgelegd wanneer een gebruiker de factuur indient in een geconfigureerde goedkeuringsworkflow, wat een veelvoorkomende aanpassing is. | ||
| Het belang Deze activiteit identificeert het begin van een potentieel goedkeuringsknelpunt. De tijd die wordt besteed aan het wachten op goedkeuring is een belangrijk onderdeel van de totale factuurverwerkingscyclustijd. Vindplaats Afgeleid van het veld 'Approval Status' op het factuurrecord dat verandert naar 'Wacht op Goedkeuring'. De timestamp voor deze wijziging is te vinden in de audittrail van de systeemnotities voor de factuur. Vastleggen Afgeleid van de wijziging in het veld 'Approval Status' zoals vastgelegd in systeemnotities. Gebeurtenistype inferred | |||
| Vervaldatum betaling bereikt | Een berekende gebeurtenis die optreedt wanneer de huidige datum overeenkomt met de vervaldatum van de factuur. Deze gebeurtenis komt niet overeen met een directe gebruikers- of systeemactie, maar wordt afgeleid uit bestaande data tijdens analyse. | ||
| Het belang Dient als een belangrijke benchmark voor het meten van de tijdigheid van betalingen. Het is belangrijk voor het berekenen van de 'On-Time Payment Rate' KPI en het analyseren van klantbetaalgedrag. Vindplaats Dit is geen expliciete gebeurtenis in NetSuite. Het wordt berekend door de timestamp van de event log te vergelijken met het veld 'Uiterste Betaaldatum' op de Factuurtransacpakketecord. Vastleggen Berekend wanneer de gebeurtenis timestamp gelijk is aan het veld 'Due Date' op de factuur. Gebeurtenistype calculated | |||
Extractiegidsen
Stappen
- Log in bij NetSuite: Krijg toegang tot uw NetSuite-account met een rol die voldoende machtigingen heeft om Saved Searches op transacpakketecords te creëren en uit te voeren.
- Navigeer naar Saved Searches: Ga naar Rapporten > Saved Searches > Alle Saved Searches > Nieuw. Selecteer 'Transaction' uit de lijst met zoektypes. Dit zal de basis vormen voor het creëren van meerdere zoekopdrachten, één voor elk gebeurtenistype.
- Creëer de 'Invoice Created' Zoekopdracht: Dit is de primaire zoekopdracht die de aanmaak van facturen vastlegt.
- Op het tabblad 'Criteria', onder 'Standaard', stelt u het 'Type' filter in op 'is Factuur'.
- Voeg nog een filter toe voor 'Hoofdregel' en stel deze in op 'is true' om één record per factuur te verkrijgen.
- Op het tabblad 'Resultaten' voegt u de vereiste kolommen toe. Gebruik formules om gestandaardiseerde velden zoals 'ActiviteitNaam' te creëren. Voeg bijvoorbeeld een 'Formule (Tekst)' veld toe met de formule
_UTF8'Invoice Created'.
- Creëer Zoekopdrachten voor Statuswijzigingen (Goedkeuring, Betaald, Ongeldig, Gesloten): Veel activiteiten zijn statuswijzigingen. De meest betrouwbare manier om de exacte timestamp vast te leggen is via Systeemnotities.
- Creëer een nieuwe Transaction Saved Search.
- Op het tabblad 'Criteria', stelt u 'Type' in op 'is Factuur'.
- Onder het subtabblad 'Standaard' voegt u het filter 'Systeemnotities: Veld' toe en selecteert u het relevante statusveld, bijvoorbeeld 'Goedkeuringsstatus'.
- Voeg nog een filter toe 'Systeemnotities: Nieuwe Waarde' en stel deze in op de doelstatus, bijvoorbeeld 'Goedgekeurd'.
- Op het tabblad 'Resultaten' koppelt u 'Systeemnotities: Datum' aan
EventTimestampen 'Systeemnotities: Ingesteld door' aanGebruiker. - Herhaal dit proces voor elke statusgebaseerde activiteit: 'Factuur Ingediend voor Goedkeuring', 'Factuur Goedgekeurd', 'Factuur Volledig Betaald', 'Factuur Ongeldig Gemaakt' en 'Factuur Gesloten', en pas de veld- en waardefilters dienovereenkomstig aan.
- Creëer de 'Invoice Sent to Klant' Zoekopdracht: Deze gebeurtenis wordt doorgaans vastgelegd door e-mailberichten te volgen die vanuit het factuurrecord zijn verzonden.
- Creëer een nieuwe Transaction Saved Search met 'Type' ingesteld op 'is Factuur'.
- Op het tabblad 'Criteria', onder 'Gerelateerde Records', voegt u een filter toe voor 'Berichten: Datum Verzonden' en stelt u deze in op 'is niet leeg'.
- Op het tabblad 'Resultaten' koppelt u 'Berichten: Datum Verzonden' aan
EventTimestampen 'Berichten: Auteur' aanGebruiker.
- Creëer Zoekopdrachten voor Betalings- en Creditnota-activiteiten: Deze omvatten afzonderlijke transactietypes die aan de factuur zijn gekoppeld.
- Voor 'Klantbetaling Ontvangen', creëer een zoekopdracht voor 'Type' is 'Klantbetaling'. Leg de aanmaakdatum vast als de gebeurtenistimestamp.
- Voor 'Betaling Toegepast op Factuur', gebruikt u dezelfde 'Klantbetaling'-zoekopdracht, maar koppelt u deze aan de 'Toegepast op Transactie'-velden. De 'Datum Aanmaak' van de betaaltransactie dient als de timestamp. U krijgt één rij per factuurtoepassing.
- Voor 'Creditnota Aangemaakt', creëer een zoekopdracht voor 'Type' is 'Creditnota' en link naar het veld 'Gemaakt van' om het oorspronkelijke factuurnummer te verkrijgen.
- Voer elke Saved Search uit en Exporteer: Voer elke gecreëerde Saved Search uit. Klik vanaf de resultatenpagina op het exportpictogram (CSV, Excel of PDF) en kies CSV. Mogelijk moet u in batches exporteren als de resultaatset groter is dan uw NetSuite-exportlimiet.
- Combineer en Transformeer Data: Consolideer alle geëxporteerde CSV-bestanden tot één bestand met behulp van een tool zoals Microsoft Excel, een Python-script of een data-voorbereidingstool.
- Leid de 'vervaldatum Bereikt' Gebeurtenis af: Maak in uw gecombineerde databestand, voor elke 'Factuur Aangemaakt'-gebeurtenis, een nieuwe rij aan. Stel de
ActiviteitNaamin op 'vervaldatum Bereikt', deEventTimestampop de waarde uit hetDueDate-veld van de factuur, en kopieer de andere relevante factuurattributen. - Finaliseer de Event Log: Standaardiseer alle kolomkoppen om overeen te komen met het vereiste schema (bijv.
InvoiceNumber,ActiviteitNaam,EventTimestamp). Zorg ervoor dat de timestamp-formaten consistent zijn. Voeg de kolommenBronsysteemenLastDataUpdatetoe met statische waarden voor deze extractiebatch. Sla het uiteindelijke geconsolideerde bestand op als een CSV voor upload.
Configuratie
- Verplichten: Een gebruikersrol met machtigingen om 'Transaction' type Saved Searches aan te maken, te bewerken en uit te voeren, is vereist. Toegang tot het bekijken van records voor Factuur, Klantbetaling, Creditnota en Systeemnotities is ook noodzakelijk.
- Zoektype: Het primaire zoektype dat voor alle extracties wordt gebruikt, is 'Transaction'. Dit type biedt toegang tot alle benodigde records en hun relaties.
- Datumbereik Filteren: Om de prestaties en het datavolume te beheren, past u een datumbereikfilter toe op elke zoekopdracht. Een filter op 'Datum Aanmaak' voor een periode van de afgelopen 3 tot 6 maanden wordt aanbevolen voor de initiële analyse.
- Hoofdregel Filter: Gebruik de 'Hoofdregel'-criteria ingesteld op 'true' voor gebeurtenissen op documentkopniveau, zoals 'Factuur Aangemaakt'. Stel het in op 'false' wanneer u details van afzonderlijke regels wilt analyseren, wat voor dit proces niet vereist is.
- Systeemnotities: Het vastleggen van statuswijzigingen is sterk afhankelijk van Systeemnotities. Zorg ervoor dat auditing is ingeschakeld voor belangrijke transactievelden zoals 'Status' en 'Goedkeuringsstatus' in uw NetSuite-configuratie (Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail).
- Prestatieoverwegingen: Complexe zoekopdrachten met veel joins en formulevelden over een groot datumbereik kunnen langzaam zijn in de NetSuite UI. Het is raadzaam om deze zoekopdrachten buiten piekuren uit te voeren en te exporteren. Als een zoekopdracht time-out, verklein dan het datumbereik en exporteer de data in kleinere batches.
a Voorbeeldquery config
/*
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.
*/ Stappen
- Verplichte: Schakel SuiteAnalytics Connect in: Zorg ervoor dat de SuiteAnalytics Connect module is gelicentieerd en ingeschakeld in uw NetSuite-instantie. Dit wordt doorgaans gedaan door een NetSuite-beheerder onder Setup > Company > Enable Features > Analytics.
- Download en Configureer ODBC Driver: Navigeer naar het NetSuite-startdashboard en zoek de 'Instellingen'-portlet. Klik op de link 'SuiteAnalytics Connect instellen' om de juiste ODBC driver voor uw besturingssysteem te downloaden. Volg de installatie-instructies van NetSuite om de driver te installeren en te configureren, waarbij u uw service host, poort, Account ID, Role ID, e-mail en wachtwoord opgeeft.
- Databaseverbinding tot stand brengen: Gebruik een SQL client tool die ODBC-verbindingen ondersteunt, zoals DBeaver, Tableau of Power BI. Maak een nieuwe ODBC-verbinding aan met behulp van de driver die u in de vorige stap hebt geconfigureerd. Test de verbinding om er zeker van te zijn dat u succesvol kunt authenticeren en toegang krijgt tot de NetSuite read-replica database.
- SQL Query voorbereiden: Kopieer de complete SQL query die wordt geleverd in de sectie 'Query' van dit document. Deze query is ontworpen om alle vereiste activiteiten en attributen voor het Order tot betaling facturatieproces te extraheren.
- Query Parameters instellen: Zoek voordat u de query uitvoert de placeholderwaarden binnen de query. U moet
'JJJJ-MM-DD'vervangen door de gewenste start- en einddatums voor de extractieperiode. Vervang ook[Uw Dochteronderneming ID]door het interne ID van de NetSuite-dochteronderneming die u wilt analyseren. - Query uitvoeren: Voer de gewijzigde query uit in uw SQL client. De uitvoeringstijd zal variëren afhankelijk van het datumbereik en het volume van de transacties in uw NetSuite-account.
- Resultaten bekijken: Zodra de query is voltooid, wordt een platte tabel met de event log geretourneerd. Elke rij komt overeen met een specifieke activiteit in de factuurlevenscyclus. Controleer de data op volledigheid en nauwkeurigheid.
- Event Log exporteren: Exporteer de queryresultaten vanuit uw SQL client naar een CSV-bestand. Zorg ervoor dat het bestand UTF-8 gecodeerd is om karakterproblemen te voorkomen.
- Voorbereiden voor upload: Bevestig voordat u uploadt naar een process mining-tool dat de kolomkoppen overeenkomen met de vereiste attributen, zoals InvoiceNumber, ActiviteitNaam en EventTimestamp. Controleer of de datum- en tijdformaten consistent zijn.
Configuratie
- SuiteAnalytics Connect Licentie: Een geldige licentie voor de SuiteAnalytics Connect module is verplicht om toegang te krijgen tot de NetSuite read-replica database. Zonder deze is directe SQL-toegang niet mogelijk.
- Toegewijde Rol en Gebruiker: Het wordt sterk aanbevolen om een toegewijde NetSuite Rol aan te maken met de juiste machtigingen voor SuiteAnalytics Connect. Deze rol dient alleen-lezen toegang te hebben tot de benodigde records, inclusief Transacties, Klanten en Systeemnotities. Wijs een toegewijde gebruiker toe aan deze rol voor de extractie om de veiligheid en traceerbaarheid te waarborgen.
- Datumbereik Filteren: De meegeleverde query bevat een
WHEREclausule op de factuur aanmaakdatum (Transaction.TRANDATE). Voor initiële extracties is het raadzaam om te beginnen met een kleiner datumbereik, zoals de laatste 3 tot 6 maanden, om de prestaties en het datavolume te beheren. Bijvoorbeeld:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'. - Dochteronderneming Filteren: Voor accounts met meerdere dochterondernemingen is filteren op de specifieke dochteronderneming belangrijk voor zowel prestaties als datarelevantie. De query bevat een placeholder
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID]die geconfigureerd moet worden. - Data Actualiteit: De SuiteAnalytics Connect database is een read-replica. Data wordt doorgaans meerdere keren per uur ververst, maar is niet real-time. Houd rekening met een mogelijke vertraging van maximaal enkele uren tussen het plaatsvinden van een transactie in NetSuite en de verschijning ervan in de Connect database.
a Voorbeeldquery 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');