Datatemplate voor Order to Cash - Sales Order Processing
Datatemplate voor Order to Cash - Sales Order Processing
- Aanbevolen attributen om te verzamelen
- Belangrijke activiteiten om te volgen
- Data ophalen uit Salesforce Sales Cloud
Attributen voor Order to Cash - Sales Order Processing
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de specifieke bedrijfsgebeurtenis of taak die tijdens de levenscyclus van de verkooporder heeft plaatsgevonden. | ||
| Beschrijving De activiteitsnaam beschrijft een stap in het verkooporderproces, zoals 'Verkooporder aangemaakt', 'Kredietcontrole uitgevoerd' of 'Factuur verzonden'. Deze activiteiten vormen de bouwstenen van de proceskaart en zijn afgeleid van systeemgebeurtenissen, statuswijzigingen of voltooide taken. Door deze activiteiten te analyseren, kun je de processtroom in beeld brengen, veelvoorkomende routes (varianten) herkennen en de frequentie en duur van elke stap meten. Zo zie je wat er in het proces gebeurt. Waarom dit belangrijk is Dit attribuut bepaalt welke stappen op de proceskaart staan. Zonder dit attribuut kun je de processtroom niet in beeld brengen of analyseren hoe verkooporders in de praktijk worden afgehandeld. Waar vind je dit? Meestal afgeleid uit statuswijzigingen in het veld 'Order.Status', de aanmaak van bijbehorende records (bijvoorbeeld Invoice) of voltooide records van het type 'Task' of 'Event' die aan de order zijn gekoppeld. Voorbeelden Verkooporder aangemaaktVerkooporder goedgekeurdGoederen verzondenBetaling ontvangen | |||
| Tijdstip van gebeurtenis EventTime | De exacte datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving De tijd van de gebeurtenis, of timestamp, legt het exacte moment vast waarop een activiteit plaatsvond. Deze data is nodig om gebeurtenissen in de juiste volgorde te zetten en de tijd tussen activiteiten te berekenen. Dat vormt de basis van alle tijdsanalyses met process mining. Met dit attribuut orden je de activiteiten per case, bereken je doorlooptijden en wachttijden en analyseer je de procesprestaties over verschillende perioden. Ontbrekende of onjuiste timestamps kunnen de bruikbaarheid van de analyse sterk beperken. Waarom dit belangrijk is Timestamps zijn nodig om gebeurtenissen chronologisch te ordenen en prestatiemaatstaven zoals doorlooptijden en bottlenecks te berekenen. Waar vind je dit? Komt overeen met velden zoals 'CreatedDate' of 'LastModifiedDate' van het object 'Order' of bijbehorende records. Voor specifieke gebeurtenissen kan de voltooiingsdatum van een record 'Task' worden gebruikt. Voorbeelden 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:00:00Z | |||
| Verkooporder SalesOrderId | De unieke identificatiecode van elke verkooporder. Deze dient als de belangrijkste case om het volledige proces van order tot betaling te volgen. | ||
| Beschrijving De verkooporder-ID vormt de basis van de procesanalyse. Deze code identificeert elke klantorder uniek terwijl die de verschillende processtappen doorloopt. De code koppelt alle bijbehorende activiteiten, van aanmaak en goedkeuring tot afhandeling en betaling. Bij process mining wordt elke gebeurtenis voor een specifieke order aan deze ID gekoppeld. Zo kun je het volledige verloop van de order reconstrueren en de doorlooptijden, procesvarianten en bottlenecks per order analyseren. Waarom dit belangrijk is Dit attribuut is nodig om alle bijbehorende gebeurtenissen in één case te groeperen. Zo kun je de volledige processtroom van elke verkooporder in beeld brengen en analyseren. Waar vind je dit? Dit is het veld 'Id' van het standaard Salesforce-object 'Order'. Voorbeelden 8018d000000XwPBAA08018d000000Y1qCAAS8018d000000Z3kDAB1 | |||
| Bronsysteem SourceSystem | Geeft aan uit welk systeem de data is opgehaald. | ||
| Beschrijving Dit attribuut geeft aan waar de procesdata vandaan komt. Voor deze analyse is dat steeds 'Salesforce Sales Cloud'. In omgevingen met meerdere systemen is dit veld belangrijk om de herkomst van data te volgen en problemen op te lossen. Ook bij één systeem geeft het nuttige informatie over de herkomst van de data. Waarom dit belangrijk is Geeft belangrijke context over de herkomst van de data. Dat is van belang voor datagovernance en wanneer je data uit meerdere bronsystemen combineert. Waar vind je dit? Dit is meestal een vaste waarde die tijdens het ophalen van de data wordt toegevoegd om de dataset te labelen. Voorbeelden Salesforce Sales Cloud | |||
| Laatste data-update LastDataUpdate | De timestamp die aangeeft wanneer de data voor het laatst is opgehaald of vernieuwd. | ||
| Beschrijving Dit attribuut legt de datum en tijd vast waarop de data voor het laatst uit het bronsysteem is opgehaald. Zo weet je hoe actueel de data in de analyse is. Analisten gebruiken deze informatie om te controleren of ze de meest recente procesdata bekijken en om te bepalen hoe relevant hun bevindingen zijn. Het is belangrijke metadata voor elk process mining-project. Waarom dit belangrijk is Laat gebruikers zien hoe actueel de data is, zodat ze weten op welke periode de analyse betrekking heeft. Waar vind je dit? Dit is een timestamp die tijdens het ETL-proces (extractie, transformatie en laden) wordt gegenereerd en toegevoegd. Voorbeelden 2023-11-01T05:00:00Z | |||
| Accountnaam AccountName | De naam van de klant of het bedrijf dat de verkooporder heeft geplaatst. | ||
| Beschrijving De accountnaam geeft aan welke klant bij de verkooporder hoort. Zo kun je het proces vanuit het perspectief van de klant analyseren. Met dit attribuut kunnen analisten het proces filteren op specifieke klanten, de procesprestaties van klantsegmenten vergelijken en nagaan of bepaalde klanten steeds tegen dezelfde problemen aanlopen. Zo koppel je procesprestaties rechtstreeks aan de klantervaring. Waarom dit belangrijk is Koppelt procesprestaties aan specifieke klanten. Zo kun je analyses per klant uitvoeren en patronen of problemen opsporen. Waar vind je dit? Het object 'Order' heeft een opzoekveld 'AccountId'. Koppel deze ID aan het object 'Account' om het veld 'Account.Name' op te halen. Voorbeelden Global Tech Inc.Innovate Solutions LLCVenture Dynamics | |||
| Gebruiker die de actie uitvoert UserPerformingAction | De naam van de gebruiker of systeemagent die de activiteit heeft uitgevoerd. | ||
| Beschrijving Dit attribuut geeft aan wie verantwoordelijk was voor het uitvoeren van een processtap. Dat kan een verkoopmedewerker, kredietanalist of geautomatiseerde systeemgebruiker zijn. Met analyses per gebruiker krijg je zicht op de werkverdeling, individuele prestaties en de mate van automatisering. Je kunt bijvoorbeeld nagaan welke gebruikers het meeste herstelwerk doen en of bepaalde teams goedkeuringen sneller afhandelen. Ook kun je hiermee in een sociale netwerkanalyse zien hoe werk tussen medewerkers wordt overgedragen. Waarom dit belangrijk is Hiermee kun je prestaties per gebruiker, team of rol analyseren en kansen voor automatisering of opleidingsbehoeften opsporen. Waar vind je dit? Je vindt deze informatie in velden zoals 'LastModifiedById' van het object 'Order' of 'OwnerId' van records 'Task'. Koppel deze ID’s aan het object 'User' om de naam van de gebruiker op te halen. Voorbeelden Alice SmithBob JohnsonSysteemautomatiseringKredietteam | |||
| Gevraagde leverdatum RequestedDeliveryDate | De leverdatum die de klant voor de order heeft gevraagd. | ||
| Beschrijving Dit attribuut bevat de datum waarop de klant de goederen verwacht. Die datum is een belangrijke maatstaf voor de leverprestaties en klanttevredenheid. De datum wordt rechtstreeks gebruikt in het dashboard 'Leverdatum naleven' en de KPI 'Percentage tijdige leveringen'. Je vergelijkt de datum met de werkelijke leverdatum (de timestamp van 'Goederen geleverd') om te bepalen of de order op tijd, eerder of te laat is geleverd. Waarom dit belangrijk is Dit is de belangrijkste maatstaf voor tijdige leveringen, een belangrijke indicator voor klanttevredenheid en de effectiviteit van de bedrijfsvoering. Waar vind je dit? Dit is vaak een aangepast datumveld op het object 'Order'. De exacte naam kan verschillen. Raadpleeg de documentatie of het schema van Salesforce Sales Cloud. Voorbeelden 2023-11-152023-12-012024-01-10 | |||
| Orderstatus OrderStatus | De status van de verkooporder op het moment van de gebeurtenis. | ||
| Beschrijving Dit attribuut legt de status van de verkooporder vast, bijvoorbeeld 'Concept', 'Geactiveerd', 'Verzonden' of 'Gesloten'. Statuswijzigingen vormen vaak de basis voor de activiteiten in het proceslogboek. De orderstatus geeft context bij elke gebeurtenis en is belangrijk om de voortgang van een order te volgen. Je kunt er ook mee zien hoe cases eindigen, bijvoorbeeld welke orders zijn 'Geannuleerd' en welke succesvol zijn 'Gesloten'. Waarom dit belangrijk is Geeft belangrijke context bij elke gebeurtenis en vormt vaak de basis voor het bepalen van activiteiten. Ook is dit attribuut belangrijk bij het analyseren van de uitkomst van cases, zoals annuleringen. Waar vind je dit? Dit is het keuzelijstveld 'Status' van het standaard Salesforce-object 'Order'. Voorbeelden ConceptGeactiveerdVerzondenGeslotenGeannuleerd | |||
| Totaal orderbedrag TotalOrderAmount | De totale geldwaarde van de verkooporder. | ||
| Beschrijving Dit attribuut geeft het totale financiële bedrag van de klantorder weer. Het is een belangrijke metriek om de zakelijke impact van efficiënte of inefficiënte processen te begrijpen. In analyses kun je het totale orderbedrag gebruiken om cases in groepen te verdelen. Zo zie je bijvoorbeeld of orders met een hoge waarde anders worden verwerkt of meer vertraging oplopen dan orders met een lage waarde. Ook vormt het een basis voor financiële KPI’s en laat het zien welke waarde door het proces stroomt. Waarom dit belangrijk is Maakt financiële analyse van het proces mogelijk. Je kunt orders indelen op waarde en de financiële impact van vertragingen of herstelwerk kwantificeren. Waar vind je dit? Dit is het veld 'TotalAmount' op het standaard Salesforce-object 'Order'. Voorbeelden 5400.50125000.00950.75 | |||
| Totale doorlooptijd CycleTime | De totale tijd vanaf het aanmaken van de verkooporder tot de definitieve afsluiting. | ||
| Beschrijving De totale doorlooptijd is een belangrijke prestatie-indicator voor de volledige duur van het verkooporderproces. Je berekent deze door het tijdstip van de eerste gebeurtenis, bijvoorbeeld 'Order aangemaakt', af te trekken van dat van de laatste gebeurtenis, bijvoorbeeld 'Order gesloten'. Deze metriek staat centraal in het dashboard 'Totale doorlooptijd van verkooporders'. Met een analyse van de doorlooptijd spoor je inefficiënties in het hele proces op en meet je het effect van verbeterinitiatieven. Verschillen in doorlooptijd kun je onderzoeken door de data uit te splitsen naar andere attributen, zoals land of productfamilie. Waarom dit belangrijk is Dit is een belangrijke KPI om de algehele procesefficiëntie te meten en langlopende orders op te sporen die op structurele problemen kunnen wijzen. Waar vind je dit? Berekend tijdens de datatransformatie door voor elke 'SalesOrderId' de timestamp van de eerste gebeurtenis af te trekken van die van de laatste gebeurtenis. Voorbeelden 10 dagen en 4 uur25 dagen en 11 uur5 dagen en 2 uur | |||
| Bevat herstelwerk IsRework | Een aanduiding die aangeeft of de verkooporder herstelwerk heeft ondergaan, bijvoorbeeld doordat een activiteit is herhaald of het proces een lus bevat. | ||
| Beschrijving Dit berekende attribuut markeert cases die afwijken van een rechtlijnig procesverloop. Er is sprake van herstelwerk wanneer een activiteit wordt herhaald of het proces teruggaat naar een eerdere stap. Dat gebeurt vaak door fouten, ontbrekende informatie of afgewezen goedkeuringen. Deze aanduiding wordt gebruikt om de KPI 'Percentage verkooporders met herstelwerk' te berekenen en het dashboard 'Herstelwerk en fouten bij verkooporders' aan te sturen. Zo kun je de frequentie en impact van inefficiënties meten en bepalen waar betere kwaliteitscontroles of duidelijkere procesafspraken nodig zijn. Waarom dit belangrijk is Maakt inefficiëntie zichtbaar door orders te markeren waarvoor extra, ongepland werk nodig is. Dat heeft rechtstreeks invloed op de kosten en doorlooptijd. Waar vind je dit? Berekend door process mining-software of tijdens de datatransformatie, op basis van herhaalde activiteitennamen of processtromen die voor een case teruggaan naar een eerdere stap. Voorbeelden truefalse | |||
| Duur van de betalingsinning PaymentCollectionDuration | De tijd tussen het versturen van de factuur naar de klant en het ontvangen van de betaling. | ||
| Beschrijving Deze berekende metriek meet de efficiëntie van de laatste fase van het order-to-cash-proces: de betaling ontvangen. Het gaat om de tijd tussen de activiteit 'Factuur naar klant verzonden' en de activiteit 'Betaling ontvangen'. Dit attribuut ondersteunt rechtstreeks het dashboard 'Duur van de betalingsinning' en de KPI 'Tijd tot betaling'. Met een analyse van deze duur kan de financiële afdeling bottlenecks bij het innen opsporen, de effectiviteit van betalingstermijnen beoordelen en mogelijkheden vinden om betalingen sneller binnen te krijgen. Waarom dit belangrijk is Meet de efficiëntie van het debiteurenproces, dat rechtstreeks invloed heeft op de cashflow van het bedrijf. Waar vind je dit? Berekend tijdens de datatransformatie door voor elke case de timestamp van de gebeurtenis 'Factuur naar klant verzonden' af te trekken van die van de gebeurtenis 'Betaling ontvangen'. Voorbeelden 30 dagen15 dagen en 8 uur45 dagen | |||
| Eindtijd van gebeurtenis EventEndTime | De exacte datum en tijd waarop de activiteit is afgerond. | ||
| Beschrijving De eindtijd van de gebeurtenis markeert het moment waarop een activiteit is afgerond. Veel process mining-tools leiden dit af uit de starttijd van de volgende activiteit. Als je de eindtijd apart vastlegt, kun je de duur van activiteiten nauwkeuriger berekenen, vooral bij taken die lang duren. Met dit attribuut bereken je de exacte verwerkingstijd van een activiteit. Het is vooral nuttig voor taken die veel tijd kosten, zoals 'Kredietcontrole uitgevoerd' of 'Voorraad toegewezen'. Zo kun je actieve verwerkingstijd onderscheiden van wachttijd. Waarom dit belangrijk is Hiermee bereken je de verwerkingstijd van afzonderlijke activiteiten nauwkeurig. Dat is belangrijk om bottlenecks en stappen te vinden die veel middelen vragen. Waar vind je dit? Kan worden afgeleid uit de 'StartTime' van de volgende gebeurtenis in de reeks voor een bepaalde case. Voor sommige activiteiten kan een specifiek veld worden gebruikt, zoals 'Task.CompletedDateTime'. Voorbeelden 2023-10-26T10:05:12Z2023-10-26T15:00:00Z2023-10-27T11:20:30Z | |||
| Factuur-ID InvoiceId | De unieke identificatiecode van de factuur die bij de verkooporder hoort. | ||
| Beschrijving De factuur-ID koppelt een verkooporder aan de bijbehorende factuur. Het aanmaken en versturen van de factuur zijn belangrijke mijlpalen in de tweede helft van het order-to-cash-proces. Met dit attribuut kun je het proces volgen vanaf de afhandeling van de order tot en met de betaling. Je kunt precies meten wanneer de activiteiten 'Factuur aangemaakt' en 'Factuur naar klant verzonden' plaatsvinden. Die gegevens zijn nodig om de 'Duur van de betalingsinning' te berekenen. Waarom dit belangrijk is Koppelt de verkooporder aan het facturatiesubproces. Zo kun je financiële activiteiten en betalingstermijnen nauwkeurig volgen. Waar vind je dit? Dit is vaak een aangepast opzoekveld op het object 'Order' dat verwijst naar een standaard- of aangepast object 'Invoice'. De precieze inrichting verschilt. Voorbeelden INV-001234INV-001235INV-001236 | |||
| Is geautomatiseerd IsAutomated | Een aanduiding die aangeeft of de activiteit is uitgevoerd door een systeemproces of een gebruiker. | ||
| Beschrijving Dit booleaanse attribuut maakt onderscheid tussen gebeurtenissen die door systeemautomatisering zijn gestart, zoals een automatische statusupdate, en acties van een gebruiker. Zo krijg je inzicht in de mate van automatisering in het proces. Met dit attribuut kun je de invloed van automatisering op efficiëntie en consistentie meten. Je kunt geautomatiseerde en handmatige procespaden vergelijken en zien waar verdere automatisering handmatig werk en de kans op fouten kan verminderen. Waarom dit belangrijk is Maakt onderscheid tussen systeemacties en acties van gebruikers. Dat is belangrijk voor automatiseringsanalyse en het opsporen van mogelijkheden om handmatig werk te verminderen. Waar vind je dit? Afgeleid tijdens de datatransformatie door te controleren of 'UserPerformingAction' een aangewezen systeemgebruiker is, of aan de hand van regels op basis van het activiteitstype. Voorbeelden truefalse | |||
| Land van verzending ShippingCountry | Het land van bestemming van de verkooporderzending. | ||
| Beschrijving Dit attribuut geeft aan naar welk land de order wordt verzonden. Het is een belangrijke dimensie voor geografische analyse van het order-to-cash-proces. Een analyse per land van verzending kan regionale verschillen in procesprestaties aan het licht brengen, zoals langere levertijden voor internationale orders of verschillen in betalingstermijnen. Zo kun je het proces per regio indelen en specifieke problemen begrijpen en aanpakken. Waarom dit belangrijk is Maakt het mogelijk om het proces geografisch in te delen. Zo komen regionale verschillen in prestaties, complianceproblemen of logistieke uitdagingen aan het licht. Waar vind je dit? Dit is het veld 'ShippingCountry' op het standaard Salesforce-object 'Order'. Voorbeelden USADuitslandJapanBrazilië | |||
| Op tijd geleverd IsOnTimeDelivery | Een aanduiding die aangeeft of de goederen op of vóór de door de klant gevraagde leverdatum zijn geleverd. | ||
| Beschrijving Dit booleaanse attribuut meet rechtstreeks of de levering aan de verwachtingen van de klant voldoet. Je berekent het door de timestamp van de activiteit 'Goederen geleverd' te vergelijken met 'RequestedDeliveryDate'. Dit is de basis voor de KPI 'Percentage tijdige leveringen'. Met deze aanduiding kunnen organisaties zien hoe betrouwbaar ze zijn en of ze hun afspraken nakomen. Dat heeft veel invloed op de klanttevredenheid. In combinatie met andere attributen laat de data zien of bepaalde verzendmethoden of regio’s minder vaak op tijd leveren. Waarom dit belangrijk is Geeft een duidelijke ja-of-nee-meting van de prestaties ten opzichte van afspraken met klanten en ondersteunt rechtstreeks de KPI Percentage tijdige leveringen. Waar vind je dit? Berekend tijdens de datatransformatie. De logica is: IF ('Goods Delivered' EventTime <= 'RequestedDeliveryDate') THEN true ELSE false. Voorbeelden truefalse | |||
| Ordereigenaar OrderOwner | De gebruiker die primair verantwoordelijk is voor het beheer van de verkooporder. | ||
| Beschrijving De ordereigenaar is de verkoopmedewerker of accountmanager die primair verantwoordelijk is voor de order. Dit is niet per se de gebruiker die een specifieke actie uitvoert. De eigenaar is verantwoordelijk voor de voortgang van de hele case. Een analyse per eigenaar helpt bij het beoordelen van de werkdruk en prestaties van teams of individuele medewerkers bij het beheren van hun orders. Je ziet bijvoorbeeld welke eigenaren vaak orders hebben die vastlopen of herstelwerk vereisen. Dat kan aanleiding zijn voor extra begeleiding. Waarom dit belangrijk is Geeft aan wie verantwoordelijk is voor het succes van de order. Zo kun je de werkdruk en prestaties per eigenaar analyseren. Waar vind je dit? Dit is het veld 'OwnerId' op het object 'Order'. Koppel deze ID aan het object 'User' om de naam van de eigenaar op te halen. Voorbeelden Jane DoeJohn SmithVerkoopteam Oost | |||
| Productfamilie ProductFamily | De categorie of familie waartoe de producten in de order behoren. | ||
| Beschrijving De productfamilie geeft een algemene indeling van de artikelen in de verkooporder. Zo kun je het proces analyseren op basis van het type product dat wordt verkocht. Met dit attribuut kun je het proces indelen en nagaan of bepaalde productfamilies andere procespaden, langere doorlooptijden of meer herstelwerk hebben. Complexe producten die op maat kunnen worden samengesteld, doorlopen bijvoorbeeld mogelijk meer goedkeurings- en afhandelingsstappen dan standaardproducten. Waarom dit belangrijk is Maakt het mogelijk om processen per productcategorie te analyseren. Zo zie je of verschillende producttypen leiden tot verschillen in procesefficiëntie. Waar vind je dit? Opgehaald uit het object 'Product2', dat via het koppelingobject 'OrderItem' aan 'Order' is gekoppeld. Hiervoor moet je Order -> OrderItem -> PricebookEntry -> Product2 koppelen. Voorbeelden HardwareSoftwarelicentiesProfessionele dienstenSupportcontracten | |||
| Status kredietcontrole CreditCheckStatus | De uitkomst van de kredietcontrole voor de order. | ||
| Beschrijving Dit attribuut geeft de uitkomst van de kredietbeoordeling van de klant aan. Die beoordeling is vaak een belangrijke stap in het orderproces. Veelvoorkomende waarden zijn 'Goedgekeurd', 'Afgewezen' en 'In behandeling'. Dit is belangrijk voor het dashboard 'Bottleneckanalyse kredietcontrole'. Door bij te houden wanneer een order de kredietcontrole ingaat en verlaat, en wat de eindstatus is, kun je de duur en uitkomst van deze stap meten. Zo zie je of de kredietcontrole vertraging veroorzaakt. Waarom dit belangrijk is Ondersteunt de analyse van de kredietcontrole. Je kunt de duur, het slagingspercentage en de invloed op de totale doorlooptijd meten. Waar vind je dit? Dit is waarschijnlijk een aangepast veld op het object 'Order' of 'Account'. Raadpleeg de documentatie of het schema van Salesforce Sales Cloud. Voorbeelden GoedgekeurdAfgewezenWacht op beoordelingNiet vereist | |||
| Verkoopkanaal SalesChannel | Het kanaal waarlangs de verkooporder is geplaatst, zoals 'Web', 'Directe verkoop' of 'Partner'. | ||
| Beschrijving Met het attribuut Verkoopkanaal deel je orders in op basis van hun herkomst. Zo kun je de procesprestaties van verschillende kanalen vergelijken. Dit is belangrijk voor het dashboard 'Vergelijking van verkoopkanaalprestaties'. Door op kanaal te filteren of kanalen te vergelijken, zie je welke kanalen het efficiëntst zijn, waar het meeste herstelwerk voorkomt en waar standaardisatie nodig kan zijn om de prestaties op elkaar af te stemmen. Waarom dit belangrijk is Maakt het mogelijk om de prestaties van verschillende verkoopkanalen te vergelijken. Zo kun je goede werkwijzen vinden en bepalen waar processen beter op elkaar kunnen worden afgestemd. Waar vind je dit? Dit is meestal een aangepast keuzelijstveld op het object 'Order' of 'Opportunity'. Raadpleeg de documentatie of het schema van Salesforce Sales Cloud. Voorbeelden Directe verkoopWebportaalPartnernetwerkTelefonische verkoop | |||
| Verzendmethode ShippingMethod | De gekozen verzendmethode voor de goederen, zoals 'Standaard wegtransport', 'Express' of 'Internationaal'. | ||
| Beschrijving Dit attribuut geeft het gekozen logistieke serviceniveau voor de levering aan. Het heeft rechtstreeks invloed op de levertijd en kosten. In de 'Efficiëntieanalyse van verzendmethoden' gebruik je dit attribuut om de prestaties van verschillende verzendopties te vergelijken. Zo zie je of expresszendingen hun levertijd halen en welke invloed de verzendmethode heeft op de tijd tussen 'Goederen verzonden' en 'Goederen geleverd'. Waarom dit belangrijk is Maakt analyse van logistieke prestaties mogelijk. Zo kun je de kosten en efficiëntie van verschillende verzendopties beoordelen. Waar vind je dit? Dit is waarschijnlijk een aangepast veld op het object 'Order' of op een gerelateerd aangepast object 'Shipment'. Raadpleeg de documentatie of het schema van Salesforce Sales Cloud. Voorbeelden Standaard wegtransportExpresslevering binnen 2 dagenLuchtvracht met levering de volgende dagInternationale prioriteitszending | |||
Activiteiten voor Order to Cash - Sales Order Processing
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Betaling ontvangen | Dit markeert de bevestiging dat de betaling van de klant is ontvangen en verwerkt. De informatie wordt vanuit een financieel systeem naar Salesforce bijgewerkt, meestal als statuswijziging. | ||
| Waarom dit belangrijk is Dit is de laatste stap bij het ontvangen van de betaling voor de verkoop. De tijd tussen 'Factuur verzonden' en dit moment is belangrijk voor het beheer van de cashflow en Days Sales Outstanding (DSO). Waar vind je dit? Afgeleid uit een statuswijziging van het object 'Invoice' naar 'Betaald' of 'Gesloten'. De update komt via een integratie met een boekhoud- of betalingsverwerkingssysteem. Vastleggen Volg statuswijzigingen van het object 'Invoice' die via een integratie met een extern financieel systeem binnenkomen. Gebeurtenistype inferred | |||
| Factuur aangemaakt | Dit markeert het aanmaken van een factuur voor de verkooporder. Je kunt dit vastleggen wanneer een bijbehorend object 'Invoice' wordt aangemaakt, via Salesforce Billing zelf of via een integratie. | ||
| Waarom dit belangrijk is Met deze mijlpaal begint het financiële deel van het proces. De tijd tussen levering en facturatie kan administratieve bottlenecks aan het licht brengen die de cashflow beïnvloeden. Waar vind je dit? Afgeleid uit de aanmaakdatum van een standaard- of aangepast object 'Invoice' dat aan het object 'Order' is gekoppeld. Vastleggen Gebruik de waarde van 'CreatedDate' van het bijbehorende Invoice-record. Gebeurtenistype inferred | |||
| Goederen afgeleverd | Dit geeft aan dat de zending bij de klant is aangekomen. De informatie komt uit het systeem van de vervoerder en wordt bijgewerkt in Salesforce. | ||
| Waarom dit belangrijk is Deze gebeurtenis is nodig om de KPI 'Percentage tijdige leveringen' te berekenen en de doorlooptijd vanuit het perspectief van de klant te meten. Hiermee is de orderafhandeling afgerond. Waar vind je dit? Afgeleid uit het invullen van het veld 'Delivery Date' op het object 'Order' of het aangepaste object 'Shipment'. Deze data komt meestal via een integratie met een logistieke dienstverlener binnen. Vastleggen Gebruik de timestamp waarop het veld voor de leverdatum wordt ingevuld. Gebeurtenistype inferred | |||
| Goederen verzonden | Dit is het moment waarop de order fysiek vanuit het magazijn naar de klant wordt verzonden. Deze gebeurtenis wordt vrijwel altijd in Salesforce vastgelegd via een update vanuit een extern verzend- of ERP-systeem. | ||
| Waarom dit belangrijk is Deze mijlpaal is belangrijk voor het meten van het percentage tijdige verzendingen en de efficiëntie van de orderafhandeling. Hiermee begint de bezorgfase van de klantreis. Waar vind je dit? Afgeleid uit het invullen van het veld 'Shipped Date' of 'Tracking Number' op het object 'Order' of een bijbehorend aangepast object 'Shipment'. De data komt uit een afhandelingssysteem. Vastleggen Gebruik de timestamp waarop voor het eerst een verzenddatum of trackingnummer wordt ingevuld. Gebeurtenistype inferred | |||
| Verkooporder aangemaakt | Dit markeert het moment waarop een verkooporderrecord voor het eerst in het systeem wordt aangemaakt. Salesforce registreert deze gebeurtenis wanneer een nieuw exemplaar van het object 'Order' voor het eerst wordt opgeslagen. | ||
| Waarom dit belangrijk is Dit is de belangrijkste startgebeurtenis voor het proces van order tot betaling. De tijd vanaf dit moment tot de volgende activiteiten is belangrijk om de totale doorlooptijd te begrijpen. Waar vind je dit? De aanmaakgebeurtenis van het object 'Order'. De timestamp is de waarde in het standaardveld 'CreatedDate' van het Order-record. Vastleggen Rechtstreeks uit de timestamp in het veld 'CreatedDate' van het object 'Order'. Gebeurtenistype explicit | |||
| Verkooporder geactiveerd | Een standaardgebeurtenis in Salesforce die aangeeft dat de order definitief is en kan worden afgehandeld en gefactureerd. Na activering zijn de meeste wijzigingen aan de order niet meer mogelijk. De gebeurtenis wordt vastgelegd bij een specifieke statuswijziging. | ||
| Waarom dit belangrijk is Activering is een belangrijke, onomkeerbare mijlpaal die bevestigt dat de order geldig is. Dit is de formele overdracht van verkoop naar bedrijfsvoering en een belangrijk onderdeel van het meten van doorlooptijden in het verkoopproces. Waar vind je dit? Afgeleid uit een wijziging van het standaardveld 'Status' van het object 'Order' naar 'Geactiveerd'. De timestamp wordt vastgelegd in de veldgeschiedenis van 'Order'. Vastleggen Controleer de veldgeschiedenis van het object 'Order' op een statuswijziging naar 'Geactiveerd'. Gebeurtenistype inferred | |||
| Verkooporder gesloten | Dit markeert de succesvolle afronding en definitieve sluiting van de verkooporder in het systeem. Je kunt dit afleiden uit een laatste statusupdate van de order die aangeeft dat er geen verdere actie nodig is. | ||
| Waarom dit belangrijk is Dit is de belangrijkste eindgebeurtenis van de ideale route. Door de totale tijd tot deze activiteit te meten, bereken je de KPI 'Gemiddelde tijd van order tot afronding'. Waar vind je dit? Afgeleid uit een wijziging van het veld 'Status' van het object 'Order' naar een eindstatus zoals 'Gesloten', 'Voltooid' of 'Afgehandeld'. De timestamp is beschikbaar in de veldgeschiedenis. Vastleggen Controleer de veldgeschiedenis van het object 'Order' op een wijziging naar een definitieve, afgeronde status. Gebeurtenistype inferred | |||
| Factuur naar klant verzonden | Dit geeft aan dat de factuur naar de klant is verzonden voor betaling. Meestal wordt dit vastgelegd als een statuswijziging van het factuurrecord. | ||
| Waarom dit belangrijk is Dit is de startgebeurtenis voor de KPI 'Tijd tot ontvangst van de betaling'. Elke vertraging tussen het aanmaken en verzenden van de factuur stelt het begin van de betalingstermijn uit. Waar vind je dit? Afgeleid uit een statuswijziging van het object 'Invoice' naar 'Verzonden' of een vergelijkbare waarde. Je kunt ook een activiteit in het logboek gebruiken voor de verzonden e-mail. Vastleggen Volg het veld 'Status' van het bijbehorende object 'Invoice' of zoek naar e-mailactiviteiten in het logboek. Gebeurtenistype inferred | |||
| Kredietcontrole uitgevoerd | Dit markeert de voltooiing van een kredietwaardigheidscontrole voor de klant bij de order. Vaak leiden we deze gebeurtenis af uit een wijziging van een aangepast veld, zoals 'Credit Check Status', naar 'Geslaagd' of 'Voltooid'. | ||
| Waarom dit belangrijk is Deze activiteit veroorzaakt vaak flinke vertraging. Door de duur en wachttijd te meten, kun je het dashboard 'Bottleneckanalyse kredietcontrole' aanpakken en de cashflow verbeteren. Waar vind je dit? Afgeleid uit een timestamp of statuswijziging in een aangepast veld van het object 'Order' of het bijbehorende object 'Account', bijvoorbeeld 'Credit_Check_Date__c' of 'Credit_Status__c'. Vastleggen Volg wijzigingen in aangepaste velden die aangeven dat de kredietcontrole is afgerond. Gebeurtenistype inferred | |||
| Verkooporder geannuleerd | Dit geeft aan dat de order is geannuleerd voordat de afhandeling was voltooid. Dit wordt vastgelegd als een eindstatuswijziging van het orderrecord. | ||
| Waarom dit belangrijk is Dit is een belangrijke uitzondering en eindgebeurtenis. Door te analyseren waarom en wanneer orders worden geannuleerd, kun je problemen in het verkoopproces, de productbeschikbaarheid of de kredietwaardigheid van klanten opsporen. Waar vind je dit? Afgeleid uit een wijziging van het veld 'Status' van het object 'Order' naar 'Geannuleerd'. De timestamp staat in de veldgeschiedenis van het veld 'Status'. Vastleggen Controleer de veldgeschiedenis van het object 'Order' op een wijziging naar de status 'Geannuleerd'. Gebeurtenistype inferred | |||
| Verkooporder goedgekeurd | Dit geeft aan dat alle vereiste partijen de verkooporder formeel hebben goedgekeurd en dat de order door kan naar de volgende stap. Je kunt dit vaststellen aan de hand van de laatste goedkeuringsstap in een workflow of een bijbehorende statuswijziging. | ||
| Waarom dit belangrijk is Dit is een belangrijke mijlpaal: hierna kan de order worden afgehandeld. Vertraging bij de goedkeuring kan de totale doorlooptijd van order tot betaling flink verlengen. Waar vind je dit? Afgeleid uit een wijziging van het statusveld van het object 'Order' naar bijvoorbeeld 'Goedgekeurd'. Je kunt dit ook afleiden uit de voltooiingsdatum van het bijbehorende record 'ProcessInstance'. Vastleggen Volg het veld 'Status' van het object 'Order' of controleer wanneer de goedkeuringsgeschiedenis is afgerond. Gebeurtenistype inferred | |||
| Verkooporder naar afhandeling verzonden | Dit markeert de overdracht van de geactiveerde order aan een magazijn- of afhandelingssysteem voor het verzamelen en inpakken van de producten. Meestal wordt dit vastgelegd als een statuswijziging van de order die door een integratie wordt gestart. | ||
| Waarom dit belangrijk is Deze gebeurtenis vormt de overgang tussen het commerciële en logistieke deel van het proces. Door de tijd vanaf activering tot dit moment te meten, kun je administratieve vertraging onderscheiden van vertraging in het magazijn. Waar vind je dit? Afgeleid uit een statuswijziging van 'Order' naar bijvoorbeeld 'Naar afhandeling verzonden' of 'Wacht op verzending'. Deze wijziging wordt vaak gestart door een integratie met een ERP- of WMS-systeem. Vastleggen Volg het veld 'Status' van het object 'Order' op waarden die aangeven dat de order is overgedragen voor afhandeling. Gebeurtenistype inferred | |||
| Verkooporder ter goedkeuring ingediend | Dit is het moment waarop een conceptorder wordt ingediend voor formele goedkeuring. Meestal leiden we dit af uit een statuswijziging van de order of uit een nieuw record in de goedkeuringsgeschiedenis van Salesforce. | ||
| Waarom dit belangrijk is Door indieningen te volgen, kun je meten hoelang orders op goedkeuring wachten en hoe efficiënt het beoordelingsproces verloopt. Zo worden bottlenecks vóór de goedkeuring zichtbaar. Waar vind je dit? Afgeleid uit een statuswijziging van het object 'Order' (bijvoorbeeld van 'Concept' naar 'Ter goedkeuring ingediend') of uit de indieningsdatum in het object 'ProcessInstance' dat aan de order is gekoppeld. Vastleggen Volg wijzigingen in het statusveld of raadpleeg het object 'ProcessInstance'. Gebeurtenistype inferred | |||
| Voorraad toegewezen | Dit geeft aan dat de producten op de order in het voorraadsysteem zijn gereserveerd. Deze gebeurtenis komt meestal uit een extern ERP- of voorraadsysteem en wordt via een veldwijziging in Salesforce vastgelegd. | ||
| Waarom dit belangrijk is Deze activiteit is belangrijk voor de analyse van de KPI 'Doorlooptijd voorraadtoewijzing'. Vertraging op dit punt maakt het lastiger om orders op tijd te verzenden. Waar vind je dit? Hiervoor is een systeemanalyse nodig. Vaak leiden we deze gebeurtenis af uit een statuswijziging van het object 'Order' of 'OrderItem', of uit het invullen van het aangepaste veld 'Allocation_Date__c' via een integratie. Vastleggen Volg status- of datumwijzigingen van de objecten Order of OrderItem die via een ERP-integratie binnenkomen. Gebeurtenistype inferred | |||
Extractiegidsen
Stappen
- Voorwaarde: Field History Tracking instellen: Voordat je rapporten maakt, moet een Salesforce-beheerder controleren of Field History Tracking is ingeschakeld voor het Order-object. Volg in elk geval het veld Status en eventuele aangepaste velden die gebeurtenissen aangeven, zoals Credit_Check_Status__c of Fulfillment_Status__c. Stel dit in via Setup > Object Manager > Order > Fields & Relationships > Set History Tracking.
- Een aangepast rapporttype maken: Maak een aangepast rapporttype om wijzigingen in velden samen met ordergegevens op te halen. Ga naar Setup > Report Types. Maak een rapporttype met Orders als Primary Object en voeg Order History toe als secundair object. Stel de relatie in op "'A' records may or may not have related 'B' records." Zo kun je alle orders opnemen, ook als er nog geen geschiedenis is. Sla het rapporttype op als "Orders with History".
- Het hoofdrapport 'Events' maken: Ga naar het tabblad Reports en klik op New Report. Selecteer het rapporttype "Orders with History". Dit rapport bevat alle activiteiten die zijn gebaseerd op wijzigingen in velden.
- Kolommen voor het Events-rapport instellen: Voeg de volgende kolommen toe: Order: Order Number (voor SalesOrderId), Edit Date (voor EventTime), User (voor UserPerformingAction), Field/Event (het gewijzigde veld), Original Value en New Value. Voeg ook kolommen toe uit het bovenliggende Order-object, zoals Order: Total Amount, Account: Account Name en Order: Company Authorized By Date (als benadering van RequestedDeliveryDate, indien van toepassing).
- Het Events-rapport filteren: Stel het filter Show Me in op All orders en Date Field op Created Date met de gewenste periode, bijvoorbeeld Last 3 Months. Voeg een filter toe voor de kolom Field/Event, zodat alleen de veldwijzigingen worden opgenomen die bij je activiteiten horen, zoals Status of Credit_Check_Status__c.
- Het rapport 'Order Created' maken: Maak een tweede, eenvoudiger rapport met het standaardrapporttype Orders. Dit rapport bevat alleen de gebeurtenis waarbij de order wordt aangemaakt. Voeg de kolommen Order Number, Created Date, Created By, Status, Total Amount en Account Name toe. Filter op Created Date en stel de gewenste periode in.
- Beide rapporten exporteren: Voer beide rapporten uit en kies Export. Selecteer de indeling Details Only en Comma Delimited .csv.
- Data combineren en omzetten: Open de geëxporteerde CSV-bestanden in een spreadsheetprogramma zoals Microsoft Excel of gebruik een programmeertaal zoals Python.
- Voeg voor het rapport 'Events' een kolom ActivityName toe. Gebruik formules of een script om de veldwijzigingen te koppelen aan de gewenste activiteitsnamen. Als Field/Event bijvoorbeeld 'Status' is en New Value 'Activated', stel ActivityName dan in op 'Order Activated'.
- Voeg voor het rapport 'Order Created' een kolom ActivityName toe en vul voor alle rijen 'Order Created' in. Hernoem de kolommen zodat ze overeenkomen met het schema van het event log, bijvoorbeeld Order Number -> SalesOrderId en Created Date -> EventTime.
- Samenvoegen tot één event log: Voeg de rijen uit de omgezette data van 'Order Created' toe aan de omgezette data van 'Events'. Zo ontstaat één lijst met alle activiteiten.
- Klaarmaken voor upload: Voeg de overige verplichte kolommen toe: SourceSystem (met de vaste waarde 'Salesforce Sales Cloud') en LastDataUpdate (met de huidige timestamp). Controleer de kolomkoppen en data-indelingen en sla het bestand op als CSV. Het bestand is nu klaar om te uploaden.
Configuratie
- Rapporttypen: Een aangepast rapporttype dat Orders en Order History combineert, is nodig om statuswijzigingen en andere veldwijzigingen als afzonderlijke gebeurtenissen vast te leggen.
- Field History Tracking: Deze methode werkt alleen als Field History Tracking voor het Order-object is ingeschakeld voordat je de data ophaalt. Volg belangrijke velden zoals Status en aangepaste velden die processtappen aangeven.
- Filters voor datumbereik: Gebruik Created Date van het Order-object als hoofdfilter. Zo analyseer je een consistente groep orders. Voor een eerste analyse raden we een periode van 3 tot 6 maanden aan.
- Data Export Service: Bij grote datavolumes kun je de Data Export Service als alternatief wekelijks of maandelijks laten draaien om alle data van bepaalde objecten te exporteren, zoals Order, OrderHistory en Account. Dit levert ruwe data op die je extern verder moet verwerken en combineren. Je voorkomt hiermee wel time-outs en rijlimieten van Report Builder.
- Machtigingen: Gebruikers die de data ophalen, moeten toestemming hebben om rapporten uit te voeren en te exporteren en alle data van de objecten Order en Account te bekijken. Voor het instellen van Data Export Service zijn beheerdersrechten nodig.
- Rapportindeling: Stel rapporten in op Tabular Format. Dat maakt exporteren en verwerken het eenvoudigst. Gebruik geen samenvattings- of matrixindeling.
Voorbeeldquery sql
/*
Salesforce Reports are configured through the user interface. This section describes the configuration of the necessary reports and the logic for post-processing. It is not an executable script.
*/
// ======== REPORT 1: Order Creation Events ========
{
"ReportName": "O2C - Order Created",
"ReportType": "Orders",
"Format": "Tabular",
"Filters": [
{
"Field": "Created Date",
"Operator": "equals",
"Value": "[Specify Date Range, e.g., LAST 90 DAYS]"
}
],
"Columns": [
{"SourceField": "Order Number", "OutputAs": "SalesOrderId"},
{"StaticValue": "Order Created", "OutputAs": "ActivityName"},
{"SourceField": 'Created Date', "OutputAs": "EventTime"},
{"SourceField": "Last Modified By: Full Name", "OutputAs": "UserPerformingAction"},
{"SourceField": "Status", "OutputAs": "OrderStatus"},
{"SourceField": "Total Amount", "OutputAs": "TotalOrderAmount"},
{"SourceField": "Account: Account Name", "OutputAs": "AccountName"},
{"SourceField": "[Your Requested Delivery Date Field]", "OutputAs": "RequestedDeliveryDate"}
]
}
// ======== REPORT 2: Order Field Change Events ========
{
"ReportName": "O2C - Order History Events",
"ReportType": "Orders with History (Custom)",
"Format": "Tabular",
"Filters": [
{
"Field": "Order: Created Date",
"Operator": "equals",
"Value": "[Specify Date Range, e.g., LAST 90 DAYS]"
},
{
"Field": "Field/Event",
"Operator": "in",
"Value": ["Status", "[Credit Check Status Field]", "[Inventory Status Field]", "[Fulfillment Status Field]", "[Shipping Status Field]", "[Delivery Status Field]", "[Invoice Status Field]", "[Payment Status Field]"]
}
],
"Columns": [
{"SourceField": "Order: Order Number", "OutputAs": "SalesOrderId"},
{"SourceField": "Edit Date", "OutputAs": "EventTime"},
{"SourceField": "User", "OutputAs": "UserPerformingAction"},
{"SourceField": "Field/Event", "OutputAs": "SourceFieldForActivity"},
{"SourceField": "New Value", "OutputAs": "SourceValueForActivity"},
{"SourceField": "Order: Total Amount", "OutputAs": "TotalOrderAmount"},
{"SourceField": "Account: Account Name", "OutputAs": "AccountName"}
]
}
// ======== EXTERNAL TRANSFORMATION LOGIC (to be applied after export) ========
/*
- Combine the two exported files.
- For the 'Order History Events' data, create the 'ActivityName' and 'OrderStatus' columns based on the following mapping logic:
CASE
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Submitted' THEN 'Order Submitted for Approval'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Approved' THEN 'Order Approved'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Activated' THEN 'Order Activated'
WHEN SourceFieldForActivity = '[Fulfillment Status Field]' AND SourceValueForActivity = 'Sent to Fulfillment' THEN 'Order Sent to Fulfillment'
WHEN SourceFieldForActivity = '[Shipping Status Field]' AND SourceValueForActivity = 'Shipped' THEN 'Goods Shipped'
WHEN SourceFieldForActivity = '[Delivery Status Field]' AND SourceValueForActivity = 'Delivered' THEN 'Goods Delivered'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Closed' THEN 'Order Closed'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Cancelled' THEN 'Order Cancelled'
WHEN SourceFieldForActivity = '[Credit Check Status Field]' AND SourceValueForActivity = 'Passed' THEN 'Credit Check Performed'
WHEN SourceFieldForActivity = '[Inventory Status Field]' AND SourceValueForActivity = 'Allocated' THEN 'Inventory Allocated'
WHEN SourceFieldForActivity = '[Invoice Status Field]' AND SourceValueForActivity = 'Created' THEN 'Invoice Created'
WHEN SourceFieldForActivity = '[Invoice Status Field]' AND SourceValueForActivity = 'Sent' THEN 'Invoice Sent to Customer'
WHEN SourceFieldForActivity = '[Payment Status Field]' AND SourceValueForActivity = 'Received' THEN 'Payment Received'
ELSE 'Unknown'
END AS ActivityName
- The OrderStatus attribute should be populated with the 'New Value' when the changed field was 'Status'. For other events, you may need to look up the order's status at that point in time, which is a limitation of this method.
- Add 'SourceSystem' and 'LastDataUpdate' columns to the final combined dataset.
*/ Klaar om te beginnen?
Begin vandaag met het optimaliseren van Order to Cash - Sales Order Processing. Bereid de data voor met deze template en ontdek waar je het proces kunt verbeteren en de cashflow kunt versnellen.
Verbeter de cashflow: optimaliseer nu Order to Cash - Sales Processing
Spoor inefficiënties op, verkort de doorlooptijd met 30% en versnel de cashflow.
Geen creditcard nodig • Binnen enkele minuten aan de slag