Uw Order to Cash - Facturatie Data Template
NetSuiteUw Order to Cash - Facturatie Data Template
- Aanbevolen attributen om vast te leggen
- Belangrijkste activiteiten om te volgen
- Richtlijnen voor data-extractie uit NetSuite
Order to Cash - Facturatie en Debiteurenbeheer Attributen
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de business event die plaatsvond op een specifiek punt in de factuurlevenscyclus. | ||
| Omschrijving De Activiteitsnaam beschrijft een specifieke stap of event binnen het facturatieproces, zoals 'Factuur Gecreëerd', 'Factuur Goedgekeurd' of 'Klantenbetaling Ontvangen'. Deze activiteiten vormen de sequentiële bouwstenen van de proceskaart. Het analyseren van de volgorde en frequentie van deze activiteiten is fundamenteel voor process mining. Het helpt de daadwerkelijke procesflow te visualiseren, veelvoorkomende en zeldzame procespaden (varianten) te identificeren, en activiteiten aan te wijzen die frequent worden herhaald, wat duidt op herhaalwerk of inefficiëntie. Het belang Dit attribute is fundamenteel voor het construeren van de proceskaart, waardoor de visualisatie en analyse van de verschillende stappen en paden die een factuur doorloopt mogelijk wordt. 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 identifier voor elk factuurdocument, dienend als de primaire case-identifier voor het facturatieproces. | ||
| Omschrijving Het Factuurnummer is de hoeksteen van 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 uitgebreide blik op de gehele facturatielevenscyclus mogelijk. Dit maakt de identificatie mogelijk van procesvarianten, knelpunten en afwijkingen van de standaardprocedure, en biedt cruciale inzichten voor het optimaliseren van cashflow en operationele efficiëntie. Het belang Het is essentieel voor het volgen van de end-to-end levenscyclus van elke factuur, waardoor de reconstructie van het gehele facturatieproces en gedetailleerde prestatieanalyse mogelijk wordt. Vindplaats Dit is doorgaans de 'Transactie ID' of een vergelijkbaar uniek identifier field op de Factuurtransactierecord in NetSuite. Voorbeelden INV-0012345INV-0012346INV-0012347 | |||
| Gebeurtenistijdstempel EventTimestamp | De exacte datum en tijd waarop een specifieke activiteit of gebeurtenis plaatsvond. | ||
| Omschrijving Dit attribute registreert het exacte moment waarop een activiteit plaatsvond. Het is een kritiek onderdeel voor het chronologisch ordenen van events en voor alle tijdsgebonden analyses. Binnen process mining wordt de Event Timestamp gebruikt om cyclustijden tussen activiteiten, case-duren en wachttijden te berekenen. Het is essentieel voor het identificeren van knelpunten, het meten van procesprestaties tegen SLA's en het begrijpen van de temporele dynamiek 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 essentieel is voor het berekenen van alle op duur gebaseerde metrics, het identificeren 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' fields 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 geëxtraheerd. | ||
| Omschrijving Dit attribute 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 attribute cruciaal 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 systeem van record. Het belang Het biedt cruciale context voor dataherkomst en -governance, vooral in omgevingen waar meerdere systemen geïntegreerd kunnen zijn. Vindplaats Dit is een Voorbeelden `NetSuite` | |||
| Laatste data-update LastDataUpdate | De `timestamp` die de laatste keer aangeeft dat de `data` is ververst vanuit het bronsysteem. | ||
| Omschrijving Dit attribute registreert wanneer de dataset voor het laatst is bijgewerkt. Het biedt context voor de actualiteit 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 cruciaal 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 informeert gebruikers over de actualiteit 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 pipeline op het moment van de data refresh. Voorbeelden 2024-05-21T02:00:00Z | |||
| Eindtijd van het event EventEndTime | De exacte datum en tijd waarop een specifieke activiteit of event 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 attribute, in combinatie met de Event Timestamp (StartTijd), maakt de directe berekening van de verwerkingstijd van activiteiten mogelijk. Het analyseren van de verwerkingstijd helpt te identificeren welke specifieke stappen de meeste tijd en middelen verbruiken, waarbij het onderscheid wordt gemaakt tussen wachttijd tussen activiteiten. Dit is cruciaal voor het aanwijzen van inefficiënties binnen specifieke taken. Het belang Het maakt de precieze berekening mogelijk van hoe lang elke activiteit duurt om te voltooien, wat essentieel is voor het analyseren van resource-efficiëntie en het identificeren van tijdrovende taken. Vindplaats Vergelijkbaar met StartTijd, kan dit worden gehaald uit systeem-auditsporen in NetSuite. Het kan logica vereisen om een 'start' event te koppelen aan een corresponderende 'end' event. 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 met betrekking tot 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 metrics zoals Days Sales Outstanding (DSO) en factuurveroudering, wat de werkkapitaalanalyse direct beïnvloedt. Vindplaats Dit komt overeen met het 'Datum' (trandate) field op de Factuurtransactierecord in NetSuite. Voorbeelden 2023-10-262023-10-272023-11-15 | |||
| Gebruiker User | De naam of `ID` van de `user` die de `activity` uitvoerde. | ||
| Omschrijving Dit attribute 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 identificeren 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 cruciaal voor compliance en audit trail analyse. Het belang Het maakt analyse van werkdrukverdeling, gebruikersspecifieke prestaties en procesnaleving mogelijk, wat vitaal is voor resourcebeheer en gerichte training. Vindplaats Beschikbaar in de subtab Systeemnotities of specifieke 'Gewijzigd door'-velden op Factuur en gerelateerde transactierecords 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 attribute maakt onderscheid tussen activiteiten die handmatig door een gebruiker worden uitgevoerd en activiteiten die automatisch worden uitgevoerd door een systeemworkflow, script of integratie. Dit attribute is cruciaal voor het meten van het automatiseringsniveau in het facturatieproces, en ondersteunt direct de KPI 'Geautomatiseerde Facturatieratio'. Door te filteren op geautomatiseerde of handmatige activiteiten kunnen analisten knelpunten identificeren die worden veroorzaakt door handmatige interventie en kansen aanwijzen 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 attribute 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 identificeren van patronen in betalingsgedrag, geschillen of factuurcomplexiteit voor specifieke cliënten. Dit kan informeren over klantsegmentatiestrategieën, kredietlimietbeslissingen en op maat gemaakte incassobenaderingen. Het kan bijvoorbeeld onthullen of een bepaalde klant consistent facturen heeft die herhaalwerk vereisen. Het belang Het maakt klantgerichte analyse mogelijk, wat helpt bij het identificeren van betaalpatronen, veelvoorkomende problemen of procesafwijkingen specifiek voor bepaalde klanten. Vindplaats Dit komt overeen met het 'Klant' of 'Entiteit' naam field op de Factuurtransactierecord in NetSuite. Voorbeelden Global Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| Regio Region | De geografische regio die geassocieerd wordt met de klant of transactie. | ||
| Omschrijving Het Region attribute classificeert facturen op basis van geografie, wat kan worden afgeleid van het adres van de klant of de business unit die de factuur heeft uitgegeven. Dit is een krachtige dimensie voor vergelijkende analyse. Het dashboard 'Regionale Facturatieprocesvergelijking' vertrouwt op dit attribute om KPI's zoals cyclustijden, foutenpercentages en procesvarianten in verschillende regio's te vergelijken. Dit helpt bij het identificeren 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 cruciaal is voor het identificeren van regionale prestatieverschillen en het standaardiseren van best practices. Vindplaats Deze data wordt vaak opgeslagen in een aangepast segment of classificatie field op de klant master of transactierecord in NetSuite. Voorbeelden Noord-AmerikaEMEAAPAC | |||
| Totaal Factuurbedrag InvoiceTotalAmount | De totale monetaire waarde van de factuur, inclusief belastingen en andere kosten. | ||
| Omschrijving Dit attribute 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 onthullen of facturen met hoge waarde een ander, complexer proces volgen dan die met lage waarde. Het wordt ook gebruikt om incassoinspanningen te prioriteren en de financiële impact van betalingsvertragingen of factuurfouten te begrijpen. Het belang Het maakt waardegedreven procesanalyse mogelijk, wat helpt bij het prioriteren van facturen met hoge waarde en het begrijpen van de financiële impact van procesinefficiënties. Vindplaats Dit komt overeen met het 'Totaal' (total) field op de Factuurtransactierecord 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 attribute is essentieel 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 identificeren van klanten die frequent te laat betalen en het beoordelen van de effectiviteit van incassostrategieën. Het belang Het is cruciaal 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) field op de Factuurtransactierecord in NetSuite. Voorbeelden 2023-11-252023-11-262023-12-15 | |||
| Activiteitsverwerkingstijd ActivityProcessingTime | De duur die actief is besteed aan een specifieke activity. | ||
| Omschrijving Deze berekende metric meet de verstreken tijd tussen de start- en eind timestamp van een enkele activiteit. Het vertegenwoordigt de werkelijke werkduur, in tegenstelling tot wachttijd tussen activiteiten. Dit is een kritieke metric voor het dashboard 'Activiteitsdoorvoer & Knelpunten'. Door verwerkingstijden te analyseren, kunnen teams identificeren welke specifieke taken het meest tijdrovend en resource-intensief zijn. Dit maakt gerichte verbeteringen mogelijk, zoals het bieden van betere training, het verbeteren van systeemprestaties of het automatiseren van de taak. Het belang Het kwantificeert de daadwerkelijke inspanning voor elke taak, waardoor actieve werktijd kan worden onderscheiden van inactieve wachttijd en inefficiënte activiteiten kunnen worden aangewezen. Vindplaats Berekend door de EventTimestamp (StartTime) af te trekken van de EventEndTime voor elk activiteitsrecord. Voorbeelden 300601200 | |||
| Afdeling Department | De interne afdeling waaraan de factuur is gekoppeld. | ||
| Omschrijving Dit attribute 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 identificeren of bepaalde afdelingen efficiëntere facturatieprocessen hebben dan andere. Het kan variaties in procesnaleving of resource-allocatie aan het licht brengen, 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 field '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 cruciaal voor het dashboard 'Naleving Betalingstermijnen'. Het analyseren van percentages tijdige betalingen per verschillende betalingstermijnen helpt de effectiviteit ervan te evalueren. Zo kan het bijvoorbeeld aantonen of klanten met 'Net 15'-termijnen sneller betalen dan die met 'Net 30', wat toekomstige contractonderhandelingen en kredietbeleid informeert. Het belang Het is essentieel voor het analyseren van de effectiviteit van verschillende betalingsvoorwaarden en hun impact op de tijdigheid van klantbetalingen. Vindplaats Dit komt overeen met het 'Termijnen' field op de Factuurtransactierecord in NetSuite. Voorbeelden Netto 30Netto 60Verschuldigd bij ontvangst | |||
| Debiteurendagen 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 metric 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 identificeren welke klanten, regio's of factuurtypes de hoogste DSO hebben. Het 'DSO Trend' dashboard vertrouwt op deze metric om de incassoefficiëntie over tijd te visualiseren, wat cruciale 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 wordt. Vindplaats Berekend door de 'InvoiceDate' af te trekken van de timestamp van de activiteit 'Customer Payment Received'. Voorbeelden 294562 | |||
| Factuurstatus InvoiceStatus | De huidige status van de invoice in zijn lifecycle. | ||
| Omschrijving Dit attribute 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 attribute. 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' field op de Factuurtransactierecord in NetSuite. Voorbeelden OpenVolledig betaaldGeannuleerdIn afwachting van goedkeuring | |||
| Is herstelwerk IsRework | Een berekende indicator die activiteiten identificeert die worden beschouwd als herwerk- of correctielussen. | ||
| Omschrijving Deze boolean flag is ingesteld op true voor activiteiten die niet-waardetoevoegend herhaalwerk vertegenwoordigen, zoals 'Factuur Gecorrigeerd' of een tweede 'Factuur Goedgekeurd' event binnen dezelfde case. Het wordt doorgaans afgeleid op basis van de activiteitsnaam of de herhaling van een activiteit. Dit attribute is essentieel 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 identificeren en de impact van procesverbeteringsinitiatieven meten. Het belang Het meet direct de proceskwaliteit door inefficiënte herwerklussen te markeren, waardoor analyse van de grondoorzaken en de financiële impact van facturatiefouten mogelijk wordt. Vindplaats Dit is een afgeleid attribute berekend tijdens data-transformatie. Logica wordt toegepast om herhaalwerk te identificeren, 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 flag 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 attribute 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 identificeren en de effectiviteit van incassostrategieën te beoordelen. Het belang Dit biedt een duidelijke succes metric voor incasso's, wat direct de berekening van de KPI 'Percentage Tijdige Betalingen' en de analyse van klantgedrag ondersteunt. Vindplaats Dit is een berekend attribute. Het vereist het vergelijken van de timestamp van de betalings event met het 'Uiterste Betaaldatum' attribute op case-niveau. Voorbeelden truefalse | |||
| Valuta Currency | De valutacode voor het factuurbedrag. | ||
| Omschrijving Dit attribute specificeert de valuta waarin het factuurbedrag is uitgedrukt, bijvoorbeeld USD, EUR of GBP. Het is essentiële context voor alle monetaire waarden. Voor multinationale organisaties is analyse per valuta belangrijk voor het begrijpen van financiële prestaties over verschillende markten heen. Het zorgt ervoor dat monetaire 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 monetaire waarden, wat cruciaal is voor nauwkeurige financiële rapportage en analyse, vooral in multinationale operaties. Vindplaats Dit komt overeen met het 'Valuta' field op de Factuurtransactierecord in NetSuite. Voorbeelden USDEURGBP | |||
| Verkoopordernummer SalesOrderNumber | De identifier van de verkooporder waaruit de factuur is gegenereerd. | ||
| Omschrijving Dit attribute 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 holistische kijk 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 identificeren. 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 to Cash - Facturatie en Debiteurenbeheer Activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Factuur aangemaakt | Markeert de officiële aanmaak van het factuurtransactierecord 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 event voor het facturatieproces. Het analyseren van de tijd vanaf deze event 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 Factuurtransactierecord. NetSuite's systeemnotities voor de factuur leggen ook expliciet de aanmaakgebeurtenis en gebruiker vast. Vastleggen Gebeurtenis vastgelegd bij de aanmaak van het Factuurtransactierecord. 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 cruciaal 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 event 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 communicatierecord. 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 incassocyclus voor de factuur. | ||
| Het belang Dit is de primaire succesvolle eind event 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 'Customer 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 'Customer Payment' transactierecord. De koppeling met de factuur wordt gemaakt op het 'Apply' subtabblad van de betaling. Vastleggen Aanmaak van een Customer Payment transactierecord. 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 cruciale link tussen kasontvangst en factuurafwikkeling. De duur van 'Betaling Ontvangen' tot deze event definieert de KPI 'Cash Application Cyclustijd'. Vindplaats Vastgelegd vanuit de systeemnotities of audittrail van de Customer Payment transactie, specifiek wanneer de toepassing op de factuurregel wordt opgeslagen. De timestamp van deze toepassing is cruciaal. Vastleggen Vastgelegd wanneer het Customer 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 evalueren 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 herwerk, kwaliteitsproblemen of klantgeschillen. Frequente voorvallen kunnen duiden op onderliggende problemen en zijn cruciaal voor het dashboard 'Analyse van Factuurherwerk 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 aan het licht brengen 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 event 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 cruciale benchmark voor het meten van de tijdigheid van betalingen. Het is essentieel voor het berekenen van de 'On-Time Payment Rate' KPI en het analyseren van klantbetaalgedrag. Vindplaats Dit is geen expliciete event in NetSuite. Het wordt berekend door de timestamp van de event log te vergelijken met het field 'Uiterste Betaaldatum' op de Factuurtransactierecord. Vastleggen Berekend wanneer de event timestamp gelijk is aan het veld 'Due Date' op de factuur. Gebeurtenistype calculated | |||
Extractie Guides
Stappen
- Log in bij NetSuite: Krijg toegang tot uw NetSuite-account met een rol die voldoende machtigingen heeft om Saved Searches op transactierecords 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 'ActivityName' 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' aanUser. - 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 Customer' 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' aanUser.
- 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 Betaling Bereikt' Gebeurtenis af: Maak in uw gecombineerde databestand, voor elke 'Factuur Aangemaakt'-gebeurtenis, een nieuwe rij aan. Stel de
ActivityNamein op 'Vervaldatum Betaling 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,ActivityName,EventTimestamp). Zorg ervoor dat de timestamp-formaten consistent zijn. Voeg de kolommenSourceSystemenLastDataUpdatetoe met statische waarden voor deze extractiebatch. Sla het uiteindelijke geconsolideerde bestand op als een CSV voor upload.
Configuratie
- Vereisten: 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
- Vereiste: 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 to Cash 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, ActivityName 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 cruciaal 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');