27/02/2007
I en stadig mere digitaliseret finansverden er hastighed, nøjagtighed og automatisering afgørende for en effektiv likviditetsstyring. Virksomheder sender dagligt tusindvis af betalinger via SEPA-kreditoverførsler og direkte debiteringer. Men hvad sker der, efter at betalingsfilen er sendt til banken? Hvordan ved man, om en betaling er blevet accepteret, er under behandling, eller endnu vigtigere, er blevet afvist? Svaret ligger i en standardiseret meddelelse kendt som pain.002 Customer Payment Status Report. Denne artikel giver en dybdegående forklaring på, hvad en pain.002-rapport er, hvordan den fungerer i praksis, og hvordan systemer som SAP udnytter den til at automatisere håndteringen af returnerede betalinger.

Hvad er en pain.002 Betalingsstatusrapport?
En pain.002, eller betalingsstatusrapport, er en XML-baseret logfil, der sendes fra en bank (eller en anden finansiel institution) til kunden (initiativtageren af betalingen). Den fungerer som en kvittering og statusopdatering for en tidligere indsendt betalingsinstruktion, typisk en pain.001 (SEPA Credit Transfer) eller en pain.008 (SEPA Direct Debit). Begge formater er en del af den internationale ISO 20022-standard, som sigter mod at standardisere elektronisk dataudveksling mellem finansielle institutioner.
Formålet med pain.002 er at give klar og struktureret feedback om behandlingsresultatet for hver enkelt transaktion i en betalingsbatch. Rapporten specificerer den aktuelle status for betalingerne, som kan være:
- Accepteret (Accepted - ACCP): Betalingen er blevet valideret og accepteret til videre behandling af banken.
- Afvist (Rejected - RJCT): Betalingen er blevet afvist på grund af en fejl, f.eks. et ugyldigt kontonummer, utilstrækkelig dækning eller andre uoverensstemmelser. Rapporten vil ofte indeholde en årsagskode.
- Afventer (Pending - PDNG): Betalingen er modtaget, men er endnu ikke fuldt behandlet. Dette kan skyldes yderligere valideringstjek eller behandlingstider.
Denne strukturerede feedback er uvurderlig, da den gør det muligt for virksomhedens økonomisystem (ERP-system) automatisk at læse og reagere på status for hver betaling, hvilket minimerer behovet for manuel opfølgning.
Processen: Fra Faktura til Automatisk Tilbageførsel
For at forstå værdien af pain.002 er det nyttigt at se på hele betalingsprocessen. En typisk proces for udgående betalinger kan se således ud:
- Fakturaoprettelse og Betalingskørsel: En leverandørfaktura registreres i virksomhedens ERP-system. Under en betalingskørsel (f.eks. via F110 i SAP) samles åbne poster, og der oprettes et betalingsdokument.
- Generering af Betalingsfil (pain.001): Systemet genererer en pain.001-fil, som indeholder alle betalingsinstruktioner i en struktureret XML-format. Denne fil sendes til banken.
- Bankens Behandling: Banken modtager pain.001-filen, validerer den og forsøger at udføre hver enkelt transaktion.
- Statusrapport (pain.002) sendes retur: Efter behandlingen genererer banken en pain.002-rapport og sender den tilbage til virksomheden. Denne rapport indeholder status for hver betaling fra den oprindelige pain.001-fil.
- Automatisk behandling i ERP-systemet: Virksomhedens system importerer pain.002-filen. For afviste betalinger kan systemet automatisk tilbageføre det oprindelige betalingsdokument. Dette genåbner den oprindelige faktura, så den kan korrigeres og inkluderes i en ny betalingskørsel.
Uden pain.002-rapporten ville virksomheden først opdage en afvist betaling, når de modtog deres kontoudtog (f.eks. i CAMT.053-format), hvilket kan være forsinket. Pain.002 giver en meget hurtigere feedback-loop, hvilket forbedrer den operationelle effektivitet markant.
Nøgleelementer i en pain.002-fil: Sådan findes den rigtige betaling
Magien bag automatiseringen ligger i, hvordan pain.002-filen refererer tilbage til den oprindelige betalingsinstruktion. Dette gøres ved hjælp af specifikke identifikatorer (tags) i XML-strukturen, som skal matche informationen fra den oprindelige pain.001-fil.
De tre vigtigste tags er:
<OrgnlMsgId>(Original Message ID): Dette tag indeholder det unikke ID fra hele den oprindelige pain.001-fil (<MsgId>). Det identificerer den specifikke betalingsfil, som statusrapporten vedrører. I SAP-kontekst svarer dette ofte til feltet REGUT-RENUM.<OrgnlPmtInfId>(Original Payment Information ID): Dette tag identificerer en specifik betalingsbatch inden for den oprindelige fil. En pain.001-fil kan indeholde flere batches (f.eks. betalinger fra forskellige bankkonti).<OrgnlEndToEndId>(Original End-to-End ID): Dette er den mest granulære identifikator og peger direkte på en enkelt transaktion. For at sikre en problemfri proces er det bedste praksis, at dette ID indeholder betalingsdokumentnummeret fra ERP-systemet. Det er denne reference, der gør det muligt for systemet at finde og tilbageføre præcis det rigtige dokument.
For at denne mekanisme skal fungere, er det afgørende, at ERP-systemet gemmer en reference til disse ID'er, når pain.001-filen genereres. I SAP sker dette ved at eksportere betalingsdata til en klyngentabel kaldet RFDT. Uden denne mellemlagring ville systemet ikke kunne validere, at pain.002-rapporten er et svar på en fil, det selv har genereret, og processen ville fejle.
Implementering i Praksis: SAP og Moderne API'er
Automatisk Tilbageførsel i SAP
SAP tilbyder en standardrapport, RFEBKA00 (transaktion FF_5), til at importere og behandle pain.002-filer, specifikt med fokus på afviste betalinger. Når rapporten køres, sker følgende:
- Transformation: En XSLT-transformation mapper data fra pain.002-filens XML-struktur til SAP's interne datastrukturer. For eksempel mappes
<OrgnlEndToEndId>til et felt, som systemet kan bruge til at søge efter dokumentnummeret. - BAdI-logik: En Business Add-In (BAdI),
FIEB_MAPPING_X, udfører den centrale forretningslogik. Den bruger de mappede ID'er til at slå op i RFDT-tabellen og finde det tilsvarende betalingsdokument. - Tilbageførsel: Hvis et match findes, og status er 'RJCT', vil systemet automatisk bogføre et tilbageførselsdokument, der annullerer den oprindelige betaling.
Denne funktionalitet er dybt integreret med SAP's Payment Medium Workbench (PMW) og DMEE(X)-træer, som er ansvarlige for at generere pain.001-filerne korrekt og kalde de nødvendige funktioner (f.eks. DMEE_EXIT_SEPA_21, DMEE_EXIT_SEPA_31) for at gemme data i RFDT-tabellen.
Moderne Integration via API'er
Mens traditionelle bankforbindelser ofte er baseret på filoverførsler (f.eks. via SFTP), bruger moderne finansielle platforme og neobanker i stigende grad API'er (Application Programming Interfaces) til at håndtere betalinger. Processen er den samme i princippet, men teknologien er anderledes.

