A Quick Intro to Implementing the CGI PAIN.001 Format 6

Anybody that is implementing the PAIN.001 format needs to read this! Sometimes when you are looking to update or implement a new payments format it is difficult to know where to start. Add to this the different variety of payment formats, differing bank proprietary formats and requirements, country specific requirements, technical jargon, the squeeze on limited resources both from the business and from the IT function, a often fast approaching deadline and very soon you find yourself wondering what to do…?!?!?!

Well this is where the CGI group at SWIFT can help. In this post, I will provide a very high level guide to what you need to know and what you need to do to get started with a new payment format implementation.

What is CGI ?

CGI stands for Common Global Implementation and is a collection of people from both the financial (banks) and corporate world. CGI is supported by SWIFT in order to promote the adoption of the ISO20022 financial messaging standards, and to simplify the implementation of these ISO 20022 messages.

What is ISO 20022?

ISO 20022 is an international standard used to simplify financial messaging. ISO20022 enables you to utilise a messaging format that can be used globally.

What is a PAIN.001 Format?

The PAIN.001 (Payments Initiation) format is just one of the messages within ISO 20022 message set

My bank has a PAIN.001 Specification, I’m good….

Well, kind of! You could follow and develop the PAIN.001 format according to the specification provided by the bank. Or you could follow the CGI PAIN.001 format, which has been widely adopted by most of the major banks around the world.

Ok, so where can i get more information on the work CGI are doing?

The best place to go is to the CGI Introduction to the Working Groups – here you can see all of the initiatives that the CGI group are working on. From this page you will see that Payments Initiation is just one of the many focus areas. Other focus areas include direct debits and bank statements.

Take me to the PAIN.001 Format Stuff…

You can find the PAIN.001 format information at the CGI Resource Centre. You need to click on the Credit Transfers / Payments Status Work Group (WG1) link, which will open up access to view further documents

Wow, which PAIN.001 document do i need to read?

To get started i would suggest that you read the following excel spreadsheet documents:

3 Things to Keep In Mind….

The above specifications:

  • Have captured requirements for payments processing GLOBALLY – see if the country that you’re implementing the payment format is in the above list
  • Cover both domestic ACH payments and urgent wire payments
  • Always check with your bank that they support whatever you’re doing – the banks may have some slight variations!!
Kindly TWEET or share this post via LinkedIn- Thank You…!!

What is the Point of the CGI PAIN.001 Format?

The CGI PAIN.001 format will help you develop a standardised payment format (PAIN.001) that can be developed once and used in many countries, and with multiple banks. Rather than developing a new payment format with every bank and in different ways in a given country- the CGI PAIN.001 format gives you the ability to standardise the payment format and use it with some “minor changes” across multiple banks and countries.

It is important to understand that the CGI PAIN.001 format will need to be modified to adhere to any specific country, payment type or local clearing requirements. But once created, you will have a great start point for any payments interface.


Hope that helps!!!

6 thoughts on “A Quick Intro to Implementing the CGI PAIN.001 Format

  1. Pingback: SEPA Credit Transfer - SEPA for Corporates

  2. Pingback: 10 Key Benefits of XML Payments for Corporates

  3. Pingback: Why Payment File Upload into Internet Banking Is a Pain...

  4. Reply lucas Oct 19,2016 3:22 pm


    Here are some graphical representations of the formats :



    You may also find graphical representations of the formats at deeppay.


  5. Reply RAKESH Dec 7,2016 8:22 pm


    Can some one tell me which data elements value I need to change in pain.001 file to get the output as FED wire,BOOK wire ,CHIPS wire & swift wire in GPP.

    I will be sending 1 pain.001 files with multiple transactions in AMH—>GPP. MT103 will be sent to GPP as a result.

    Input File format –> Pain.001
    Output File Format –> MT103

    I need to verify in GPP that combination of 5 transactions includes FED,BOOK,CHIPS and Swift transaction.

    Thanks for the help in advance

  6. Reply power automate Apr 10,2022 7:51 pm

    I am genuinely delighted to glance at this website posts which carries tons of useful data,
    thanks for providing such data.

Leave a Reply




This site uses Akismet to reduce spam. Learn how your comment data is processed.