Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Notification Instruction #11

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

cbaconnier
Copy link

@cbaconnier cbaconnier commented May 2, 2022

Motivation

For some banks, such as BCV, not indicating anything in the Notification Instruction in combination with the Batch Booking value set to true is processed by the bank with a global debit notification without details.
In result, the camt.053 file does not include the EndToEndId.

If we want to receive the details of all the transactions from our payment in the camt.053 file and at the same time have a single grouped entry on our account statement, our XML has to contain CWD in the Notification Instruction.

This pull request adds the Notification Instruction based on six-group implementation guideline1 and tests.

Usage

$payment = new PaymentInformation(
    'payment-001',
    'InnoMuster AG',
    new BIC('ZKBKCHZZ80A'),
    new IBAN('CH6600700110000204481')
);

/**
 * Available types: 
 *            NOA - No Advice
 *            SIA - Single Advice
 *            CND - Collective Advice No Details
 *            CWD - Collective Advice With Details 
 */
$payment->setNotificationInstruction(new NotificationInstruction('CWD'));

Notes

  • When used, this instruction should not be used withPmtInf/DbtrAcct/Tp/Code at the same time. The library doesn't support Code at the moment so it shouldn't be an issue
  • It was already implemented in the validation schema
  • This is optional and shouldn't be a BC
  • Some types are not compatible with the batch booking when set to false/true, this PR include a validation based on the Swiss Business Rules2
  • The name Notification Instruction has been choose as it's referred as such in the implementation guideline. [...] notification instruction CND/NOA results in a confidential payment. I realized later that it seems to be more used with the term Debit Advice. I would be happy to rename to Debit Advice if this is preferred.

References

Footnotes

  1. Implementation guideline: https://www.six-group.com/dam/download/banking-services/interbank-clearing/en/standardization/iso/swiss-recommendations/implementation-guidelines-ct.pdf#page=31

  2. Swiss Business Rule: https://www.six-group.com/dam/download/banking-services/interbank-clearing/en/standardization/iso/swiss-recommendations/business-rules.pdf#page=48

@sdespont
Copy link

sdespont commented Oct 3, 2023

Why this PR has never be merged ? It is relevant and well implemented with tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants