2023-12-12

Instruction No. 17/2023 on Information Reporting for the Commission Comparator

The Bank of Angola issued Instruction No. 17/2023 to establish mandatory rules and technical procedures for Banking Financial Institutions to report commission data via Webservice to the Commission Comparator. The directive requires institutions to submit accurate, complete, and up-to-date commission information for a defined set of financial products and services within thirty days of publication, using specified REST API endpoints and JSON formats. Non-compliance triggers sanctions under the General Regime for Financial Institutions Law, while ambiguities in interpretation remain subject to resolution by the Bank of Angola.

Banco Nacional de Angola logo

Angola

Banco Nacional de Angola

Click to view thumbnail

INSTRUCTION NO. 17/2023 of December 6 SUBJECT: FINANCIAL SYSTEM

  • Information Reporting for the Commission Comparator

Given the need to establish rules and procedures for reporting information, published under the Commission Comparator, aimed at facilitating the comparability of information on commissions applicable to a broad set of financial products and services marketed by Banking Financial Institutions; In accordance with the combined provisions of Article 8 of Notice No. 15/20, dated June 22, on Pricing of Financial Services and Products and Their Disclosure; Article 4(b) and Article 7(1), both of Notice No. 12/2016, dated September 5, on Protection of Financial Products and Services Consumers; Article 5(1) of Law No. 14/21, dated May 19 – General Regime for Financial Institutions Law; and Article 20(1) and Article 98(1), both of Law No. 24/21, dated October 18 – Bank of Angola Law; I DETERMINE:

  1. Object This Instruction establishes the rules and procedures that Banking Financial Institutions must observe when reporting information on commissions to the Bank of Angola, published under the Commission Comparator.

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 2 of 36 2. Scope This Instruction applies to Banking Financial Institutions supervised by the Bank of Angola, as provided in Article 7(2) of Law No. 14/21, dated May 19, General Regime for Financial Institutions Law. 3. Commission Comparator The Commission Comparator is a tool that allows simple and rapid comparison of the price/cost of commissions for financial products and services, listed in Annex I, which is an integral part of this Instruction. 4. Information Reporting 4.1. The base information for the Commission Comparator must be reported by Banking Financial Institutions via Webservice, for storage in the database and disclosure by the Bank of Angola. 4.2. The information referred to in the preceding subsection must be reported according to the communication model indicated in Annex II on the Technical Specification Manual, which is an integral part of this Instruction. 4.3. Banking Financial Institutions must ensure that the information filled in via Webservice is carried out considering the effective date of the pricing schedule and that it is true, complete, and up-to-date. 5. Transitional Provisions Banking Financial Institutions must comply with the provisions of this Instruction within 30 (thirty) days after its publication. 6. Sanctions Non-compliance with the provisions established in this Instruction constitutes a contravention provided for and punishable under Law No. 14/21, dated May 19 – General Regime for Financial Institutions Law.

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 3 of 36 7. Doubts and Omissions Doubts and omissions resulting from the interpretation and application of this Instruction are resolved by the Bank of Angola. 8. Entry into Force This Instruction enters into force on the date of its publication. PUBLISH. Luanda, December 6, 2023. THE GOVERNOR MANUEL ANTÓNIO TIAGO DIAS

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 4 of 36 ANNEX I COMMISSIONS TO BE CONSIDERED UNDER THE "COMMISSION COMPARATOR" TOOL

Code Description

