About the communication2 field :
- for the unstructured remittance info, there is only a single field of 140 chars. The PAIN standard says "[0..n]" for the unstructured tag, but the EPC guidelines explicitely say "Format Rule: Only one occurrence of ‘Unstructured’ is allowed."
- for the structured remittance info, we use the communication field for the 2.126 reference field (35 chars) ; maybe we could use the communication2 field for the 2.129 "Additionnal Remittance information" field, which is fully optional. But, at the moment, when you have the communication type set to structured, OpenERP prevent you from using the field "communication2" ; it seems that this is managed by addons-70/account_payment/account_payment.py in the function fields_get() at the end of the file.
I must say that I don't like to have these 2 fields "communication" and "communication2", because I find it confusing for the users, and I would prefer a single field "communication" to make things simple and avoid mistakes.
By the way, investigating this made me realize that, when communication type = "Free", you can't use the field "communication" because it is readonly ; only the field "communication2" is usable in this case. This is really a mess and the help message on the communication fields don't mention that at all ; I find it very confusing.
@Stéphane Bidoul:
About the "BIC not required". First, looking at the XSD file is not enough, because the target is to respect the guidelines of the European Payment Council (EPC) for SEPA, which may add some constrains that are not in the PAIN standard and thus that are not in the XSD file. When I look at the EPC guidelines, I understand this :
- for the Debtor agent (2.21), this tag is [1..1], but it seems possible to not use the "BIC" and set "Debtor Agent > Financial Institution Identification > Other > Identification" to "NOTPROVIDED".
- for the Creditor agent (2.77), it says explicitely "Usage Rule: Only BIC is allowed", but the Credit Agent tag (2.77) is [0..1], so it may be dropped.
From what I understand, BIC is required for international payments but not required for national payment. When I look at the code of the module "base_iban_bic_not_required", I see that it drops the constraint all together, so, with this module, the user is allowed to enter a foreigh bank account without BIC, which is a problem.
So who handles the check that BIC is present if the IBAN is from a different country than the country of the company ?
Option A : we update the module "base_iban_bic_not_required" to have a constraints which make BIC required when the country of the IBAN is different from the country of "Your Company".
Option B : I handle this check in the code of the SEPA modules.
I think option B is better because it will block user earlier in the process (when entering the bank account in OpenERP, not when generating the SEPA XML file). If we agree on option B :
- someone has to update the module "base_iban_bic_not_required" to have a constraints which make BIC required when the country of the IBAN is different from the country of "Your Company".
- I will update my code to have "Debtor/Creditor Agent > Financial Institution Identification > Other > Identification" to "NOTPROVIDED" when there is no BIC for the bank account of the debtor/creditor (this should work for both SCT and SDD, as I just checked in the EPC guidelines).
So the "BIC not required" stuff seems possible, but we have to handle it carefully.
@Stefan :
I fixed the variable name, thanks for spotting.
About the communication2 field : 70/account_ payment/ account_ payment. py in the function fields_get() at the end of the file.
- for the unstructured remittance info, there is only a single field of 140 chars. The PAIN standard says "[0..n]" for the unstructured tag, but the EPC guidelines explicitely say "Format Rule: Only one occurrence of ‘Unstructured’ is allowed."
- for the structured remittance info, we use the communication field for the 2.126 reference field (35 chars) ; maybe we could use the communication2 field for the 2.129 "Additionnal Remittance information" field, which is fully optional. But, at the moment, when you have the communication type set to structured, OpenERP prevent you from using the field "communication2" ; it seems that this is managed by addons-
I must say that I don't like to have these 2 fields "communication" and "communication2", because I find it confusing for the users, and I would prefer a single field "communication" to make things simple and avoid mistakes.
By the way, investigating this made me realize that, when communication type = "Free", you can't use the field "communication" because it is readonly ; only the field "communication2" is usable in this case. This is really a mess and the help message on the communication fields don't mention that at all ; I find it very confusing.
@Stéphane Bidoul:
About the "BIC not required". First, looking at the XSD file is not enough, because the target is to respect the guidelines of the European Payment Council (EPC) for SEPA, which may add some constrains that are not in the PAIN standard and thus that are not in the XSD file. When I look at the EPC guidelines, I understand this :
- for the Debtor agent (2.21), this tag is [1..1], but it seems possible to not use the "BIC" and set "Debtor Agent > Financial Institution Identification > Other > Identification" to "NOTPROVIDED".
- for the Creditor agent (2.77), it says explicitely "Usage Rule: Only BIC is allowed", but the Credit Agent tag (2.77) is [0..1], so it may be dropped.
From what I understand, BIC is required for international payments but not required for national payment. When I look at the code of the module "base_iban_ bic_not_ required" , I see that it drops the constraint all together, so, with this module, the user is allowed to enter a foreigh bank account without BIC, which is a problem.
So who handles the check that BIC is present if the IBAN is from a different country than the country of the company ? bic_not_ required" to have a constraints which make BIC required when the country of the IBAN is different from the country of "Your Company".
Option A : we update the module "base_iban_
Option B : I handle this check in the code of the SEPA modules.
I think option B is better because it will block user earlier in the process (when entering the bank account in OpenERP, not when generating the SEPA XML file). If we agree on option B : bic_not_ required" to have a constraints which make BIC required when the country of the IBAN is different from the country of "Your Company".
- someone has to update the module "base_iban_
- I will update my code to have "Debtor/Creditor Agent > Financial Institution Identification > Other > Identification" to "NOTPROVIDED" when there is no BIC for the bank account of the debtor/creditor (this should work for both SCT and SDD, as I just checked in the EPC guidelines).
So the "BIC not required" stuff seems possible, but we have to handle it carefully.