ISO20022 Payment in D365FO for Norway – Part 6 (Import Pain.002 file)

Once you have generated Payment file (Pain001 –  CustomerCreditTransferInitiation; pain.001.001.03; Norwegian: Utbetalingsfil) from vendor payment journal in D365FO via GER config “ISO20022 Credit transfer (NO)”, it can be sent directly to bank via integration or can be uploaded to Corporate Netbank manually.

Then, Bank will generate a payment status report via an electronic log (i.e. Pian002 file; Norwegian: Mottaksretur) on different level for receiving and rejecting the payment file.

PS. Pain001 file will be either in “Structured” or “Unstructured” format.

Pain002 file can occur on different levels:

  • Group header (<OrgnlGrpInfAndSts>): It will confirm the receipt of the Pain.001 and perform content validation. It will consist either accepted (ACTC) or rejected (RJCT). It is related to syntax and compliance validations of Pain.001 file.
Pain002-Group header (<OrgnlGrpInfAndSts>)

Note:  If is rejected (i.e. <GrpSts>RJCT</GrpSts>) whole Pain.001 must be rectified and re-send to bank.

  • Payment information level (<OrgnlPmtInfAndSts>): It will indicate if bank has found a business error on payment level. It will consist rejected (RJCT) or pending (PDNG) or accepted with change (ACWC) status.
Pain002-Payment information level (<OrgnlPmtInfAndSts)

Note:  Tag Part (<PmtInfSts>PART</PmtInfSts>)  will be applied when business error found on one or more credit transactions levels while all transactions are not rejected.

  • Credit Transaction Level (<TxtInfAndSts>): It will indicate each single transaction status report. It will consist rejected (RJCT) or pending (PDNG) or accepted with change (ACWC) status.
Pain002-Credit Transaction Level (<TxtInfAndSts>)

Note:  Rejected transactions (<TxSts>RJCT</TxSts>) need to be rectified that re-send to bank via generating a new Pain001 file.

Note:  Pending transactions (<TxSts>PDNG</TxSts>) means that the transaction is on-hold because of insufficient funds or bank is still processing the transaction.

Once you have got Pain002 file from bank (either manually from nettbank or via integration), it can be imported in D365FO from Account payable > Payment > Payment Transfers and click on “Return file-vendor”

Return file -vendor

Then choose payment method that you have used for creating Pain001 file.

Load payments – Method of payments

Note:  Payment method needs to be associated to Pain002 as return format configuration.

On next form, choose “Pain002”

Load payments – Return format configuration

Then upload pain002 file and click on “OK” to import the file.

Upload Pain002 file

Once the file get imported, payment status will be modified from “Sent” to “Received”.

Payment transfers – Payment status

If the Pain002 file contains partially rejected status on payment information level or credit transaction level, return format  error codes can give better overview of error messages while importing Pain002 files. You need to define the error codes on (Account payable > Setup > Payment setup > Return format error codes).

These external status reason codes using for interpreting group status code with additional information that will show up while importing payment files. Following return error codes can be used:

AC01IncorrectAccountNumberAccount number is invalid or missing.  
AC03InvalidCreditorAccountNumberCreditor account number invalid or missing
AC06BlockedAccountAccount specified is blocked, prohibiting posting of transactions against it.
AC07ClosedCreditorAccountNumberCreditor account number closed
AG06InvalidCreditorAgentCountryCreditor agent country code is missing or invalid
AG08InvalidAccessRightsTransaction failed due to invalid or missing user or access right
AM01ZeroAmountSpecified message amount is equal to zero
AM03NotAllowedCurrencySpecified message amount is an non processable currency outside of existing agreement
AM11InvalidTransactionCurrencyTransaction currency is invalid or missing
AM14AmountExceedsAgreedLimitTransaction amount exceeds limits agreed between bank and client
BE04MissingCreditorAddressSpecification of creditor’s address, which is required for payment, is missing/not correct (formerly IncorrectCreditorAddress).
BE07MissingDebtorAddressSpecification of debtor’s address, which is required for payment, is missing/not correct.
BE11InvalidCreditorCountryCreditor country code is missing or invalid
BE22MissingCreditorNameCreditor name is missing
CH03RequestedExecutionDateOrRequestedCollectionDateTooFarInFutureValue in Requested Execution Date or Requested Collection Date is too far in the future
CH20DecimalPointsNotCompatibleWithCurrencyNumber of decimal points not compatible with the currency
DU02DuplicatePaymentInformationIDPayment Information Block is not unique.
DUPLDuplicatePaymentPayment is a duplicate of another payment
NARRNarrativeReason is provided as narrative information in the additional reason information.
RC02InvalidBankIdentifierBank identifier is invalid or missing.
Generic usage if cannot specify between debit or credit account
RC03InvalidDebtorBankIdentifierDebtor bank identifier is invalid or missing
RC04InvalidCreditorBankIdentifierCreditor bank identifier is invalid or missing
RC07InvalidCreditorBICIdentifierCreditor BIC identifier is invalid or missing
RR01MissingDebtorAccountOrIdentificationSpecification of the debtor’s account or unique identification needed for reasons of regulatory requirements is insufficient or missing
RR02MissingDebtorNameOrAddressSpecification of the debtor’s name and/or address needed for regulatory requirements is insufficient or missing.
RR03MissingCreditorNameOrAddressSpecification of the creditor’s name and/or address needed for regulatory requirements is insufficient or missing.
RR04RegulatoryReasonRegulatory Reason
RR09InvalidStructuredCreditorReferenceStructured creditor reference invalid or missing.
Return format error codes

Useful links:

One Comment Add yours

  1. Nik says:



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s