So on this implementation the payment design for electronic payment is as follows:
- A decision was made by the customer to use a third party to transmit payment files to the bank
- It was agreed that the payment file would be a generic comma separated text file (my preference would be the ISO 2000 as that is XML...more on this later)
For the payment process itself the solution was fairly standard as follows:
- Payment journal to be created
- Payment lines to be generated either through manual selection or the payment proposal routine, this included centralised payment
- Payment file to be generated (this was configured through Electronic Reporting (ER) to the agreed standard per the business requirement to support both UK local payment and international payment
- All fields to support BACS, SWIFT and other electronic funds transfer was included in the generic file designed
- The middleware product was responsible for picking out all the fields responsible for each type of payment, i.e. SWIFT, BACS etc.
- The generated bank was sent to the bank by the middleware
- 2 electronic payment status reports are then received from the bank. The PAIN002 and the CAMT054.
- The payment status report were then imported into the Payment transfer screen.
- For the Payment Status Report, the method of payment was configured with the standard PAIN002 and CAMT054 from the standard Payment model
- The PSR then set the statuses of the payment lines, per the bank, which then made it available for posting.
Here are some challenges experienced which required additional ER work
- Need to remove commas from addresses, as it confused the middleware product, as the file itself was csv. A transformation was written to remove that
- Need to ensure amounts were send with the exact number of decimals each time. D365 will spit out £30 but a transformation had to ensure that £30.00 was sent.
- Need to stop the generation of the file if the amount in the file would generate a -ve file. A validation was written to achieve this
Here are some of the transformation written.