Skip to content

painfree 0.3.1

Choose a tag to compare

@reyemb reyemb released this 02 Sep 14:27
· 18 commits to main since this release

A Swiss bank refused a pain.001 this service built. DbtrAgt/FinInstnId/Othr with Id of NOTPROVIDED"Das Element 'Othr' soll in diesem Kontext nicht verwendet werden". That is the EPC SEPA convention for "IBAN only, no BIC", and it is not a Swiss one.

The fix is a condition rather than a deletion, because under SEPA the element is exactly right and a receiving bank in the euro area looks for it. What decides is the declaration itself — SvcLvl/Cd of SEPA:

scheme profile FinInstnId when no debtor BIC is given
none, or Swiss empty
SvcLvl/Cd = SEPA Othr/Id = NOTPROVIDED

The same field that tells the bank which scheme a payment follows now decides which conventions the document is built under, so the two cannot disagree. A currency or an IBAN country would both have been guesses — wrong for a EUR payment at a Swiss bank, and wrong for a Swiss company paying into the euro area.

Worth knowing: the official XSD accepted the document the bank refused. Schema-valid and accepted are different questions, and only the first is answerable locally.

Also in this release: the payment form offers the debit account from HTD instead of asking you to retype an IBAN the bank already told us about — a datalist, not a closed list, since AccountInfo is optional in the schema and a catalogue goes stale. An account the bank did not publish is noted on the preview and not refused. And the running version now sits at the foot of the console's drawer, with the commit beside it when the build set one.

No migration. Upgrading from 0.3.0 changes what DbtrAgt contains for a Swiss connection with no debtor BIC, which is the point.