diff options
Diffstat (limited to 'libeufin/iso20022.rst')
-rw-r--r-- | libeufin/iso20022.rst | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/libeufin/iso20022.rst b/libeufin/iso20022.rst index d87098a3..06d929c2 100644 --- a/libeufin/iso20022.rst +++ b/libeufin/iso20022.rst @@ -22,15 +22,37 @@ The specifics of this mapping are: of message elements in the same schema. -Cash Management (camt) -====================== +Why does LibEuFin not use ISO 20022? +==================================== -LibEuFin combines camt.052, camt.053 and camt.054, as they essentially -have the same structure and serve the same purpose: Reporting transactions -on a customer's bank account. +While LibEuFin can ingest ISO 20022 messages (camt.05x, pain.002) and generate +them (pain.001), it does not use ISO 20022 in its API and internal data model. -We also flatten the hierarchy a bit and only have entries ("money movement in one go") -and transactions. +Reasons for not using ISO 20022 directly are: + +1. Impedence mismatch. ISO 20022 messages do not map well to query/response + APIs. +2. Cumbersome to use. Even when ISO 20022 messages are directly mapped + to JSON, they are difficult to use due to their verbosity. +3. Underspecification. Messages like camt.05x leave many "degrees of freedom" + when translating the underlying data into a message. +4. No interoperability. As a result of underspecification, different countries/organisations + define their own subset and interpretation rules for ISO 20022 messages. This can + lead to even contradictory usage rules. An example for this is how the Swiss and EPC + interpretations handle transaction amounts in the presence of multiple currencies. +5. Redundancy. ISO 20022 are redundant, and often mix aspects of the "presentation logic" + with the underlying data model. An example of this is the optional "summary" information + in camt.05x messages. + +Instead of using ISO 20022 messages directly, LibEuFin leverages the standard in other ways: + +* As the data exchange format with banks +* As a guideline for naming in data formats +* As a guideline for which concepts need to be understood by LibEuFin + + +Implementation notes for camt.05x +================================= Types of amounts in camt messages --------------------------------- |