1 8a1x Account maintenance with dedicated manager 2 7b2z Cash withdrawal in local currency at the counter 3 6c3y Cash withdrawal in foreign exchange at the counter 4 5d4w Statement issuance (2nd copy) 5 4e5v Annual fee 1st Year 1st Debit Card Holder 6 3f6u Annual fee 1st Year Other Debit Card Holders 7 2g7t Debit card issuance 8 1h8s Debit card replacement 9 0i9r Annual fee 1st Year 1st Credit Card Holder 10 9c2y Annual fee 1st Year Other Credit Card Holders 11 8d3z Credit card issuance 12 7e4w Credit card replacement 13 6f5v Annual fee 1st Year 1st Prepaid Card Holder 14 5g6u Annual fee 1st Year Other Prepaid Card Holders 15 4h7t Prepaid card issuance 16 3i8s Prepaid card replacement 17 2j9r Prepaid card loading 18 1k0o Credit withdrawal - 'Cash Advance' ATM - Abroad/ Credit Cards 19 0g2z Credit withdrawal - 'Cash Advance' ATM - Abroad/ Prepaid Cards 20 9h3y TPA Purchases - Abroad/ Credit Cards 21 8i4w TPA Purchases - Abroad/ Prepaid Cards 22 7j5v Intra-bank Different holder: Occasional at the counter 23 6k6u Inter-bank via SPTR – Occasional 24 5l7t Inter-bank via STC – Occasional 25 4m8s Inter-bank/ Cancellation Request 26 3n9r Inter-bank/ Transfer Return Request 27 2o0o Foreign exchange sales 28 1i2y OPE issuance (Financial Capacity Declaration) 29 0j3z Total expenses including dispatch, correspondent, and communication fees 30 9k4w Return due to Issuer Error/ Cancellation/ Stop Payment 31 8l5v Sales of foreign banknotes 32 7m6u Financial Capacity Declaration 33 6n7t Suitability/Integrity Declaration

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 5 of 36 ANNEX II BANK OF ANGOLA Technical Specification Manual Reporting Mechanism under the Commission Comparator Version 1.0 December 2023

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 6 of 36 Index

  1. INTRODUCTION ....................................................................................................................... 5 1.1. Document Scope.............................................................................................................. 5 1.2. Glossary and acronyms ...................................................................................................... 5
  2. INFORMATION TO BE REPORTED........................................................................................... 6 2.1. Implemented validations........................................................................................................ 6
  3. SERVICES ............................................................................................................................ 7
  4. SUBMISSION SERVICES..................................................................................................... 8 4.1. Authentication Service ........................................................................................................... 8 4.2. Commission submission............................................................................................................ 9 4.3. Mass commission submission .......................................................................................... 12 4.4. Delete Commission.................................................................................................................. 14 4.5. Update Commission ............................................................................................................... 15
  5. LISTING AND SEARCH SERVICES ...................................................................................... 17 5.1. Consult Commissions .............................................................................................................. 17 5.2. Total commissions ................................................................................................................ 18 5.3. Consult Bases..................................................................................................................... 19 5.4. Total service base............................................................................................................ 20 5.5. Consult Charging Periods ............................................................................................ 21 5.6. Total Charging Period...................................................................................................... 21 5.7. Consult Products................................................................................................................. 22 5.8. Total products .................................................................................................................. 24 5.9. Consult Services ................................................................................................................. 24 5.10. Total services .................................................................................................................. 25 5.11. Consult Product Types...................................................................................................... 26 5.12. Total Product Types ........................................................................................................ 27 5.13. Consult Measures................................................................................................................ 28 5.14. Total Measures ...................................................................................................................... 29 Annex 1 – Auxiliary Code Tables.........................................................................30 Annex 2 – Error Messages ........................................................................................32 Annex 3 – Next steps ............................................................................................33

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 7 of 36 CHANGE LOG VERSION DATE OBSERVATIONS 1.0 01-12-2023 Final Approved Version. Change in coding of Services, Products and Product Types

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 8 of 36

  1. Introduction 1.1. Document Scope This document describes the technical specifications and respective information structure adopted in the development of the Webservice for submitting commissions related to services associated with deposit accounts, cards, transfers, and cross-cutting service provisions for Banking Financial Institutions of the Angolan financial system. To this end, it will document with the greatest rigor and detail the requirements. For easier reading, the document is organized into 2 chapters: • Chapter 1 contains the document introduction and appropriate framework; • Chapter 2 contains the technical description of each presented service requirements.