En virksomhed kan f.eks. indsende en pain.001-meddelelse som 'body' i en POST-anmodning til bankens API-endepunkt. Banken vil så svare synkront eller asynkront med en pain.002-meddelelse i API-svaret.
Her er et eksempel på, hvordan API-interaktionen kan se ud:
| Element | Beskrivelse |
|---|---|
| API Endpoint | POST /api/v1/payments/iso20022/initiation |
| Request Header | Content-Type: application/xmlAuthorization: Bearer [token]Idempotency-Key: [unik-nøgle] |
| Request Body | Selve pain.001 XML-dataene. |
| Success Response (HTTP 201 Created) | API'et svarer med HTTP-status 201, og 'body' indeholder pain.002 XML-dataene, der bekræfter, at betalingerne er accepteret til behandling. |
| Error Response (HTTP 400 Bad Request) | Hvis pain.001-filen er ugyldig (f.eks. XSD-valideringsfejl), svarer API'et med en fejlmeddelelse, og der genereres ingen pain.002. |
Denne API-baserede tilgang giver øjeblikkelig feedback og er ofte lettere at integrere i moderne, cloud-baserede systemer.
Sammenligningstabel: pain.001 vs. pain.002
| Egenskab | pain.001 (Customer Credit Transfer Initiation) | pain.002 (Customer Payment Status Report) |
|---|---|---|
| Formål | At initiere en eller flere betalinger. | At rapportere status på en tidligere betalingsinstruktion. |
| Afsender | Kunde / Virksomhed | Bank / Finansiel institution |
| Retning | Kunde → Bank | Bank → Kunde |
| Indhold | Detaljerede betalingsinstruktioner (beløb, modtager, konto osv.). | Status pr. transaktion (Accepteret, Afvist, Afventer) og referencer til den oprindelige fil. |
Ofte Stillede Spørgsmål (FAQ)
Kan en pain.002-fil indeholde status for flere betalinger?
Ja, absolut. En pain.002-rapport er designet til at give status for en hel batch af betalinger, der blev sendt i en enkelt pain.001-fil. Den vil indeholde en statussektion for hver enkelt transaktion.
Hvad sker der, hvis jeg ikke modtager en pain.002-rapport?
Hvis din bank ikke tilbyder pain.002-rapporter, vil du typisk først opdage en afvist betaling, når du afstemmer dit bankkontoudtog (f.eks. via en CAMT.053-fil). Dette forsinker processen og kræver mere manuelt arbejde for at identificere og korrigere fejlen. Du mister den proaktive og automatiserede fordel, som pain.002 tilbyder.
Behandler alle systemer kun afviste poster fra pain.002?
Nej, det afhænger af systemet og konfigurationen. Mens SAP's standardrapport RFEBKA00 primært er designet til at handle på afviste betalinger (RJCT), kan mere avancerede løsninger, som f.eks. SAP Bank Communication Management (BCM), overvåge og vise status for alle betalinger (Accepteret, Afvist, Afventer) og give et samlet overblik i et centralt dashboard.
Er pain.002 kun relevant for SEPA-betalinger?
Nej. Selvom formatet er meget udbredt i SEPA-området (Single Euro Payments Area), er pain.002 en del af den globale ISO 20022-standard og kan bruges til statusrapportering for mange forskellige typer af elektroniske betalinger globalt, afhængigt af bankens implementering.
Hvis du vil læse andre artikler, der ligner Pain.002: Din komplette guide til betalingsstatus, kan du besøge kategorien Sundhed.
