Datatemplate voor betalingsverwerking
Datatemplate voor betalingsverwerking
- Aanbevolen attributen om te verzamelen
- Belangrijke activiteiten om te volgen
- Extractiehandleiding voor ACI Worldwide
Attributen voor betalingsverwerking
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De specifieke stap of statuswijziging in de levenscyclus van de betaling. | ||
| Beschrijving Dit attribuut bepaalt de gebeurtenisknoop in de proceskaart, zoals 'Betalingsverzoek aangemaakt' of 'Bedrag overgemaakt'. In ACI-systemen wordt de waarde vaak afgeleid uit statuscodes, typen bewerkingen in het auditlogboek of wijzigingen in de workflowstatus. Een nauwkeurige vertaling van deze technische statussen naar begrijpelijke bedrijfsactiviteiten is belangrijk voor een bruikbare visualisatie. Waarom dit belangrijk is Dit attribuut bepaalt de processtroom en is nodig om de volgorde van de bedrijfsactiviteiten te visualiseren. Waar vind je dit? Afgeleid uit statuscodes (bijvoorbeeld 100= aangemaakt, 200= gevalideerd) of uit kolommen met acties in het auditlogboek. Voorbeelden Betalingsverzoek aangemaaktBetaling geautoriseerdBetaling afgewikkeldBetaling mislukt | |||
| ID betalingstransactie PaymentTransactionId | De unieke identificatiecode van de specifieke betalingsopdracht in het ACI-systeem. | ||
| Beschrijving Dit attribuut is de centrale sleutel voor de process mining-analyse en koppelt alle gebeurtenissen aan één betalingsverzoek. In ACI Worldwide-systemen, zoals MTS of UPP, is dit het unieke referentienummer dat bij het invoeren aan een transactie wordt toegekend. Hiermee kun je het volledige betalingstraject reconstrueren, van het eerste verzoek tot en met de validatie, goedkeuring en uiteindelijke afwikkeling. Waarom dit belangrijk is Dit is de vereiste Case-ID om afzonderlijke gebeurtenissen te groeperen in procesinstanties. Waar vind je dit? Controleer de transactiekoptabellen. De relevante kolom heet vaak TRN_REF, REFERENCE_NUM of UUID in het hoofdtransactielogboek. Voorbeelden TRX-2023-899102ACI-99281-AAPAY-0019283420231025-9981 | |||
| Tijdstempel van gebeurtenis EventTimestamp | De datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Dit attribuut legt het exacte moment vast waarop een gebeurtenis plaatsvond in de ACI-omgeving. Je gebruikt het om alle tijdsgebonden metrieken te berekenen, waaronder doorlooptijden, goedkeuringsduur en verwerkingssnelheid. Een hoge precisie, tot op de milliseconde, verdient de voorkeur om snelle geautomatiseerde stappen in de juiste volgorde te zetten. Waarom dit belangrijk is Nodig om gebeurtenissen op volgorde te zetten en doorlooptijden te berekenen. Waar vind je dit? Raadpleeg de kolommen 'Aanmaakdatum' of 'Wijzigingsdatum' in de transactiegeschiedenis of audittabellen. Voorbeelden 2023-10-25T08:30:15.000Z2023-10-25T08:30:22.500Z2023-10-26T14:10:00.000Z | |||
| Afdeling Department | De interne afdeling die verantwoordelijk is voor de huidige activiteit. | ||
| Beschrijving Koppelt Waarom dit belangrijk is Bundelt prestaties per bedrijfsfunctie. Waar vind je dit? Afgeleid uit gebruikerstabellen of een koppeling met de organisatiehiërarchie. Voorbeelden BedrijfsvoeringComplianceTreasuryIT-ondersteuning | |||
| Betalingsbedrag PaymentAmount | De geldwaarde van de betalingstransactie. | ||
| Beschrijving Geeft de waarde aan van het bedrag dat wordt overgemaakt. Dit is belangrijke context voor analyses van 'Betalingsvolume' en het bepalen van prioriteiten bij bottlenecks. Voor betalingen met een hoog bedrag gelden vaak strengere goedkeuringsroutes (variantanalyse) dan voor geautomatiseerde betalingen met een laag bedrag. Waarom dit belangrijk is Maakt segmentatie op bedrag mogelijk en helpt het totale verwerkte volume te berekenen. Waar vind je dit? Transactiedetailtabellen, meestal met velden als AMT, TRANS_AMOUNT of PRINCIPAL_AMOUNT. Voorbeelden 1500.00250000.5050.001000000.00 | |||
| Betalingstype PaymentType | De classificatie van het betaalinstrument. | ||
| Beschrijving Deelt de betaling in categorieën in, zoals Wire, ACH, SEPA of RTGS. Verschillende betalingstypen hebben vaak heel andere SLA's en processtromen. Dit attribuut is een belangrijke filter voor het dashboard 'Doorlooptijd van betaling van begin tot eind'. Waarom dit belangrijk is Belangrijk om snelle betalingen te onderscheiden van betalingen die in batches worden verwerkt. Waar vind je dit? Transactiekop, met velden als PMT_TYPE, INSTRUMENT_TYPE of SERVICE_ID. Voorbeelden Binnenlandse overboekingInternationale overboekingACH-bijschrijvingDirecte betaling | |||
| Foutcode ErrorCode | De code die wordt gegenereerd wanneer een betaling mislukt of moet worden hersteld. | ||
| Beschrijving Legt de specifieke reden vast voor een gebeurtenis als 'Betaling mislukt' of 'Fout bij betaling vastgesteld'. Door in het dashboard 'Analyse van mislukte betalingen en herhaalwerk' op dit attribuut te groeperen, zie je welke oorzaken het vaakst tot mislukte betalingen leiden, zoals 'Onvoldoende saldo' of 'Ongeldige rekening'. Waarom dit belangrijk is Nodig voor oorzaakanalyse van procesfouten. Waar vind je dit? Foutlogboeken of kolommen met de reden van de status, vaak REASON_CODE of RETURN_CODE. Voorbeelden R01AM04BE05TECH_ERR_001 | |||
| Gebruiker bij gebeurtenis EventUser | De gebruikers-ID of systeemagent die verantwoordelijk is voor de activiteit. | ||
| Beschrijving Legt vast wie de actie heeft uitgevoerd: een gebruiker, bijvoorbeeld bij een goedkeuring, of een systeemaccount, bijvoorbeeld bij een geautomatiseerde afwikkeling. Dit attribuut is belangrijk voor de 'Bottleneckanalyse', waarmee je kunt zien of bepaalde gebruikers of wachtrijen overbelast zijn. Waarom dit belangrijk is Maakt bronanalyse en controle van functiescheiding mogelijk. Waar vind je dit? Auditlogboeken of kolommen als 'UpdatedBy' in transactietabellen. Voorbeelden SYSTEM_AGENT_01j.doeapprover_group_aBATCH_PROCESS | |||
| Herhaalwerk IsRework | Vlag die aangeeft of er herhaalde activiteiten voor de betaling zijn uitgevoerd. | ||
| Beschrijving Een booleaanse vlag die tijdens de dataverwerking wordt berekend. De waarde wordt true als activiteiten zoals 'Betalingsgegevens gevalideerd' meer dan één keer voorkomen of als er een foutlus wordt vastgesteld. Deze vlag wordt gebruikt voor de KPI 'Percentage betalingen met herhaalwerk'. Waarom dit belangrijk is Spoort inefficiënte cases snel op, zonder ingewikkelde procesquery's. Waar vind je dit? Berekend in de datapijplijn door per case te controleren op dubbele activiteiten. Voorbeelden truefalse | |||
| Uiterste betaaldatum PaymentDueDate | De datum waarop de betaling uiterlijk moet zijn afgewikkeld om op tijd te zijn. | ||
| Beschrijving Slaat de contractuele of aangevraagde uitvoeringsdatum op. Deze datum wordt vergeleken met de werkelijke afwikkelingsdatum om de KPI 'Percentage betalingen op tijd' te berekenen en het dashboard 'Compliance met uiterste betaaldatum' te ondersteunen. Waarom dit belangrijk is De norm voor het meten van SLA-compliance en tijdige verwerking. Waar vind je dit? Betalingsopdrachten, meestal met de velden VALUE_DATE, EXECUTION_DATE of DUE_DATE. Voorbeelden 2023-11-012023-11-05 | |||
| Valuta van betaling PaymentCurrency | De ISO-valutacode van het betalingsbedrag. | ||
| Beschrijving Geeft aan in welke valuta het Waarom dit belangrijk is Nodig om het betalingsbedrag goed te interpreteren. Waar vind je dit? Transactiedetailtabellen, meestal met velden als CCY, CURRENCY_CODE of ISO_CODE. Voorbeelden USDEURGBPJPY | |||
| Verwerkingskanaal ProcessingChannel | Het kanaal waarlangs de betaling is gestart. | ||
| Beschrijving Geeft aan via welk kanaal de betaling is ingevoerd, bijvoorbeeld via mobiel, een webportaal, een API of een bestandsupload. Met 'Variantanalyse van het betalingsproces' kun je nagaan of bepaalde kanalen vaker tot fouten of vertragingen leiden. Waarom dit belangrijk is Maakt een vergelijking van prestaties per invoermethode mogelijk. Waar vind je dit? Transactiekop, vaak in kolommen met de naam CHANNEL, SOURCE_TYPE of INPUT_METHOD. Voorbeelden SWIFTInternetbankierenMobiele appBestandsupload | |||
| Afstemmings-ID ReconciliationId | Identificatiecode die de betaling koppelt aan het grootboek of de afstemmingsregistratie. | ||
| Beschrijving Deze ID wordt ingevuld wanneer de activiteit 'Betaling afgestemd' plaatsvindt. Zo kun je controleren of de betaling in de verwerkingsengine overeenkomt met de boeking in het boekhoudsysteem. Ontbreekt de ID bij afgewikkelde betalingen, dan wijst dat op problemen met de afstemming. Waarom dit belangrijk is Belangrijk voor het dashboard 'Efficiëntie van betalingsafstemming'. Waar vind je dit? Afstemmingstabellen of specifieke velden als RECON_REF of GL_REF. Voorbeelden REC-9921GL-Entry-2023-11 | |||
| Betaling te laat IsPaymentLate | Vlag die aangeeft of de betaling na de uiterste betaaldatum is afgewikkeld. | ||
| Beschrijving Een booleaanse vlag die de werkelijke afwikkelingsdatum vergelijkt met Waarom dit belangrijk is Maakt compliance-rapportages eenvoudiger. Waar vind je dit? Berekend als: SettlementDate > PaymentDueDate. Voorbeelden truefalse | |||
| Bronsysteem SourceSystem | De naam van het systeem waaruit de gebeurtenisdata afkomstig zijn. | ||
| Beschrijving Identificeert de specifieke applicatie of module binnen het ACI Worldwide-ecosysteem (bijvoorbeeld ACI MTS, ACI UPF) of de externe systemen die bij het proces betrokken zijn. Dit is vooral belangrijk wanneer je data uit meerdere grootboeken combineert of wanneer de betaling via externe clearinginstellingen loopt. Waarom dit belangrijk is Geeft aan waar de data vandaan zijn gehaald en helpt bij het opsporen van problemen in de dataherkomst. Waar vind je dit? Tijdens de extractie hard gecodeerd of afgeleid uit een SystemID-kolom als er meerdere instanties zijn. Voorbeelden ACI MTSACI UPPSAP GLSwift Gateway | |||
| Doorlooptijd goedkeuring ApprovalCycleTime | De tijd die de goedkeuringsfase in beslag neemt. | ||
| Beschrijving Berekent de tijd tussen 'Betaling ter goedkeuring verzonden' en 'Betaling goedgekeurd' (of afgewezen). Deze metriek wordt gebruikt in het dashboard 'Analyse van de doorlooptijd van betalingsgoedkeuringen' en laat vertragingen bij menselijke besluitvorming zien. Waarom dit belangrijk is Brengt het deel van het proces in kaart dat afhankelijk is van menselijke handelingen. Waar vind je dit? Berekend als: Timestamp(Betaling goedgekeurd) - Timestamp(Betaling ter goedkeuring verzonden). Voorbeelden 4 uur15 minuten | |||
| Laatste data-update LastDataUpdate | De timestamp waarop de registratie voor het laatst is geëxtraheerd of bijgewerkt in het datamodel. | ||
| Beschrijving Houdt bij hoe actueel de data voor de analyse is. Dit is geen tijdstip waarop een procesgebeurtenis plaatsvond, maar het technische tijdstip waarop de data zijn ingelezen. Zo weten analisten of ze naar realtime data of historische momentopnamen kijken. Waarom dit belangrijk is Houdt de data actueel en helpt verouderde data in dashboards op te sporen. Waar vind je dit? Systeemtijd op het moment dat het ETL-script wordt uitgevoerd. Voorbeelden 2023-10-27T00:00:00.000Z2023-10-27T12:00:00.000Z | |||
| Naam begunstigde BeneficiaryName | De naam van de partij die de betaling ontvangt. | ||
| Beschrijving Identificeert de tegenpartij in de transactie. Analyse van dit veld kan helpen leveranciers of klanten op te sporen die vaak leiden tot herhaalwerk of vertragingen. Dit ondersteunt de 'Analyse van mislukte betalingen en herhaalwerk'. Waarom dit belangrijk is Identificeert de ontvanger van de betaling en is nuttig voor klantgerichte analyses. Waar vind je dit? Regels met betalingsdetails, met velden als CREDITOR_NAME, BENE_NAME of PAYEE. Voorbeelden Acme CorpGlobal Supplies LtdJohn Smith | |||
| Regio van herkomst OriginatingRegion | De geografische regio waar het betalingsverzoek vandaan komt. | ||
| Beschrijving Geeft de fysieke of logische locatie van de aanvrager aan. Met 'Variantanalyse van het betalingsproces' kun je nagaan of bepaalde regio's afwijkende routes volgen of vaker met afwijzingen te maken krijgen. Waarom dit belangrijk is Geeft geografische context bij de procesprestaties. Waar vind je dit? Transactiekop, vaak afgeleid uit de filiaalcode of landcode. Voorbeelden Noord-AmerikaEMEAAPAC | |||
Activiteiten voor betalingsverwerking
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Betaling afgewikkeld | De definitieve bevestiging dat het betalingsproces is afgerond en het geld op de rekening van de begunstigde is bijgeschreven. Hiermee is de transactie voltooid. Dit is een belangrijke gebeurtenis die het succesvolle einde van de levenscyclus van de betaling markeert. | ||
| Waarom dit belangrijk is Dit is de belangrijkste eindgebeurtenis voor een geslaagd proces. De gebeurtenis wordt gebruikt om de totale doorlooptijd en doorvoer te berekenen en is essentieel voor vrijwel alle dashboards met end-to-end-prestaties. Waar vind je dit? Meestal een expliciete gebeurtenis die wordt vastgelegd wanneer het netwerk een definitieve bevestiging van de afwikkeling stuurt of wanneer het interne grootboek wordt bijgewerkt om aan te geven dat de transactie is afgerond. Vastleggen Wordt geregistreerd zodra een definitief afwikkelingsbestand of -bericht binnenkomt. De status wordt dan bijgewerkt naar 'Afgewikkeld'. Gebeurtenistype explicit | |||
| Betaling geautoriseerd | Dit is de autorisatie van de betaling door het systeem na menselijke goedkeuring. Het systeem controleert bijvoorbeeld of er voldoende saldo is en toetst de betaling aan frauderegels. Dit kan als expliciete logregel worden vastgelegd of worden afgeleid uit een statuswijziging die aangeeft dat de betaling klaar is voor uitvoering. | ||
| Waarom dit belangrijk is Dit is een belangrijk controlepunt voordat de opdracht wordt gegeven om geld over te maken. Vertragingen in deze fase kunnen wijzen op prestatieproblemen van het systeem of problemen met compliance- en fraudedetectiesystemen. Waar vind je dit? Zoek naar een expliciete logregel in een systeemverwerkingslog of beveiligingslog. Je kunt dit ook afleiden uit een statuswijziging van 'Approved' naar 'Authorized for Payment'. Vastleggen Wordt door de betalingsengine van het systeem vastgelegd nadat de laatste interne controles zijn doorstaan. Gebeurtenistype explicit | |||
| Betaling goedgekeurd | Een belangrijke mijlpaal: een bevoegde gebruiker keurt de betaling goed, zodat deze kan worden uitgevoerd. Meestal wordt dit als expliciete gebeurtenis vastgelegd wanneer de goedkeurder de actie uitvoert in de gebruikersinterface van het systeem. | ||
| Waarom dit belangrijk is Deze activiteit is een belangrijk controlepunt en vaak een aanzienlijk knelpunt. Door de wachttijd vóór deze stap en de duur van de goedkeuringscyclus te analyseren, zie je waar betalingen sneller kunnen worden verwerkt. Waar vind je dit? Zoek naar een expliciete gebeurtenis in een tabel met goedkeuringslogs of naar een statuswijziging naar 'Approved' in de hoofdtabel met transacties. Deze moet gekoppeld zijn aan een specifieke gebruikersactie en timestamp. Vastleggen Wordt vastgelegd wanneer een bevoegde gebruiker de betaling in het systeem goedkeurt. Gebeurtenistype explicit | |||
| Betalingsverzoek aangemaakt | Deze activiteit markeert het begin van een nieuwe betalingstransactie in het systeem van ACI Worldwide. Meestal wordt dit expliciet vastgelegd wanneer een gebruiker of een bovenliggend systeem een betalingsverzoek indient. Daarbij wordt een nieuwe transactie aangemaakt met een uniek ID. | ||
| Waarom dit belangrijk is Dit is de belangrijkste startgebeurtenis van het betalingsproces. De tijd tussen deze activiteit en de afronding geeft de totale doorlooptijd van begin tot eind. Die is belangrijk om de algehele procesefficiëntie te meten. Waar vind je dit? Dit is waarschijnlijk een expliciete gebeurtenis in de centrale transactietabel of een aparte event log in ACI. Zoek naar een aanmaaktimestamp die hoort bij de Payment Transaction ID. Vastleggen Te herkennen aan de aanmaakregistratie of een expliciete gebeurtenis 'Create' in het transactielog. Gebeurtenistype explicit | |||
| Fout bij betaling vastgesteld | Geeft aan dat het systeem op enig moment een probleem met de betaling heeft vastgesteld, bijvoorbeeld ongeldige data of een compliance-waarschuwing. Deze gebeurtenis wordt meestal expliciet geregistreerd met een bijbehorende foutcode. | ||
| Waarom dit belangrijk is Deze activiteit vormt het startpunt voor analyses van herhaalwerk en uitzonderingen. De activiteit is nodig voor de dashboards 'Analyse van mislukte betalingen en herhaalwerk' en 'Doorlooptijd van foutoplossing'. Waar vind je dit? Zoek naar expliciete registraties in een foutlogtabel of naar een statuswijziging naar 'Fout' of 'Correctie vereist' in de transactietabel. Koppel deze gebeurtenissen aan de Payment Transaction ID. Vastleggen Er wordt een expliciete gebeurtenis geregistreerd wanneer de validatie- of verwerkingsengine van het systeem een fout vaststelt. Gebeurtenistype explicit | |||
| Geld overgemaakt | Dit geeft aan dat het betalingsnetwerk heeft bevestigd dat het geld van de rekening van de betaler is afgeschreven. Meestal wordt dit vastgelegd op basis van een inkomend statusbericht van het netwerk. | ||
| Waarom dit belangrijk is Dit bevestigt dat het externe netwerk de betaling heeft uitgevoerd. Het markeert het begin van de afwikkelingsperiode en is een belangrijke invoer voor de KPI 'Average Payment Settlement Time'. Waar vind je dit? Dit is een expliciete gebeurtenis die wordt geactiveerd door een inkomend statusbericht, bijvoorbeeld een MT103 van SWIFT of een ACH-bevestiging. Het bericht werkt de betalingsregistratie bij. Vastleggen Wordt vastgelegd zodra een bevestigingsbericht van het clearingnetwerk is ontvangen. Gebeurtenistype explicit | |||
| Betaling afgestemd | Dit is de laatste boekhoudkundige stap. De betalingstransactie in ACI wordt hierbij vergeleken met bankafschriften of grootboekposten. Dit kan een expliciete gebeurtenis uit een afstemmingsmodule zijn of worden afgeleid uit een statuswijziging. | ||
| Waarom dit belangrijk is Deze activiteit meet de efficiëntie van het afstemmingsproces op de financiële administratie. Vertragingen kunnen de nauwkeurigheid van financiële rapportages beïnvloeden en onopgeloste betalingsproblemen aan het zicht onttrekken. Waar vind je dit? Deze informatie kan afkomstig zijn uit een speciale afstemmingsmodule in ACI of uit een extern ERP-systeem. De informatie wordt vastgelegd via een statusupdate naar 'Afgestemd' op de betalingsregistratie. Vastleggen Afgeleid uit een definitieve statusupdate naar 'Afgestemd' of uit afstemmingsdata die op basis van Payment ID zijn gekoppeld. Gebeurtenistype inferred | |||
| Betaling afgewezen | Dit gebeurt wanneer een goedkeurder het betalingsverzoek afwijst. Vaak moet het verzoek dan worden aangepast en opnieuw ingediend. Deze expliciete gebeurtenis stopt de voortgang van de betaling en leidt tot een herstelronde. | ||
| Waarom dit belangrijk is Dit maakt herstelwerk en procesinefficiënties zichtbaar. Door het aantal afwijzingen te volgen, kun je problemen met de kwaliteit van de oorspronkelijke data of met indieningsregels opsporen en het herstelwerk analyseren. Waar vind je dit? Wordt vastgelegd als expliciete gebeurtenis in het goedkeuringslog of als statuswijziging naar 'Rejected' in de transactietabel. De gebeurtenis kan een reden voor de afwijzing bevatten. Vastleggen Wordt vastgelegd wanneer een goedkeurder de afwijzing in het systeem registreert. Gebeurtenistype explicit | |||
| Betaling bevestigd | Dit is de interne bevestiging dat de betaling succesvol is verwerkt en dat er een bevestiging is ontvangen. Vaak vormt dit het startsein om de begunstigde of andere interne systemen op de hoogte te brengen. | ||
| Waarom dit belangrijk is Deze mijlpaal is belangrijk om naleving van betaaldatums en het percentage tijdige betalingen te meten. De timestamp geeft duidelijk aan wanneer de organisatie de betaling als uitgevoerd beschouwt. Waar vind je dit? Meestal af te leiden uit een statuswijziging in de tabel met betalingstransacties naar 'Confirmed' of 'Completed', nadat de bevestiging van het externe netwerk is ontvangen. Vastleggen Af te leiden uit een statuswijziging naar 'Confirmed' of 'Processed'. Gebeurtenistype inferred | |||
| Betaling mislukt | Eindstatus die aangeeft dat de betaling niet kon worden voltooid door een probleem dat niet kan worden opgelost. Dit is iets anders dan een oplosbare fout en betekent dat de betaling definitief is mislukt. | ||
| Waarom dit belangrijk is Door deze eindgebeurtenis bij te houden, kun je het totale percentage mislukte betalingen berekenen. Analyse van de oorzaken kan helpen de datakwaliteit en procesregels te verbeteren. Waar vind je dit? Afgeleid uit een definitieve eindstatus, zoals 'Mislukt', 'Geannuleerd' of 'Afgewezen door bank', in de transactiedata. De status verandert daarna niet meer. Vastleggen Afgeleid uit een definitieve foutstatus in de betalingsregistratie. Gebeurtenistype inferred | |||
| Betaling ter goedkeuring verzonden | Dit geeft aan dat de betaling de eerste validatie heeft doorstaan en is doorgestuurd voor de benodigde goedkeuring door een manager of financiële afdeling. Meestal wordt dit vastgelegd als een statuswijziging in de betalingsworkflow. | ||
| Waarom dit belangrijk is Dit markeert het begin van het deelproces voor goedkeuring. De tijd tussen dit moment en 'Payment Approved' is belangrijk voor het dashboard 'Payment Approval Cycle Time Analysis'. Waar vind je dit? Af te leiden uit een wijziging van de betalingsstatus in de transactiegegevens, bijvoorbeeld naar 'Pending Approval'. Vastleggen Af te leiden uit een statuswijziging naar 'Pending Approval' of een vergelijkbare status, met de bijbehorende timestamp. Gebeurtenistype inferred | |||
| Betalingsgegevens gevalideerd | Dit geeft aan dat automatische of handmatige controles zijn afgerond om te bevestigen dat betalingsgegevens, zoals de gegevens van de begunstigde en bankcodes, kloppen. Vaak is deze activiteit af te leiden uit een statuswijziging van de transactie, bijvoorbeeld van 'New' naar 'Validated' of 'Pending Approval'. | ||
| Waarom dit belangrijk is Hiermee volg je hoe efficiënt de eerste datavalidatiestappen verlopen. Vertragingen kunnen hier knelpunten eerder in het proces veroorzaken en de kans op betalingsfouten later vergroten. Waar vind je dit? Af te leiden uit statuswijzigingen in de hoofdtabel met betalingstransacties. Vergelijk de timestamps van de status 'Created' met die van een latere status, zoals 'Validated'. Vastleggen Af te leiden uit een wijziging van de betalingsstatus, bijvoorbeeld van 'Entered' naar 'Validated'. Gebeurtenistype inferred | |||
| Betalingsopdracht verzonden | Dit markeert het moment waarop de betalingsopdracht wordt samengesteld en verzonden naar een extern betalingsnetwerk, zoals SWIFT, ACH of SEPA. ACI-systemen leggen deze overdracht expliciet vast voor controle en opvolging. | ||
| Waarom dit belangrijk is Voor veel soorten betalingen is dit het punt waarop terugdraaien niet meer mogelijk is. Door dit moment te volgen, kun je de interne verwerkingstijd meten voordat externe partijen het overnemen. Waar vind je dit? Dit is vrijwel altijd een expliciete gebeurtenis in de transactie- of berichtenlogs van ACI, vaak met een referentienummer van het netwerk. Vastleggen Er wordt een expliciete logregel aangemaakt wanneer het betalingsbericht naar het externe netwerk wordt verzonden. Gebeurtenistype explicit | |||
| Fout bij betaling opgelost | Geeft aan dat een gebruiker een eerder vastgestelde fout heeft gecorrigeerd en de betaling opnieuw heeft ingediend voor verwerking. Dit wordt vaak afgeleid uit een statuswijziging van een foutstatus naar een normale verwerkingsstatus. | ||
| Waarom dit belangrijk is Met deze activiteit wordt de afhandeling van de uitzondering afgesloten. De tijd tussen 'Fout bij betaling vastgesteld' en deze gebeurtenis is de doorlooptijd van de foutoplossing, een belangrijke maatstaf voor de efficiëntie van de bedrijfsvoering. Waar vind je dit? Afgeleid uit een statuswijziging van 'Fout' naar een verwerkingsstatus, zoals 'In afwachting van goedkeuring' of 'Gevalideerd'. Het kan ook gaan om een expliciete registratie van een gebruikersactie. Vastleggen Afgeleid uit een statuswijziging vanuit een foutstatus, wat aangeeft dat er een correctie is uitgevoerd. Gebeurtenistype inferred | |||
Extractiegidsen
Stappen
Toegang tot de databaseomgeving: Meld je met SQL Server Management Studio (SSMS) of een compatibele client aan bij de SQL Server-instantie waarop de ACI Postilion Realtime-database draait.
Zoek de belangrijkste tabellen: Zoek de tabellen
post_tran(transactielogboek) enpost_tran_cust(uitbreiding met aangepaste data). Controleer of jeSELECT-rechten op deze objecten hebt.Bepaal de case-ID: In deze extractie wordt
retrieval_reference_nrgebruikt alsPaymentTransactionId. Gebruikt jouw implementatie een andere unieke sleutel, zoalssystem_trace_audit_nrin combinatie mettransmission_date_time, pas de queryselectie dan aan.Stel de filterparameters in: Open de query hieronder. Zoek bovenaan het script de variabelen
@StartDateen@EndDate. Stel de gewenste extractieperiode in, bijvoorbeeld de afgelopen 30 tot 90 dagen, om de prestaties te verbeteren.Controleer de activiteitslogica: De query koppelt ISO 8583-berichttypen, zoals 0200 en 0210, en responscodes aan de 14 vereiste process mining-activiteiten. Controleer de
CASE-instructies en stem ze af op de configuratie van jouw ACI-interface.Voer de query uit: Voer het volledige script uit. De query gebruikt
UNION ALLom verschillende transactiestatussen om te zetten naar één event log.Controleer de uitvoer: Controleer of de vereiste kolommen aanwezig zijn:
PaymentTransactionId,ActivityNameenEventTimestamp. Let erop dat belangrijke velden niet onverwacht de waardeNULLbevatten.Exporteer de data: Klik met de rechtermuisknop op het resultatenscherm in SSMS en sla de uitvoer op als CSV-bestand, bijvoorbeeld
ACI_Payments_EventLog.csv.Maak de data klaar voor ProcessMind: Open het CSV-bestand en controleer of
EventTimestampde standaardnotatie YYYY-MM-DD HH:MM:SS gebruikt enPaymentAmountalleen numerieke waarden bevat.Uploaden: Importeer het gecontroleerde CSV-bestand in ProcessMind en koppel de kolommen respectievelijk aan Case-ID, Activiteit en Timestamp.
Configuratie
- Datumbereik: De tabellen
post_tranvan ACI groeien snel. Beperk de extractie bij voorkeur tot een voortschrijdende periode van 3 maanden of gebruik partition switching als dat beschikbaar is. - Responscodes: De query gaat ervan uit dat
rsp_code = '00'succes betekent. Gebruikt jouw instelling andere codes voor goedkeuring of succes, zoals '08' of '10', pas de filters dan aan. - Berichttypen (ISO 8583): Het script gebruikt standaardberichttypen (0100/0200 voor verzoeken, 0210 voor antwoorden). Voor aangepaste berichttypen in de configuratie
source_node_namezijn mogelijk aanpassingen nodig. - Systeemprestaties: De query gebruikt
NOLOCK-hints om blokkering van live transactieverwerking te voorkomen. Verwijder deze hints niet in een productieomgeving. - Valuta's: Bedragen worden als ruwe waarden geëxtraheerd. Gebruik
tran_currency_codeals je bij de analyse bedragen in verschillende valuta wilt normaliseren.
a Voorbeeldquery sql
DECLARE @StartDate DATETIME = '2023-01-01 00:00:00';
DECLARE @EndDate DATETIME = '2023-01-31 23:59:59';
/* 1. Payment Request Created: Initial transaction request received */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Request Created' AS ActivityName,
t.datetime_req AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Origination' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.message_type IN ('0100', '0200') -- Authorization/Financial Request
UNION ALL
/* 2. Payment Details Validated: Inferred after request but before routing */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Details Validated' AS ActivityName,
DATEADD(second, 1, t.datetime_req) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Compliance' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.message_type IN ('0100', '0200')
AND t.rsp_code = '00' -- Implies validation passed
UNION ALL
/* 3. Payment Sent For Approval: Routing to internal authorization */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Sent For Approval' AS ActivityName,
DATEADD(second, 2, t.datetime_req) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Risk Management' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.message_type IN ('0100', '0200')
AND t.tran_amount_req > 1000 -- Example threshold for approval logic
UNION ALL
/* 4. Payment Approved: Successful response code logic */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Approved' AS ActivityName,
t.datetime_rsp AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'Approver' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Risk Management' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code = '00'
AND t.message_type IN ('0110', '0210')
UNION ALL
/* 5. Payment Rejected: Specific rejection codes */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Rejected' AS ActivityName,
t.datetime_rsp AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
t.rsp_code AS ErrorCode,
1 AS IsRework,
NULL AS EndToEndCycleTime,
'Risk Management' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code IN ('51', '05', '61') -- Insufficient funds, Do not honor, etc.
UNION ALL
/* 6. Payment Authorized: Successful authorization completion */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Authorized' AS ActivityName,
DATEADD(millisecond, 500, t.datetime_rsp) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Operations' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code = '00'
AND t.message_type = '0110' -- Authorization Response
UNION ALL
/* 7. Payment Instruction Sent: Handoff to Sink Node */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Instruction Sent' AS ActivityName,
DATEADD(second, 1, t.datetime_req) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
t.sink_node_name AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Network Operations' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.sink_node_name IS NOT NULL
AND t.message_type IN ('0200', '0100')
UNION ALL
/* 8. Funds Transferred: External network confirmation */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Funds Transferred' AS ActivityName,
t.datetime_rsp AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
t.sink_node_name AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Treasury' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code = '00'
AND t.message_type = '0210' -- Financial Response
UNION ALL
/* 9. Payment Confirmed: Final acknowledgment */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Confirmed' AS ActivityName,
DATEADD(second, 5, t.datetime_rsp) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Customer Service' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code = '00'
AND t.message_type = '0210'
UNION ALL
/* 10. Payment Settled: Settlement/Reconciliation message */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Settled' AS ActivityName,
ISNULL(t.settle_date, t.datetime_rsp) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'Settlement Engine' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Accounting' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.message_type = '0500' -- Reconciliation
AND t.rsp_code = '00'
UNION ALL
/* 11. Payment Failed: System Errors */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Failed' AS ActivityName,
t.datetime_rsp AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
t.rsp_code AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'IT Operations' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code IN ('91', '96', '06') -- Issuer down, System malfunction
UNION ALL
/* 12. Payment Error Identified: General Error */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Error Identified' AS ActivityName,
t.datetime_rsp AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
t.rsp_code AS ErrorCode,
1 AS IsRework,
NULL AS EndToEndCycleTime,
'Compliance' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code NOT IN ('00')
AND t.message_type IN ('0210', '0110')
UNION ALL
/* 13. Payment Error Resolved: Reversal or Correction followed by Success */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Error Resolved' AS ActivityName,
t.datetime_req AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'System' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
1 AS IsRework,
NULL AS EndToEndCycleTime,
'Operations' AS Department
FROM post_tran t WITH (NOLOCK)
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.message_type IN ('0400', '0420') -- Reversal/Advice
UNION ALL
/* 14. Payment Reconciled: Batch processing flag from Custom Table */
SELECT
t.retrieval_reference_nr AS PaymentTransactionId,
'Payment Reconciled' AS ActivityName,
ISNULL(c.recon_date, DATEADD(hour, 24, t.datetime_req)) AS EventTimestamp,
CAST(t.tran_amount_req AS DECIMAL(18,2)) AS PaymentAmount,
t.tran_currency_code AS PaymentCurrency,
'Recon Module' AS EventUser,
t.source_node_name AS ProcessingChannel,
t.tran_type AS PaymentType,
NULL AS PaymentDueDate,
NULL AS ErrorCode,
0 AS IsRework,
NULL AS EndToEndCycleTime,
'Finance' AS Department
FROM post_tran t WITH (NOLOCK)
JOIN post_tran_cust c WITH (NOLOCK) ON t.post_tran_cust_id = c.post_tran_cust_id
WHERE t.datetime_req BETWEEN @StartDate AND @EndDate
AND t.rsp_code = '00'
AND t.message_type = '0210'
AND c.recon_date IS NOT NULL; Klaar om aan de slag te gaan?
Gebruik deze template als leidraad om data over betalingsverwerking te verzamelen. Krijg waardevolle inzichten en verbeter vandaag nog de efficiëntie van je financiële workflows.
Verbeter de betalingsverwerking: start nu je gratis proefperiode
Voorkom uitzonderingen bij betalingen en bereik 98% automatische verwerking zonder handmatige tussenkomst.
Geen creditcard nodig, binnen enkele minuten ingesteld