1.2. Glossary and acronyms The following abbreviations, definitions, and concepts are presented as used throughout the document: BNA – Bank of Angola DTI – Information Technology Department DCF – Financial Conduct Department WEBSERVICE - A solution used in system integration and communication between different applications. JSON – an acronym for JavaScript Object Notation, is a compact, independent open standard format for simple and fast data exchange (parsing) between systems. REST (Representational State Transfer) – is an architectural style of software that defines a set of constraints to be used for creating web services.

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 9 of 36 2. Information to be reported The information to be reported to the BNA must be carried out according to the communication model specified in this document, allowing Financial Institutions to report to the BNA the information on selected commissions. 2.1. Implemented validations This section presents generically the validations that will be performed on the sent information. General validations All fields in the reports will be subject to a set of general validations, namely: ■ Field mandatory or optional status; ■ Validation of maximum allowed field size; ■ Data type validation, when a number is expected; amounts and balances must separate the decimal part with a '.', etc); ■ Validation of restrictive field contents, based on the Auxiliary Code Tables specified in the Annexes. The numerical values sent in various reports must follow these formatting parameters: ■ Must use the 'point' as decimal separator; ■ Cannot contain thousands separators; • Information to be Reported.

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 10 of 36 3. Services • Authentication For consumption of some services described in this document, authentication is required. Authentication is performed via Bearer Token scheme. • Expected volume Approximately 100 records per page are expected in sequential order. • Frequency and timing The webservice will be executed whenever necessary to record the information. • Communication Type o ( ) Synchronous o (X) Asynchronous o ( ) One Way • Transport Protocol o HTTP/HTTPS • Message Format o REST

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 11 of 36 4. Submission Services The submission services follow a logical interdependence, meaning that update data for specific information can only be reported if it has been previously reported. 4.1. Authentication Service Description: This service aims to obtain the token that allows authentication in the service. JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/authenticate Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/authenticate Method: POST NAME DESCRIPTION FILL* TYPE Username User Identifier. O String Password Access Password. O String Service Response { "username": "User", "password": "Password" } { "genericResponse": { "codigo": "0000", "id": 115, "nome": "TEST BANK", "sigla": "TB" }, "token": "XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx XxXxXxXxXxXx" }

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 12 of 36 4.2. Commission submission Description: This service aims to submit commissions of a specific Institution. JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/comissoes Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/comissoes Method: POST { "servicoID": "6c3y", "baseServicoID": 1, "periodoCobrancaID": 2, "medidaID": 3, "moedaID": 1, "nomeProduto": "Credit cards", "valorMinimo": 0.87, "Comentarios": "", "dataEntradaVigor": "2022-10-11" } NAME DESCRIPTION TYPE codigo Institution Code Integer id Institution Identification Integer nome Institution Name String sigla Institution Acronym String Token Code generated for service use String

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 13 of 36 NAME DESCRIPTION FILL* TYPE RULES TO OBSERVE/MAX LIMIT OBSERVATIONS servicoID Service Code O String Note Auxiliary Code Table “Annex A – Services” baseServicoID Service base code O Integer Note Auxiliary Code Table “Annex E – Service Bases” periodoCobrancaID Charging base period code O Integer Note Auxiliary Code Table “Annex F – Charging Periods” medidaID Measure code used for reporting the commission value O Integer Note Auxiliary Code Table “Annex D – Measures” nomeProduto Product Name O String 150 valorMinimo Minimum value of the commission for a given service O Decimal 10,2 10 numeric digits, with 2 decimals moedaID Currency Code O Integer Note Auxiliary Code Table “Annex G – Currencies” Comentarios Additional comments on the commission F String 50 dataEntradaVigor Commission effective date O Date "YYYY-MM-DD"

  • O - Mandatory; F - Optional; C – Conditional Service Response:

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 14 of 36 NAME DESCRIPTION TYPE comissaoID Commission Code Integer servicoID Service Code String baseServicoID Service base code Integer periodoCobrancaID Charging base period code Integer medidaID Measure code used for reporting the commission value Integer nomeProduto Product Name String valorMinimo Minimum value of the commission for a given service Decimal moedaID Currency Code Integer Comentarios Additional comments on the commission String dataEntradaVigor Commission effective date Date { "sucess": true, "data": { "comissaoID": 6, "servicoID": "6c3y", "baseServicoID": 6, "periodoCobrancaID": 2, "medidaID": 3, "moedaID": 1, "nomeProduto": "Credit cards", "valorMinimo": 0.87, "comentarios": "", "dataEntradaVigor": "2022-10-11T00:00:00" } }

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 15 of 36 4.3. Mass commission submission Description: This service aims to submit commissions of a specific Institution in mass, allowing the bank to submit all commissions at once. JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/comissoes/range Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/comissoes/range Method: POST { "dataEntradaVigor": "2023-01-10", "data":[ { "servicoID": "7b2z", "baseServicoID": 1, "periodoCobrancaID": 2, "medidaID": 2, "MoedaID": 1, "nomeProduto": "Credit cards", "valorMinimo": 100.87, "Comentarios": "" }, { "servicoID": "6c3y", "baseServicoID": 1, "periodoCobrancaID": 2, "medidaID": 1, "MoedaID": 1, "nomeProduto": "Credit accounts", "valorMinimo": 3050.00, "Comentarios": "" } ] }

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 16 of 36

  • O - Mandatory; F - Optional; C – Conditional Service Response: NAME DESCRIPTION FILL* TYPE RULES TO OBSERVE/MAX LIMIT OBSERVATIONS dataEntradaVigor Commission effective date O Date "YYYY-MM-DD" servicoID Service Code O String Note Auxiliary Code Table “Annex A – Services” baseServicoID Service base code O Integer Note Auxiliary Code Table “Annex E – Service Bases” periodoCobrancaID Charging base period code O Integer Note Auxiliary Code Table “Annex F – Charging Periods” medidaID Measure code used for reporting the commission value O Integer Note Auxiliary Code Table “Annex D – Measures” moedaID Currency Code O Integer Note Auxiliary Code Table “Annex G – Currencies” nomeProduto Product Name O String 150 valorMinimo Minimum value of the commission for a given service O Decimal 10,2 10 numeric digits, with 2 decimals Comentarios Additional comments on the commission F String 50 { "sucess": true, "data": [ { "comissaoID": 3401, "servicoID": "7b2z", "baseServicoID": 1, "periodoCobrancaID": 2, "medidaID": 2, "moedaID": 1, "nomeProduto": "Credit cards", "valorMinimo": 100.87, "comentarios": null, "dataEntradaVigor": "2023-01-10T00:00:00"

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 17 of 36 }, { "comissaoID": 3402, "servicoID": "6c3y", "baseServicoID": 1, "periodoCobrancaID": 2, "medidaID": 1, "moedaID": 1, "nomeProduto": "Credit accounts", "valorMinimo": 3050, "comentarios": null, "dataEntradaVigor": "2023-01-10T00:00:00" } ] } { "sucess": true, }

4.4. Delete Commission Description: This service aims to delete a submitted commission. Input Parameters NAME DESCRIPTION FILL* TYPE Id Commission Identifier O Int JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/comissoes/delete/{Id} Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/comissoes/delete/{Id} Method: DELETE Service Response:

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 18 of 36 4.5. Update Commission Description: This service aims to update data of previously submitted commissions. Input Parameters NAME DESCRIPTION FILL* TYPE Id Commission Identifier O Int JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/comissoes/{Id} Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/comissoes/{Id} Method: PUT { "servicoID": "8a1x", "baseServicoID": 1, "periodoCobrancaID": 1, "medidaID": 1, "MoedaID": 1, "nomeProduto": "Bank accounts", "valorMinimo": 3500.00, "Comentarios": "Equiv.", "dataEntradaVigor": "2022-11-14" }

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 19 of 36 NAME DESCRIPTION FILL* TYPE RULES TO OBSERVE/MAX LIMIT OBSERVATIONS servicoID Service Code O String Note Auxiliary Code Table “Annex A – Services” baseServicoID Service base code O Integer Note Auxiliary Code Table “Annex E – Service Bases” periodoCobrancaID Charging base period code O Integer Note Auxiliary Code Table “Annex F – Charging Periods” medidaID Measure code used for reporting the commission value O Integer Note Auxiliary Code Table “Annex D – Measures” nomeProduto Product Name O String 250 valorMinimo Minimum value of the commission for a given service O Decimal 10,2 10 numeric digits, with 2 decimals moedaID Currency Code O Integer Note Auxiliary Code Table “Annex G – Currencies” Comentarios Additional comments on the commission F String 50 dataEntradaVigor Commission effective date O Date "YYYY-MM-DD"

  • O - Mandatory; F - Optional; C – Conditional Service Response: { "sucess": true, "data": { "comissaoID": 3402, "servicoID": "8a1x", "baseServicoID": 1, "periodoCobrancaID": 1, "medidaID": 1, "moedaID": 1, "nomeProduto": "Bank accounts", "valorMinimo": 3501.00, "comentarios": "Equiv.", "dataEntradaVigor": "2022-11-14T00:00:00" } }

CONTINUATION OF INSTRUCTION NO. 17/2023 Page 20 of 36 5. Listing and Search Services The listing and search services present a maximum of 39 records, corresponding to one page. If there is a need to list the next page, optional skip and take parameters should be used. Thus, if the skip parameter is filled with value 10, the service will skip the first 10 records and present from the 11th to the 49th record. If the take parameter is added and set to value 60, the service will skip 10 records and return the next 60 records. 5.1. Consult Commissions Description: This service aims to list all submitted commissions. There is also a single query possibility, using the commission id as parameter. Input Parameters JSON Object Structure Test Rest EndPoint: https://comissoesbancariastst.bna.ao/api/comissoes https://comissoesbancariastst.bna.ao/pi/comissoes/{id} https://comissoesbancariastst.bna.ao/api/comissoes?servicoId={servicoId}&dataEntradaVigor={dataEntradaVigor} Production Rest EndPoint: https://comissoesbancarias.bna.ao/api/comissoes https://comissoesbancarias.bna.ao/api/comissoes/{id} https://comissoesbancarias.bna.ao/api/comissoes?servicoId={servicoId}&dataEntradaVigor={dataEntradaVigor} NAME DESCRIPTION FILL* TYPE skip number of records to skip F Int take number of records to present F Int NAME DESCRIPTION FILL* TYPE OBS Id Commission Identifier F Int It is a URL parameter, allows searching by commission code servicoId Service Identifier F String Allows searching by service code dataEntradaVigor D