Merge lp:~therp-nl/banking-addons/7.0-akretion-banking-addons-sepa into lp:banking-addons

Proposed by Stefan Rijnhart (Opener)
Status: Merged
Merged at revision: 175
Proposed branch: lp:~therp-nl/banking-addons/7.0-akretion-banking-addons-sepa
Merge into: lp:banking-addons
Prerequisite: lp:~therp-nl/banking-addons/ba7.0-MIG-payment
Diff against target: 3927 lines (+3852/-0)
14 files modified
account_banking_sepa_credit_transfer/__init__.py (+25/-0)
account_banking_sepa_credit_transfer/__openerp__.py (+48/-0)
account_banking_sepa_credit_transfer/account_banking_sepa.py (+77/-0)
account_banking_sepa_credit_transfer/account_banking_sepa_view.xml (+83/-0)
account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd (+784/-0)
account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd (+921/-0)
account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd (+968/-0)
account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml (+36/-0)
account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot (+251/-0)
account_banking_sepa_credit_transfer/i18n/fr.po (+251/-0)
account_banking_sepa_credit_transfer/security/ir.model.access.csv (+2/-0)
account_banking_sepa_credit_transfer/wizard/__init__.py (+23/-0)
account_banking_sepa_credit_transfer/wizard/export_sepa.py (+336/-0)
account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml (+47/-0)
To merge this branch: bzr merge lp:~therp-nl/banking-addons/7.0-akretion-banking-addons-sepa
Reviewer Review Type Date Requested Status
Holger Brunn (Therp) code review Approve
Review via email: mp+172138@code.launchpad.net

Description of the change

This is a cherrypicking of the SEPA module by Alexis de Lattre that has already been merged in 6.1. I added some trivial API changes in an additional commit, so I think we can get away by just reviewing that one: http://bazaar.launchpad.net/~therp-nl/banking-addons/7.0-akretion-banking-addons-sepa/revision/232

To post a comment you must log in.
233. By Stefan Rijnhart (Opener)

[RFR] Updated two additional imports to new API

Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote :
Revision history for this message
Holger Brunn (Therp) (hbrunn) wrote :

Judging from diffs to the already approved code, looks good. Not tested though.

review: Approve (code review)
234. By Stefan Rijnhart (Opener)

[FIX] A payment mode type needs a suitable bank type

Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote :

In my latest commit I added suitable bank types to the sepa payment mode types. I also set this data to noupdate="0". I believe this makes sense because there is no user interface to edit the data!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'account_banking_sepa_credit_transfer'
2=== added file 'account_banking_sepa_credit_transfer/__init__.py'
3--- account_banking_sepa_credit_transfer/__init__.py 1970-01-01 00:00:00 +0000
4+++ account_banking_sepa_credit_transfer/__init__.py 2013-07-15 14:34:08 +0000
5@@ -0,0 +1,25 @@
6+# -*- encoding: utf-8 -*-
7+##############################################################################
8+#
9+# SEPA Credit Transfer module for OpenERP
10+# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
11+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
12+#
13+# This program is free software: you can redistribute it and/or modify
14+# it under the terms of the GNU Affero General Public License as
15+# published by the Free Software Foundation, either version 3 of the
16+# License, or (at your option) any later version.
17+#
18+# This program is distributed in the hope that it will be useful,
19+# but WITHOUT ANY WARRANTY; without even the implied warranty of
20+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21+# GNU Affero General Public License for more details.
22+#
23+# You should have received a copy of the GNU Affero General Public License
24+# along with this program. If not, see <http://www.gnu.org/licenses/>.
25+#
26+##############################################################################
27+
28+import wizard
29+import account_banking_sepa
30+
31
32=== added file 'account_banking_sepa_credit_transfer/__openerp__.py'
33--- account_banking_sepa_credit_transfer/__openerp__.py 1970-01-01 00:00:00 +0000
34+++ account_banking_sepa_credit_transfer/__openerp__.py 2013-07-15 14:34:08 +0000
35@@ -0,0 +1,48 @@
36+##############################################################################
37+#
38+# SEPA Credit Transfer module for OpenERP
39+# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
40+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
41+#
42+# This program is free software: you can redistribute it and/or modify
43+# it under the terms of the GNU Affero General Public License as
44+# published by the Free Software Foundation, either version 3 of the
45+# License, or (at your option) any later version.
46+#
47+# This program is distributed in the hope that it will be useful,
48+# but WITHOUT ANY WARRANTY; without even the implied warranty of
49+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
50+# GNU Affero General Public License for more details.
51+#
52+# You should have received a copy of the GNU Affero General Public License
53+# along with this program. If not, see <http://www.gnu.org/licenses/>.
54+#
55+##############################################################################
56+{
57+ 'name': 'Account Banking SEPA Credit Transfer',
58+ 'version': '0.1',
59+ 'license': 'AGPL-3',
60+ 'author': 'Akretion',
61+ 'website': 'http://www.akretion.com',
62+ 'category': 'Banking addons',
63+ 'depends': ['account_banking_payment'],
64+ 'data': [
65+ 'account_banking_sepa_view.xml',
66+ 'wizard/export_sepa_view.xml',
67+ 'data/payment_type_sepa_sct.xml',
68+ 'security/ir.model.access.csv',
69+ ],
70+ 'description': '''
71+Module to export payment orders in SEPA XML file format.
72+
73+SEPA PAIN (PAyment INitiation) is the new european standard for Customer-to-Bank payment instructions. This module implements SEPA Credit Transfer (SCT), more specifically PAIN versions 001.001.02, 001.001.03 and 001.001.04. It is part of the ISO 20022 standard, available on http://www.iso20022.org.
74+
75+The Implementation Guidelines for SEPA Credit Transfer published by the European Payments Council (http://http://www.europeanpaymentscouncil.eu) use PAIN version 001.001.03, so it's probably the version of PAIN that you should try first.
76+
77+This module uses the framework provided by the banking addons, cf https://launchpad.net/banking-addons
78+
79+Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com> for any help or question about this module.
80+ ''',
81+ 'active': False,
82+ 'installable': True,
83+}
84
85=== added file 'account_banking_sepa_credit_transfer/account_banking_sepa.py'
86--- account_banking_sepa_credit_transfer/account_banking_sepa.py 1970-01-01 00:00:00 +0000
87+++ account_banking_sepa_credit_transfer/account_banking_sepa.py 2013-07-15 14:34:08 +0000
88@@ -0,0 +1,77 @@
89+##############################################################################
90+#
91+# SEPA Credit Transfer module for OpenERP
92+# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
93+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
94+#
95+# This program is free software: you can redistribute it and/or modify
96+# it under the terms of the GNU Affero General Public License as
97+# published by the Free Software Foundation, either version 3 of the
98+# License, or (at your option) any later version.
99+#
100+# This program is distributed in the hope that it will be useful,
101+# but WITHOUT ANY WARRANTY; without even the implied warranty of
102+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
103+# GNU Affero General Public License for more details.
104+#
105+# You should have received a copy of the GNU Affero General Public License
106+# along with this program. If not, see <http://www.gnu.org/licenses/>.
107+#
108+##############################################################################
109+
110+from openerp.osv import orm, fields
111+import time
112+from openerp.tools.translate import _
113+from openerp.addons.decimal_precision import decimal_precision as dp
114+
115+
116+class banking_export_sepa(orm.Model):
117+ '''SEPA export'''
118+ _name = 'banking.export.sepa'
119+ _description = __doc__
120+ _rec_name = 'msg_identification'
121+
122+ def _generate_filename(self, cr, uid, ids, name, arg, context=None):
123+ res = {}
124+ for sepa_file in self.browse(cr, uid, ids, context=context):
125+ res[sepa_file.id] = 'sepa_' + (sepa_file.msg_identification or '') + '.xml'
126+ return res
127+
128+ _columns = {
129+ 'payment_order_ids': fields.many2many(
130+ 'payment.order',
131+ 'account_payment_order_sepa_rel',
132+ 'banking_export_sepa_id', 'account_order_id',
133+ 'Payment orders',
134+ readonly=True),
135+ 'prefered_exec_date': fields.date('Prefered execution date', readonly=True),
136+ 'nb_transactions': fields.integer('Number of transactions', readonly=True),
137+ 'total_amount': fields.float('Total amount',
138+ digits_compute=dp.get_precision('Account'), readonly=True),
139+ 'msg_identification': fields.char('Message identification', size=35,
140+ readonly=True),
141+ 'batch_booking': fields.boolean('Batch booking', readonly=True,
142+ help="If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file."),
143+ 'charge_bearer': fields.selection([
144+ ('SHAR', 'Shared'),
145+ ('CRED', 'Borne by creditor'),
146+ ('DEBT', 'Borne by debtor'),
147+ ('SLEV', 'Following service level'),
148+ ], 'Charge bearer', readonly=True,
149+ help='Shared : transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor (most transfers use this). Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor. Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme.'),
150+ 'generation_date': fields.datetime('Generation date',
151+ readonly=True),
152+ 'file': fields.binary('SEPA XML file', readonly=True),
153+ 'filename': fields.function(_generate_filename, type='char', size=256,
154+ method=True, string='Filename', readonly=True),
155+ 'state': fields.selection([
156+ ('draft', 'Draft'),
157+ ('sent', 'Sent'),
158+ ('done', 'Reconciled'),
159+ ], 'State', readonly=True),
160+ }
161+
162+ _defaults = {
163+ 'generation_date': fields.date.context_today,
164+ 'state': 'draft',
165+ }
166
167=== added file 'account_banking_sepa_credit_transfer/account_banking_sepa_view.xml'
168--- account_banking_sepa_credit_transfer/account_banking_sepa_view.xml 1970-01-01 00:00:00 +0000
169+++ account_banking_sepa_credit_transfer/account_banking_sepa_view.xml 2013-07-15 14:34:08 +0000
170@@ -0,0 +1,83 @@
171+<?xml version="1.0" encoding="utf-8"?>
172+<!--
173+ Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
174+ @author: Alexis de Lattre <alexis.delattre@akretion.com>
175+ The licence is in the file __openerp__.py
176+-->
177+<openerp>
178+<data>
179+
180+<record id="view_banking_export_sepa_form" model="ir.ui.view">
181+ <field name="name">account.banking.export.sepa.form</field>
182+ <field name="model">banking.export.sepa</field>
183+ <field name="arch" type="xml">
184+ <form string="SEPA Credit Transfer">
185+ <notebook>
186+ <page string="General information">
187+ <field name="msg_identification" select="1" />
188+ <field name="total_amount" />
189+ <field name="nb_transactions" />
190+ <field name="prefered_exec_date" />
191+ <field name="batch_booking" />
192+ <field name="charge_bearer"/>
193+ <field name="generation_date" />
194+ <newline />
195+ <field name="file" filename="filename"/>
196+ <field name="filename" invisible="True"/>
197+ </page>
198+ <page string="Payment orders">
199+ <field name="payment_order_ids" colspan="4" nolabel="1">
200+ <tree colors="blue:state in ('draft');gray:state in ('cancel','done');black:state in ('open')" string="Payment order">
201+ <field name="reference"/>
202+ <field name="date_created"/>
203+ <field name="date_done"/>
204+ <field name="total"/>
205+ <field name="state"/>
206+ </tree>
207+ </field>
208+ </page>
209+ </notebook>
210+ </form>
211+ </field>
212+</record>
213+
214+
215+<record id="view_banking_export_sepa_tree" model="ir.ui.view">
216+ <field name="name">account.banking.export.sepa.tree</field>
217+ <field name="model">banking.export.sepa</field>
218+ <field name="arch" type="xml">
219+ <tree string="SEPA Credit Transfer">
220+ <field name="msg_identification"/>
221+ <field name="prefered_exec_date"/>
222+ <field name="generation_date"/>
223+ <field name="nb_transactions"/>
224+ </tree>
225+ </field>
226+</record>
227+
228+
229+<record id="action_account_banking_sepa" model="ir.actions.act_window">
230+ <field name="name">Generated SEPA XML files</field>
231+ <field name="res_model">banking.export.sepa</field>
232+ <field name="view_type">form</field>
233+ <field name="view_mode">tree,form</field>
234+</record>
235+
236+
237+<menuitem id="menu_account_banking_sepa"
238+ parent="account_banking.menu_finance_banking_actions"
239+ action="action_account_banking_sepa"
240+ sequence="15"
241+ />
242+
243+<act_window id="act_banking_export_sepa_payment_order"
244+ name="Generated SEPA files"
245+ domain="[('payment_order_ids', '=', active_id)]"
246+ res_model="banking.export.sepa"
247+ src_model="payment.order"
248+ view_type="form"
249+ view_mode="tree,form"
250+/>
251+
252+</data>
253+</openerp>
254
255=== added directory 'account_banking_sepa_credit_transfer/data'
256=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd'
257--- account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd 1970-01-01 00:00:00 +0000
258+++ account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd 2013-07-15 14:34:08 +0000
259@@ -0,0 +1,784 @@
260+<?xml version="1.0" encoding="UTF-8"?>
261+<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Sep 08 11:58:39-->
262+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02">
263+<xs:element name="Document" type="Document"/>
264+<xs:complexType name="AccountIdentification3Choice">
265+<xs:sequence>
266+<xs:choice>
267+<xs:element name="IBAN" type="IBANIdentifier"/>
268+<xs:element name="BBAN" type="BBANIdentifier"/>
269+<xs:element name="UPIC" type="UPICIdentifier"/>
270+<xs:element name="PrtryAcct" type="SimpleIdentificationInformation2"/>
271+</xs:choice>
272+</xs:sequence>
273+</xs:complexType>
274+<xs:simpleType name="AddressType2Code">
275+<xs:restriction base="xs:string">
276+<xs:enumeration value="ADDR"/>
277+<xs:enumeration value="PBOX"/>
278+<xs:enumeration value="HOME"/>
279+<xs:enumeration value="BIZZ"/>
280+<xs:enumeration value="MLTO"/>
281+<xs:enumeration value="DLVY"/>
282+</xs:restriction>
283+</xs:simpleType>
284+<xs:complexType name="AmountType2Choice">
285+<xs:sequence>
286+<xs:choice>
287+<xs:element name="InstdAmt" type="CurrencyAndAmount"/>
288+<xs:element name="EqvtAmt" type="EquivalentAmount"/>
289+</xs:choice>
290+</xs:sequence>
291+</xs:complexType>
292+<xs:simpleType name="BBANIdentifier">
293+<xs:restriction base="xs:string">
294+<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
295+</xs:restriction>
296+</xs:simpleType>
297+<xs:simpleType name="BEIIdentifier">
298+<xs:restriction base="xs:string">
299+<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
300+</xs:restriction>
301+</xs:simpleType>
302+<xs:simpleType name="BICIdentifier">
303+<xs:restriction base="xs:string">
304+<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
305+</xs:restriction>
306+</xs:simpleType>
307+<xs:simpleType name="BaseOneRate">
308+<xs:restriction base="xs:decimal">
309+<xs:fractionDigits value="10"/>
310+<xs:totalDigits value="11"/>
311+</xs:restriction>
312+</xs:simpleType>
313+<xs:simpleType name="BatchBookingIndicator">
314+<xs:restriction base="xs:boolean"/>
315+</xs:simpleType>
316+<xs:complexType name="BranchAndFinancialInstitutionIdentification3">
317+<xs:sequence>
318+<xs:element name="FinInstnId" type="FinancialInstitutionIdentification5Choice"/>
319+<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/>
320+</xs:sequence>
321+</xs:complexType>
322+<xs:complexType name="BranchData">
323+<xs:sequence>
324+<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/>
325+<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
326+<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
327+</xs:sequence>
328+</xs:complexType>
329+<xs:simpleType name="CHIPSUniversalIdentifier">
330+<xs:restriction base="xs:string">
331+<xs:pattern value="CH[0-9]{6,6}"/>
332+</xs:restriction>
333+</xs:simpleType>
334+<xs:complexType name="CashAccount7">
335+<xs:sequence>
336+<xs:element name="Id" type="AccountIdentification3Choice"/>
337+<xs:element name="Tp" type="CashAccountType2" minOccurs="0" maxOccurs="1"/>
338+<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/>
339+<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
340+</xs:sequence>
341+</xs:complexType>
342+<xs:complexType name="CashAccountType2">
343+<xs:sequence>
344+<xs:choice>
345+<xs:element name="Cd" type="CashAccountType4Code"/>
346+<xs:element name="Prtry" type="Max35Text"/>
347+</xs:choice>
348+</xs:sequence>
349+</xs:complexType>
350+<xs:simpleType name="CashAccountType4Code">
351+<xs:restriction base="xs:string">
352+<xs:enumeration value="CASH"/>
353+<xs:enumeration value="CHAR"/>
354+<xs:enumeration value="COMM"/>
355+<xs:enumeration value="TAXE"/>
356+<xs:enumeration value="CISH"/>
357+<xs:enumeration value="TRAS"/>
358+<xs:enumeration value="SACC"/>
359+<xs:enumeration value="CACC"/>
360+<xs:enumeration value="SVGS"/>
361+<xs:enumeration value="ONDP"/>
362+<xs:enumeration value="MGLD"/>
363+<xs:enumeration value="NREX"/>
364+<xs:enumeration value="MOMA"/>
365+<xs:enumeration value="LOAN"/>
366+<xs:enumeration value="SLRY"/>
367+<xs:enumeration value="ODFT"/>
368+</xs:restriction>
369+</xs:simpleType>
370+<xs:simpleType name="ChargeBearerType1Code">
371+<xs:restriction base="xs:string">
372+<xs:enumeration value="DEBT"/>
373+<xs:enumeration value="CRED"/>
374+<xs:enumeration value="SHAR"/>
375+<xs:enumeration value="SLEV"/>
376+</xs:restriction>
377+</xs:simpleType>
378+<xs:complexType name="Cheque5">
379+<xs:sequence>
380+<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/>
381+<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
382+<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
383+<xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0" maxOccurs="1"/>
384+<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
385+<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
386+<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
387+<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/>
388+<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/>
389+<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/>
390+<xs:element name="PrtLctn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
391+</xs:sequence>
392+</xs:complexType>
393+<xs:simpleType name="ChequeDelivery1Code">
394+<xs:restriction base="xs:string">
395+<xs:enumeration value="MLDB"/>
396+<xs:enumeration value="MLCD"/>
397+<xs:enumeration value="MLFA"/>
398+<xs:enumeration value="CRDB"/>
399+<xs:enumeration value="CRCD"/>
400+<xs:enumeration value="CRFA"/>
401+<xs:enumeration value="PUDB"/>
402+<xs:enumeration value="PUCD"/>
403+<xs:enumeration value="PUFA"/>
404+<xs:enumeration value="RGDB"/>
405+<xs:enumeration value="RGCD"/>
406+<xs:enumeration value="RGFA"/>
407+</xs:restriction>
408+</xs:simpleType>
409+<xs:complexType name="ChequeDeliveryMethod1Choice">
410+<xs:sequence>
411+<xs:choice>
412+<xs:element name="Cd" type="ChequeDelivery1Code"/>
413+<xs:element name="Prtry" type="Max35Text"/>
414+</xs:choice>
415+</xs:sequence>
416+</xs:complexType>
417+<xs:simpleType name="ChequeType2Code">
418+<xs:restriction base="xs:string">
419+<xs:enumeration value="CCHQ"/>
420+<xs:enumeration value="CCCH"/>
421+<xs:enumeration value="BCHQ"/>
422+<xs:enumeration value="DRFT"/>
423+<xs:enumeration value="ELDR"/>
424+</xs:restriction>
425+</xs:simpleType>
426+<xs:simpleType name="ClearingChannel2Code">
427+<xs:restriction base="xs:string">
428+<xs:enumeration value="RTGS"/>
429+<xs:enumeration value="RTNS"/>
430+<xs:enumeration value="MPNS"/>
431+<xs:enumeration value="BOOK"/>
432+</xs:restriction>
433+</xs:simpleType>
434+<xs:complexType name="ClearingSystemMemberIdentification3Choice">
435+<xs:sequence>
436+<xs:choice>
437+<xs:element name="Id" type="ExternalClearingSystemMemberCode"/>
438+<xs:element name="Prtry" type="Max35Text"/>
439+</xs:choice>
440+</xs:sequence>
441+</xs:complexType>
442+<xs:simpleType name="CountryCode">
443+<xs:restriction base="xs:string">
444+<xs:pattern value="[A-Z]{2,2}"/>
445+</xs:restriction>
446+</xs:simpleType>
447+<xs:complexType name="CreditTransferTransactionInformation1">
448+<xs:sequence>
449+<xs:element name="PmtId" type="PaymentIdentification1"/>
450+<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
451+<xs:element name="Amt" type="AmountType2Choice"/>
452+<xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0" maxOccurs="1"/>
453+<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
454+<xs:element name="ChqInstr" type="Cheque5" minOccurs="0" maxOccurs="1"/>
455+<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
456+<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
457+<xs:element name="IntrmyAgt1Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
458+<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
459+<xs:element name="IntrmyAgt2Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
460+<xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
461+<xs:element name="IntrmyAgt3Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
462+<xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
463+<xs:element name="CdtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
464+<xs:element name="Cdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
465+<xs:element name="CdtrAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
466+<xs:element name="UltmtCdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
467+<xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
468+<xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0" maxOccurs="1"/>
469+<xs:element name="Purp" type="Purpose1Choice" minOccurs="0" maxOccurs="1"/>
470+<xs:element name="RgltryRptg" type="RegulatoryReporting2" minOccurs="0" maxOccurs="10"/>
471+<xs:element name="Tax" type="TaxInformation2" minOccurs="0" maxOccurs="1"/>
472+<xs:element name="RltdRmtInf" type="RemittanceLocation1" minOccurs="0" maxOccurs="10"/>
473+<xs:element name="RmtInf" type="RemittanceInformation1" minOccurs="0" maxOccurs="1"/>
474+</xs:sequence>
475+</xs:complexType>
476+<xs:complexType name="CreditorReferenceInformation1">
477+<xs:sequence>
478+<xs:element name="CdtrRefTp" type="CreditorReferenceType1" minOccurs="0" maxOccurs="1"/>
479+<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/>
480+</xs:sequence>
481+</xs:complexType>
482+<xs:complexType name="CreditorReferenceType1">
483+<xs:sequence>
484+<xs:choice>
485+<xs:element name="Cd" type="DocumentType3Code"/>
486+<xs:element name="Prtry" type="Max35Text"/>
487+</xs:choice>
488+<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
489+</xs:sequence>
490+</xs:complexType>
491+<xs:simpleType name="CurrencyAndAmount_SimpleType">
492+<xs:restriction base="xs:decimal">
493+<xs:minInclusive value="0"/>
494+<xs:fractionDigits value="5"/>
495+<xs:totalDigits value="18"/>
496+</xs:restriction>
497+</xs:simpleType>
498+<xs:complexType name="CurrencyAndAmount">
499+<xs:simpleContent>
500+<xs:extension base="CurrencyAndAmount_SimpleType">
501+<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
502+</xs:extension>
503+</xs:simpleContent>
504+</xs:complexType>
505+<xs:simpleType name="CurrencyCode">
506+<xs:restriction base="xs:string">
507+<xs:pattern value="[A-Z]{3,3}"/>
508+</xs:restriction>
509+</xs:simpleType>
510+<xs:complexType name="DateAndPlaceOfBirth">
511+<xs:sequence>
512+<xs:element name="BirthDt" type="ISODate"/>
513+<xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0" maxOccurs="1"/>
514+<xs:element name="CityOfBirth" type="Max35Text"/>
515+<xs:element name="CtryOfBirth" type="CountryCode"/>
516+</xs:sequence>
517+</xs:complexType>
518+<xs:simpleType name="DecimalNumber">
519+<xs:restriction base="xs:decimal">
520+<xs:fractionDigits value="17"/>
521+<xs:totalDigits value="18"/>
522+</xs:restriction>
523+</xs:simpleType>
524+<xs:complexType name="Document">
525+<xs:sequence>
526+<xs:element name="pain.001.001.02" type="pain.001.001.02"/>
527+</xs:sequence>
528+</xs:complexType>
529+<xs:simpleType name="DocumentType2Code">
530+<xs:restriction base="xs:string">
531+<xs:enumeration value="MSIN"/>
532+<xs:enumeration value="CNFA"/>
533+<xs:enumeration value="DNFA"/>
534+<xs:enumeration value="CINV"/>
535+<xs:enumeration value="CREN"/>
536+<xs:enumeration value="DEBN"/>
537+<xs:enumeration value="HIRI"/>
538+<xs:enumeration value="SBIN"/>
539+<xs:enumeration value="CMCN"/>
540+<xs:enumeration value="SOAC"/>
541+<xs:enumeration value="DISP"/>
542+</xs:restriction>
543+</xs:simpleType>
544+<xs:simpleType name="DocumentType3Code">
545+<xs:restriction base="xs:string">
546+<xs:enumeration value="RADM"/>
547+<xs:enumeration value="RPIN"/>
548+<xs:enumeration value="FXDR"/>
549+<xs:enumeration value="DISP"/>
550+<xs:enumeration value="PUOR"/>
551+<xs:enumeration value="SCOR"/>
552+</xs:restriction>
553+</xs:simpleType>
554+<xs:simpleType name="DunsIdentifier">
555+<xs:restriction base="xs:string">
556+<xs:pattern value="[0-9]{9,9}"/>
557+</xs:restriction>
558+</xs:simpleType>
559+<xs:simpleType name="EANGLNIdentifier">
560+<xs:restriction base="xs:string">
561+<xs:pattern value="[0-9]{13,13}"/>
562+</xs:restriction>
563+</xs:simpleType>
564+<xs:complexType name="EquivalentAmount">
565+<xs:sequence>
566+<xs:element name="Amt" type="CurrencyAndAmount"/>
567+<xs:element name="CcyOfTrf" type="CurrencyCode"/>
568+</xs:sequence>
569+</xs:complexType>
570+<xs:complexType name="ExchangeRateInformation1">
571+<xs:sequence>
572+<xs:element name="XchgRate" type="BaseOneRate" minOccurs="0" maxOccurs="1"/>
573+<xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0" maxOccurs="1"/>
574+<xs:element name="CtrctId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
575+</xs:sequence>
576+</xs:complexType>
577+<xs:simpleType name="ExchangeRateType1Code">
578+<xs:restriction base="xs:string">
579+<xs:enumeration value="SPOT"/>
580+<xs:enumeration value="SALE"/>
581+<xs:enumeration value="AGRD"/>
582+</xs:restriction>
583+</xs:simpleType>
584+<xs:simpleType name="ExternalClearingSystemMemberCode">
585+<xs:restriction base="xs:string">
586+<xs:minLength value="1"/>
587+<xs:maxLength value="35"/>
588+</xs:restriction>
589+</xs:simpleType>
590+<xs:simpleType name="ExternalLocalInstrumentCode">
591+<xs:restriction base="xs:string">
592+<xs:minLength value="1"/>
593+<xs:maxLength value="35"/>
594+</xs:restriction>
595+</xs:simpleType>
596+<xs:simpleType name="ExternalPurposeCode">
597+<xs:restriction base="xs:string">
598+<xs:minLength value="1"/>
599+<xs:maxLength value="35"/>
600+</xs:restriction>
601+</xs:simpleType>
602+<xs:complexType name="FinancialInstitutionIdentification3">
603+<xs:sequence>
604+<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
605+<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice" minOccurs="0" maxOccurs="1"/>
606+<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
607+<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
608+<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
609+</xs:sequence>
610+</xs:complexType>
611+<xs:complexType name="FinancialInstitutionIdentification5Choice">
612+<xs:sequence>
613+<xs:choice>
614+<xs:element name="BIC" type="BICIdentifier"/>
615+<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice"/>
616+<xs:element name="NmAndAdr" type="NameAndAddress7"/>
617+<xs:element name="PrtryId" type="GenericIdentification3"/>
618+<xs:element name="CmbndId" type="FinancialInstitutionIdentification3"/>
619+</xs:choice>
620+</xs:sequence>
621+</xs:complexType>
622+<xs:complexType name="GenericIdentification3">
623+<xs:sequence>
624+<xs:element name="Id" type="Max35Text"/>
625+<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
626+</xs:sequence>
627+</xs:complexType>
628+<xs:complexType name="GenericIdentification4">
629+<xs:sequence>
630+<xs:element name="Id" type="Max35Text"/>
631+<xs:element name="IdTp" type="Max35Text"/>
632+</xs:sequence>
633+</xs:complexType>
634+<xs:complexType name="GroupHeader1">
635+<xs:sequence>
636+<xs:element name="MsgId" type="Max35Text"/>
637+<xs:element name="CreDtTm" type="ISODateTime"/>
638+<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/>
639+<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/>
640+<xs:element name="NbOfTxs" type="Max15NumericText"/>
641+<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/>
642+<xs:element name="Grpg" type="Grouping1Code"/>
643+<xs:element name="InitgPty" type="PartyIdentification8"/>
644+<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
645+</xs:sequence>
646+</xs:complexType>
647+<xs:simpleType name="Grouping1Code">
648+<xs:restriction base="xs:string">
649+<xs:enumeration value="SNGL"/>
650+<xs:enumeration value="GRPD"/>
651+<xs:enumeration value="MIXD"/>
652+</xs:restriction>
653+</xs:simpleType>
654+<xs:simpleType name="IBANIdentifier">
655+<xs:restriction base="xs:string">
656+<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
657+</xs:restriction>
658+</xs:simpleType>
659+<xs:simpleType name="IBEIIdentifier">
660+<xs:restriction base="xs:string">
661+<xs:pattern value="[A-Z]{2,2}[B-DF-HJ-NP-TV-XZ0-9]{7,7}[0-9]{1,1}"/>
662+</xs:restriction>
663+</xs:simpleType>
664+<xs:simpleType name="ISODate">
665+<xs:restriction base="xs:date"/>
666+</xs:simpleType>
667+<xs:simpleType name="ISODateTime">
668+<xs:restriction base="xs:dateTime"/>
669+</xs:simpleType>
670+<xs:simpleType name="Instruction3Code">
671+<xs:restriction base="xs:string">
672+<xs:enumeration value="CHQB"/>
673+<xs:enumeration value="HOLD"/>
674+<xs:enumeration value="PHOB"/>
675+<xs:enumeration value="TELB"/>
676+</xs:restriction>
677+</xs:simpleType>
678+<xs:complexType name="InstructionForCreditorAgent1">
679+<xs:sequence>
680+<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="1"/>
681+<xs:element name="InstrInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
682+</xs:sequence>
683+</xs:complexType>
684+<xs:complexType name="LocalInstrument1Choice">
685+<xs:sequence>
686+<xs:choice>
687+<xs:element name="Cd" type="ExternalLocalInstrumentCode"/>
688+<xs:element name="Prtry" type="Max35Text"/>
689+</xs:choice>
690+</xs:sequence>
691+</xs:complexType>
692+<xs:simpleType name="Max128Text">
693+<xs:restriction base="xs:string">
694+<xs:minLength value="1"/>
695+<xs:maxLength value="128"/>
696+</xs:restriction>
697+</xs:simpleType>
698+<xs:simpleType name="Max140Text">
699+<xs:restriction base="xs:string">
700+<xs:minLength value="1"/>
701+<xs:maxLength value="140"/>
702+</xs:restriction>
703+</xs:simpleType>
704+<xs:simpleType name="Max15NumericText">
705+<xs:restriction base="xs:string">
706+<xs:pattern value="[0-9]{1,15}"/>
707+</xs:restriction>
708+</xs:simpleType>
709+<xs:simpleType name="Max16Text">
710+<xs:restriction base="xs:string">
711+<xs:minLength value="1"/>
712+<xs:maxLength value="16"/>
713+</xs:restriction>
714+</xs:simpleType>
715+<xs:simpleType name="Max256Text">
716+<xs:restriction base="xs:string">
717+<xs:minLength value="1"/>
718+<xs:maxLength value="256"/>
719+</xs:restriction>
720+</xs:simpleType>
721+<xs:simpleType name="Max34Text">
722+<xs:restriction base="xs:string">
723+<xs:minLength value="1"/>
724+<xs:maxLength value="34"/>
725+</xs:restriction>
726+</xs:simpleType>
727+<xs:simpleType name="Max35Text">
728+<xs:restriction base="xs:string">
729+<xs:minLength value="1"/>
730+<xs:maxLength value="35"/>
731+</xs:restriction>
732+</xs:simpleType>
733+<xs:simpleType name="Max3Text">
734+<xs:restriction base="xs:string">
735+<xs:minLength value="1"/>
736+<xs:maxLength value="3"/>
737+</xs:restriction>
738+</xs:simpleType>
739+<xs:simpleType name="Max70Text">
740+<xs:restriction base="xs:string">
741+<xs:minLength value="1"/>
742+<xs:maxLength value="70"/>
743+</xs:restriction>
744+</xs:simpleType>
745+<xs:complexType name="NameAndAddress3">
746+<xs:sequence>
747+<xs:element name="Nm" type="Max70Text"/>
748+<xs:element name="Adr" type="PostalAddress1"/>
749+</xs:sequence>
750+</xs:complexType>
751+<xs:complexType name="NameAndAddress7">
752+<xs:sequence>
753+<xs:element name="Nm" type="Max70Text"/>
754+<xs:element name="PstlAdr" type="PostalAddress1"/>
755+</xs:sequence>
756+</xs:complexType>
757+<xs:complexType name="OrganisationIdentification2">
758+<xs:sequence>
759+<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
760+<xs:element name="IBEI" type="IBEIIdentifier" minOccurs="0" maxOccurs="1"/>
761+<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/>
762+<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/>
763+<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/>
764+<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/>
765+<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
766+<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
767+<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
768+</xs:sequence>
769+</xs:complexType>
770+<xs:complexType name="Party2Choice">
771+<xs:sequence>
772+<xs:choice>
773+<xs:element name="OrgId" type="OrganisationIdentification2"/>
774+<xs:element name="PrvtId" type="PersonIdentification3" minOccurs="1" maxOccurs="4"/>
775+</xs:choice>
776+</xs:sequence>
777+</xs:complexType>
778+<xs:complexType name="PartyIdentification8">
779+<xs:sequence>
780+<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
781+<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
782+<xs:element name="Id" type="Party2Choice" minOccurs="0" maxOccurs="1"/>
783+<xs:element name="CtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/>
784+</xs:sequence>
785+</xs:complexType>
786+<xs:simpleType name="PaymentCategoryPurpose1Code">
787+<xs:restriction base="xs:string">
788+<xs:enumeration value="CORT"/>
789+<xs:enumeration value="SALA"/>
790+<xs:enumeration value="TREA"/>
791+<xs:enumeration value="CASH"/>
792+<xs:enumeration value="DIVI"/>
793+<xs:enumeration value="GOVT"/>
794+<xs:enumeration value="INTE"/>
795+<xs:enumeration value="LOAN"/>
796+<xs:enumeration value="PENS"/>
797+<xs:enumeration value="SECU"/>
798+<xs:enumeration value="SSBE"/>
799+<xs:enumeration value="SUPP"/>
800+<xs:enumeration value="TAXS"/>
801+<xs:enumeration value="TRAD"/>
802+<xs:enumeration value="VATX"/>
803+<xs:enumeration value="HEDG"/>
804+<xs:enumeration value="INTC"/>
805+<xs:enumeration value="WHLD"/>
806+</xs:restriction>
807+</xs:simpleType>
808+<xs:complexType name="PaymentIdentification1">
809+<xs:sequence>
810+<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
811+<xs:element name="EndToEndId" type="Max35Text"/>
812+</xs:sequence>
813+</xs:complexType>
814+<xs:complexType name="PaymentInstructionInformation1">
815+<xs:sequence>
816+<xs:element name="PmtInfId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
817+<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
818+<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
819+<xs:element name="ReqdExctnDt" type="ISODate"/>
820+<xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
821+<xs:element name="Dbtr" type="PartyIdentification8"/>
822+<xs:element name="DbtrAcct" type="CashAccount7"/>
823+<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification3"/>
824+<xs:element name="DbtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
825+<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
826+<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
827+<xs:element name="ChrgsAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
828+<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
829+<xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation1" minOccurs="1" maxOccurs="unbounded"/>
830+</xs:sequence>
831+</xs:complexType>
832+<xs:simpleType name="PaymentMethod3Code">
833+<xs:restriction base="xs:string">
834+<xs:enumeration value="CHK"/>
835+<xs:enumeration value="TRF"/>
836+<xs:enumeration value="TRA"/>
837+</xs:restriction>
838+</xs:simpleType>
839+<xs:complexType name="PaymentTypeInformation1">
840+<xs:sequence>
841+<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
842+<xs:choice>
843+<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0" maxOccurs="1"/>
844+<xs:element name="ClrChanl" type="ClearingChannel2Code" minOccurs="0" maxOccurs="1"/>
845+</xs:choice>
846+<xs:element name="LclInstrm" type="LocalInstrument1Choice" minOccurs="0" maxOccurs="1"/>
847+<xs:element name="CtgyPurp" type="PaymentCategoryPurpose1Code" minOccurs="0" maxOccurs="1"/>
848+</xs:sequence>
849+</xs:complexType>
850+<xs:simpleType name="PercentageRate">
851+<xs:restriction base="xs:decimal">
852+<xs:fractionDigits value="10"/>
853+<xs:totalDigits value="11"/>
854+</xs:restriction>
855+</xs:simpleType>
856+<xs:complexType name="PersonIdentification3">
857+<xs:sequence>
858+<xs:choice>
859+<xs:element name="DrvrsLicNb" type="Max35Text"/>
860+<xs:element name="CstmrNb" type="Max35Text"/>
861+<xs:element name="SclSctyNb" type="Max35Text"/>
862+<xs:element name="AlnRegnNb" type="Max35Text"/>
863+<xs:element name="PsptNb" type="Max35Text"/>
864+<xs:element name="TaxIdNb" type="Max35Text"/>
865+<xs:element name="IdntyCardNb" type="Max35Text"/>
866+<xs:element name="MplyrIdNb" type="Max35Text"/>
867+<xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
868+<xs:element name="OthrId" type="GenericIdentification4"/>
869+</xs:choice>
870+<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
871+</xs:sequence>
872+</xs:complexType>
873+<xs:complexType name="PostalAddress1">
874+<xs:sequence>
875+<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/>
876+<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/>
877+<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
878+<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/>
879+<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/>
880+<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
881+<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
882+<xs:element name="Ctry" type="CountryCode"/>
883+</xs:sequence>
884+</xs:complexType>
885+<xs:simpleType name="Priority2Code">
886+<xs:restriction base="xs:string">
887+<xs:enumeration value="HIGH"/>
888+<xs:enumeration value="NORM"/>
889+</xs:restriction>
890+</xs:simpleType>
891+<xs:complexType name="Purpose1Choice">
892+<xs:sequence>
893+<xs:choice>
894+<xs:element name="Cd" type="ExternalPurposeCode"/>
895+<xs:element name="Prtry" type="Max35Text"/>
896+</xs:choice>
897+</xs:sequence>
898+</xs:complexType>
899+<xs:complexType name="ReferredDocumentAmount1Choice">
900+<xs:sequence>
901+<xs:choice>
902+<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/>
903+<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/>
904+<xs:element name="RmtdAmt" type="CurrencyAndAmount"/>
905+<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/>
906+<xs:element name="TaxAmt" type="CurrencyAndAmount"/>
907+</xs:choice>
908+</xs:sequence>
909+</xs:complexType>
910+<xs:complexType name="ReferredDocumentInformation1">
911+<xs:sequence>
912+<xs:element name="RfrdDocTp" type="ReferredDocumentType1" minOccurs="0" maxOccurs="1"/>
913+<xs:element name="RfrdDocNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
914+</xs:sequence>
915+</xs:complexType>
916+<xs:complexType name="ReferredDocumentType1">
917+<xs:sequence>
918+<xs:choice>
919+<xs:element name="Cd" type="DocumentType2Code"/>
920+<xs:element name="Prtry" type="Max35Text"/>
921+</xs:choice>
922+<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
923+</xs:sequence>
924+</xs:complexType>
925+<xs:complexType name="RegulatoryAuthority">
926+<xs:sequence>
927+<xs:element name="AuthrtyNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
928+<xs:element name="AuthrtyCtry" type="CountryCode" minOccurs="0" maxOccurs="1"/>
929+</xs:sequence>
930+</xs:complexType>
931+<xs:complexType name="RegulatoryReporting2">
932+<xs:sequence>
933+<xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0" maxOccurs="1"/>
934+<xs:element name="Authrty" type="RegulatoryAuthority" minOccurs="0" maxOccurs="1"/>
935+<xs:element name="RgltryDtls" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="1"/>
936+</xs:sequence>
937+</xs:complexType>
938+<xs:simpleType name="RegulatoryReportingType1Code">
939+<xs:restriction base="xs:string">
940+<xs:enumeration value="CRED"/>
941+<xs:enumeration value="DEBT"/>
942+<xs:enumeration value="BOTH"/>
943+</xs:restriction>
944+</xs:simpleType>
945+<xs:complexType name="RemittanceInformation1">
946+<xs:sequence>
947+<xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
948+<xs:element name="Strd" type="StructuredRemittanceInformation6" minOccurs="0" maxOccurs="unbounded"/>
949+</xs:sequence>
950+</xs:complexType>
951+<xs:complexType name="RemittanceLocation1">
952+<xs:sequence>
953+<xs:element name="RmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
954+<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/>
955+<xs:element name="RmtLctnElctrncAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/>
956+<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
957+</xs:sequence>
958+</xs:complexType>
959+<xs:simpleType name="RemittanceLocationMethod1Code">
960+<xs:restriction base="xs:string">
961+<xs:enumeration value="FAXI"/>
962+<xs:enumeration value="EDIC"/>
963+<xs:enumeration value="URID"/>
964+<xs:enumeration value="EMAL"/>
965+<xs:enumeration value="POST"/>
966+</xs:restriction>
967+</xs:simpleType>
968+<xs:simpleType name="ServiceLevel1Code">
969+<xs:restriction base="xs:string">
970+<xs:enumeration value="SEPA"/>
971+<xs:enumeration value="SDVA"/>
972+<xs:enumeration value="PRPT"/>
973+</xs:restriction>
974+</xs:simpleType>
975+<xs:complexType name="ServiceLevel2Choice">
976+<xs:sequence>
977+<xs:choice>
978+<xs:element name="Cd" type="ServiceLevel1Code"/>
979+<xs:element name="Prtry" type="Max35Text"/>
980+</xs:choice>
981+</xs:sequence>
982+</xs:complexType>
983+<xs:complexType name="SimpleIdentificationInformation2">
984+<xs:sequence>
985+<xs:element name="Id" type="Max34Text"/>
986+</xs:sequence>
987+</xs:complexType>
988+<xs:complexType name="StructuredRegulatoryReporting2">
989+<xs:sequence>
990+<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/>
991+<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
992+<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/>
993+</xs:sequence>
994+</xs:complexType>
995+<xs:complexType name="StructuredRemittanceInformation6">
996+<xs:sequence>
997+<xs:element name="RfrdDocInf" type="ReferredDocumentInformation1" minOccurs="0" maxOccurs="1"/>
998+<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
999+<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
1000+<xs:element name="CdtrRefInf" type="CreditorReferenceInformation1" minOccurs="0" maxOccurs="1"/>
1001+<xs:element name="Invcr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
1002+<xs:element name="Invcee" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
1003+<xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
1004+</xs:sequence>
1005+</xs:complexType>
1006+<xs:complexType name="TaxDetails">
1007+<xs:sequence>
1008+<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
1009+<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/>
1010+</xs:sequence>
1011+</xs:complexType>
1012+<xs:complexType name="TaxInformation2">
1013+<xs:sequence>
1014+<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
1015+<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/>
1016+<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
1017+<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/>
1018+<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
1019+<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
1020+<xs:element name="TaxDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
1021+<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/>
1022+</xs:sequence>
1023+</xs:complexType>
1024+<xs:complexType name="TaxType">
1025+<xs:sequence>
1026+<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/>
1027+<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/>
1028+<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
1029+<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
1030+</xs:sequence>
1031+</xs:complexType>
1032+<xs:simpleType name="UPICIdentifier">
1033+<xs:restriction base="xs:string">
1034+<xs:pattern value="[0-9]{8,17}"/>
1035+</xs:restriction>
1036+</xs:simpleType>
1037+<xs:complexType name="pain.001.001.02">
1038+<xs:sequence>
1039+<xs:element name="GrpHdr" type="GroupHeader1"/>
1040+<xs:element name="PmtInf" type="PaymentInstructionInformation1" minOccurs="1" maxOccurs="unbounded"/>
1041+</xs:sequence>
1042+</xs:complexType>
1043+</xs:schema>
1044
1045=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd'
1046--- account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd 1970-01-01 00:00:00 +0000
1047+++ account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd 2013-07-15 14:34:08 +0000
1048@@ -0,0 +1,921 @@
1049+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1050+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
1051+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
1052+ <xs:element name="Document" type="Document"/>
1053+ <xs:complexType name="AccountIdentification4Choice">
1054+ <xs:sequence>
1055+ <xs:choice>
1056+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
1057+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
1058+ </xs:choice>
1059+ </xs:sequence>
1060+ </xs:complexType>
1061+ <xs:complexType name="AccountSchemeName1Choice">
1062+ <xs:sequence>
1063+ <xs:choice>
1064+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
1065+ <xs:element name="Prtry" type="Max35Text"/>
1066+ </xs:choice>
1067+ </xs:sequence>
1068+ </xs:complexType>
1069+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
1070+ <xs:restriction base="xs:decimal">
1071+ <xs:minInclusive value="0"/>
1072+ <xs:fractionDigits value="5"/>
1073+ <xs:totalDigits value="18"/>
1074+ </xs:restriction>
1075+ </xs:simpleType>
1076+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
1077+ <xs:simpleContent>
1078+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
1079+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
1080+ </xs:extension>
1081+ </xs:simpleContent>
1082+ </xs:complexType>
1083+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
1084+ <xs:restriction base="xs:string">
1085+ <xs:pattern value="[A-Z]{3,3}"/>
1086+ </xs:restriction>
1087+ </xs:simpleType>
1088+ <xs:simpleType name="AddressType2Code">
1089+ <xs:restriction base="xs:string">
1090+ <xs:enumeration value="ADDR"/>
1091+ <xs:enumeration value="PBOX"/>
1092+ <xs:enumeration value="HOME"/>
1093+ <xs:enumeration value="BIZZ"/>
1094+ <xs:enumeration value="MLTO"/>
1095+ <xs:enumeration value="DLVY"/>
1096+ </xs:restriction>
1097+ </xs:simpleType>
1098+ <xs:complexType name="AmountType3Choice">
1099+ <xs:sequence>
1100+ <xs:choice>
1101+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1102+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
1103+ </xs:choice>
1104+ </xs:sequence>
1105+ </xs:complexType>
1106+ <xs:simpleType name="AnyBICIdentifier">
1107+ <xs:restriction base="xs:string">
1108+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
1109+ </xs:restriction>
1110+ </xs:simpleType>
1111+ <xs:complexType name="Authorisation1Choice">
1112+ <xs:sequence>
1113+ <xs:choice>
1114+ <xs:element name="Cd" type="Authorisation1Code"/>
1115+ <xs:element name="Prtry" type="Max128Text"/>
1116+ </xs:choice>
1117+ </xs:sequence>
1118+ </xs:complexType>
1119+ <xs:simpleType name="Authorisation1Code">
1120+ <xs:restriction base="xs:string">
1121+ <xs:enumeration value="AUTH"/>
1122+ <xs:enumeration value="FDET"/>
1123+ <xs:enumeration value="FSUM"/>
1124+ <xs:enumeration value="ILEV"/>
1125+ </xs:restriction>
1126+ </xs:simpleType>
1127+ <xs:simpleType name="BICIdentifier">
1128+ <xs:restriction base="xs:string">
1129+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
1130+ </xs:restriction>
1131+ </xs:simpleType>
1132+ <xs:simpleType name="BaseOneRate">
1133+ <xs:restriction base="xs:decimal">
1134+ <xs:fractionDigits value="10"/>
1135+ <xs:totalDigits value="11"/>
1136+ </xs:restriction>
1137+ </xs:simpleType>
1138+ <xs:simpleType name="BatchBookingIndicator">
1139+ <xs:restriction base="xs:boolean"/>
1140+ </xs:simpleType>
1141+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
1142+ <xs:sequence>
1143+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
1144+ <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
1145+ </xs:sequence>
1146+ </xs:complexType>
1147+ <xs:complexType name="BranchData2">
1148+ <xs:sequence>
1149+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
1150+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1151+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
1152+ </xs:sequence>
1153+ </xs:complexType>
1154+ <xs:complexType name="CashAccount16">
1155+ <xs:sequence>
1156+ <xs:element name="Id" type="AccountIdentification4Choice"/>
1157+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2"/>
1158+ <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
1159+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
1160+ </xs:sequence>
1161+ </xs:complexType>
1162+ <xs:complexType name="CashAccountType2">
1163+ <xs:sequence>
1164+ <xs:choice>
1165+ <xs:element name="Cd" type="CashAccountType4Code"/>
1166+ <xs:element name="Prtry" type="Max35Text"/>
1167+ </xs:choice>
1168+ </xs:sequence>
1169+ </xs:complexType>
1170+ <xs:simpleType name="CashAccountType4Code">
1171+ <xs:restriction base="xs:string">
1172+ <xs:enumeration value="CASH"/>
1173+ <xs:enumeration value="CHAR"/>
1174+ <xs:enumeration value="COMM"/>
1175+ <xs:enumeration value="TAXE"/>
1176+ <xs:enumeration value="CISH"/>
1177+ <xs:enumeration value="TRAS"/>
1178+ <xs:enumeration value="SACC"/>
1179+ <xs:enumeration value="CACC"/>
1180+ <xs:enumeration value="SVGS"/>
1181+ <xs:enumeration value="ONDP"/>
1182+ <xs:enumeration value="MGLD"/>
1183+ <xs:enumeration value="NREX"/>
1184+ <xs:enumeration value="MOMA"/>
1185+ <xs:enumeration value="LOAN"/>
1186+ <xs:enumeration value="SLRY"/>
1187+ <xs:enumeration value="ODFT"/>
1188+ </xs:restriction>
1189+ </xs:simpleType>
1190+ <xs:complexType name="CategoryPurpose1Choice">
1191+ <xs:sequence>
1192+ <xs:choice>
1193+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
1194+ <xs:element name="Prtry" type="Max35Text"/>
1195+ </xs:choice>
1196+ </xs:sequence>
1197+ </xs:complexType>
1198+ <xs:simpleType name="ChargeBearerType1Code">
1199+ <xs:restriction base="xs:string">
1200+ <xs:enumeration value="DEBT"/>
1201+ <xs:enumeration value="CRED"/>
1202+ <xs:enumeration value="SHAR"/>
1203+ <xs:enumeration value="SLEV"/>
1204+ </xs:restriction>
1205+ </xs:simpleType>
1206+ <xs:complexType name="Cheque6">
1207+ <xs:sequence>
1208+ <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
1209+ <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
1210+ <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
1211+ <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
1212+ <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
1213+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
1214+ <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
1215+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
1216+ <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
1217+ <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
1218+ <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
1219+ </xs:sequence>
1220+ </xs:complexType>
1221+ <xs:simpleType name="ChequeDelivery1Code">
1222+ <xs:restriction base="xs:string">
1223+ <xs:enumeration value="MLDB"/>
1224+ <xs:enumeration value="MLCD"/>
1225+ <xs:enumeration value="MLFA"/>
1226+ <xs:enumeration value="CRDB"/>
1227+ <xs:enumeration value="CRCD"/>
1228+ <xs:enumeration value="CRFA"/>
1229+ <xs:enumeration value="PUDB"/>
1230+ <xs:enumeration value="PUCD"/>
1231+ <xs:enumeration value="PUFA"/>
1232+ <xs:enumeration value="RGDB"/>
1233+ <xs:enumeration value="RGCD"/>
1234+ <xs:enumeration value="RGFA"/>
1235+ </xs:restriction>
1236+ </xs:simpleType>
1237+ <xs:complexType name="ChequeDeliveryMethod1Choice">
1238+ <xs:sequence>
1239+ <xs:choice>
1240+ <xs:element name="Cd" type="ChequeDelivery1Code"/>
1241+ <xs:element name="Prtry" type="Max35Text"/>
1242+ </xs:choice>
1243+ </xs:sequence>
1244+ </xs:complexType>
1245+ <xs:simpleType name="ChequeType2Code">
1246+ <xs:restriction base="xs:string">
1247+ <xs:enumeration value="CCHQ"/>
1248+ <xs:enumeration value="CCCH"/>
1249+ <xs:enumeration value="BCHQ"/>
1250+ <xs:enumeration value="DRFT"/>
1251+ <xs:enumeration value="ELDR"/>
1252+ </xs:restriction>
1253+ </xs:simpleType>
1254+ <xs:complexType name="ClearingSystemIdentification2Choice">
1255+ <xs:sequence>
1256+ <xs:choice>
1257+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
1258+ <xs:element name="Prtry" type="Max35Text"/>
1259+ </xs:choice>
1260+ </xs:sequence>
1261+ </xs:complexType>
1262+ <xs:complexType name="ClearingSystemMemberIdentification2">
1263+ <xs:sequence>
1264+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
1265+ <xs:element name="MmbId" type="Max35Text"/>
1266+ </xs:sequence>
1267+ </xs:complexType>
1268+ <xs:complexType name="ContactDetails2">
1269+ <xs:sequence>
1270+ <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
1271+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1272+ <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
1273+ <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
1274+ <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
1275+ <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
1276+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
1277+ </xs:sequence>
1278+ </xs:complexType>
1279+ <xs:simpleType name="CountryCode">
1280+ <xs:restriction base="xs:string">
1281+ <xs:pattern value="[A-Z]{2,2}"/>
1282+ </xs:restriction>
1283+ </xs:simpleType>
1284+ <xs:simpleType name="CreditDebitCode">
1285+ <xs:restriction base="xs:string">
1286+ <xs:enumeration value="CRDT"/>
1287+ <xs:enumeration value="DBIT"/>
1288+ </xs:restriction>
1289+ </xs:simpleType>
1290+ <xs:complexType name="CreditTransferTransactionInformation10">
1291+ <xs:sequence>
1292+ <xs:element name="PmtId" type="PaymentIdentification1"/>
1293+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
1294+ <xs:element name="Amt" type="AmountType3Choice"/>
1295+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRateInformation1"/>
1296+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
1297+ <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque6"/>
1298+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
1299+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4"/>
1300+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount16"/>
1301+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4"/>
1302+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount16"/>
1303+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4"/>
1304+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount16"/>
1305+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
1306+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/>
1307+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification32"/>
1308+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount16"/>
1309+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
1310+ <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
1311+ <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
1312+ <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
1313+ <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
1314+ <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
1315+ <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
1316+ <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/>
1317+ </xs:sequence>
1318+ </xs:complexType>
1319+ <xs:complexType name="CreditorReferenceInformation2">
1320+ <xs:sequence>
1321+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
1322+ <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
1323+ </xs:sequence>
1324+ </xs:complexType>
1325+ <xs:complexType name="CreditorReferenceType1Choice">
1326+ <xs:sequence>
1327+ <xs:choice>
1328+ <xs:element name="Cd" type="DocumentType3Code"/>
1329+ <xs:element name="Prtry" type="Max35Text"/>
1330+ </xs:choice>
1331+ </xs:sequence>
1332+ </xs:complexType>
1333+ <xs:complexType name="CreditorReferenceType2">
1334+ <xs:sequence>
1335+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
1336+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1337+ </xs:sequence>
1338+ </xs:complexType>
1339+ <xs:complexType name="CustomerCreditTransferInitiationV03">
1340+ <xs:sequence>
1341+ <xs:element name="GrpHdr" type="GroupHeader32"/>
1342+ <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation3"/>
1343+ </xs:sequence>
1344+ </xs:complexType>
1345+ <xs:complexType name="DateAndPlaceOfBirth">
1346+ <xs:sequence>
1347+ <xs:element name="BirthDt" type="ISODate"/>
1348+ <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
1349+ <xs:element name="CityOfBirth" type="Max35Text"/>
1350+ <xs:element name="CtryOfBirth" type="CountryCode"/>
1351+ </xs:sequence>
1352+ </xs:complexType>
1353+ <xs:complexType name="DatePeriodDetails">
1354+ <xs:sequence>
1355+ <xs:element name="FrDt" type="ISODate"/>
1356+ <xs:element name="ToDt" type="ISODate"/>
1357+ </xs:sequence>
1358+ </xs:complexType>
1359+ <xs:simpleType name="DecimalNumber">
1360+ <xs:restriction base="xs:decimal">
1361+ <xs:fractionDigits value="17"/>
1362+ <xs:totalDigits value="18"/>
1363+ </xs:restriction>
1364+ </xs:simpleType>
1365+ <xs:complexType name="Document">
1366+ <xs:sequence>
1367+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/>
1368+ </xs:sequence>
1369+ </xs:complexType>
1370+ <xs:complexType name="DocumentAdjustment1">
1371+ <xs:sequence>
1372+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
1373+ <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
1374+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
1375+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
1376+ </xs:sequence>
1377+ </xs:complexType>
1378+ <xs:simpleType name="DocumentType3Code">
1379+ <xs:restriction base="xs:string">
1380+ <xs:enumeration value="RADM"/>
1381+ <xs:enumeration value="RPIN"/>
1382+ <xs:enumeration value="FXDR"/>
1383+ <xs:enumeration value="DISP"/>
1384+ <xs:enumeration value="PUOR"/>
1385+ <xs:enumeration value="SCOR"/>
1386+ </xs:restriction>
1387+ </xs:simpleType>
1388+ <xs:simpleType name="DocumentType5Code">
1389+ <xs:restriction base="xs:string">
1390+ <xs:enumeration value="MSIN"/>
1391+ <xs:enumeration value="CNFA"/>
1392+ <xs:enumeration value="DNFA"/>
1393+ <xs:enumeration value="CINV"/>
1394+ <xs:enumeration value="CREN"/>
1395+ <xs:enumeration value="DEBN"/>
1396+ <xs:enumeration value="HIRI"/>
1397+ <xs:enumeration value="SBIN"/>
1398+ <xs:enumeration value="CMCN"/>
1399+ <xs:enumeration value="SOAC"/>
1400+ <xs:enumeration value="DISP"/>
1401+ <xs:enumeration value="BOLD"/>
1402+ <xs:enumeration value="VCHR"/>
1403+ <xs:enumeration value="AROI"/>
1404+ <xs:enumeration value="TSUT"/>
1405+ </xs:restriction>
1406+ </xs:simpleType>
1407+ <xs:complexType name="EquivalentAmount2">
1408+ <xs:sequence>
1409+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
1410+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
1411+ </xs:sequence>
1412+ </xs:complexType>
1413+ <xs:complexType name="ExchangeRateInformation1">
1414+ <xs:sequence>
1415+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
1416+ <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
1417+ <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
1418+ </xs:sequence>
1419+ </xs:complexType>
1420+ <xs:simpleType name="ExchangeRateType1Code">
1421+ <xs:restriction base="xs:string">
1422+ <xs:enumeration value="SPOT"/>
1423+ <xs:enumeration value="SALE"/>
1424+ <xs:enumeration value="AGRD"/>
1425+ </xs:restriction>
1426+ </xs:simpleType>
1427+ <xs:simpleType name="ExternalAccountIdentification1Code">
1428+ <xs:restriction base="xs:string">
1429+ <xs:minLength value="1"/>
1430+ <xs:maxLength value="4"/>
1431+ </xs:restriction>
1432+ </xs:simpleType>
1433+ <xs:simpleType name="ExternalCategoryPurpose1Code">
1434+ <xs:restriction base="xs:string">
1435+ <xs:minLength value="1"/>
1436+ <xs:maxLength value="4"/>
1437+ </xs:restriction>
1438+ </xs:simpleType>
1439+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
1440+ <xs:restriction base="xs:string">
1441+ <xs:minLength value="1"/>
1442+ <xs:maxLength value="5"/>
1443+ </xs:restriction>
1444+ </xs:simpleType>
1445+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
1446+ <xs:restriction base="xs:string">
1447+ <xs:minLength value="1"/>
1448+ <xs:maxLength value="4"/>
1449+ </xs:restriction>
1450+ </xs:simpleType>
1451+ <xs:simpleType name="ExternalLocalInstrument1Code">
1452+ <xs:restriction base="xs:string">
1453+ <xs:minLength value="1"/>
1454+ <xs:maxLength value="35"/>
1455+ </xs:restriction>
1456+ </xs:simpleType>
1457+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
1458+ <xs:restriction base="xs:string">
1459+ <xs:minLength value="1"/>
1460+ <xs:maxLength value="4"/>
1461+ </xs:restriction>
1462+ </xs:simpleType>
1463+ <xs:simpleType name="ExternalPersonIdentification1Code">
1464+ <xs:restriction base="xs:string">
1465+ <xs:minLength value="1"/>
1466+ <xs:maxLength value="4"/>
1467+ </xs:restriction>
1468+ </xs:simpleType>
1469+ <xs:simpleType name="ExternalPurpose1Code">
1470+ <xs:restriction base="xs:string">
1471+ <xs:minLength value="1"/>
1472+ <xs:maxLength value="4"/>
1473+ </xs:restriction>
1474+ </xs:simpleType>
1475+ <xs:simpleType name="ExternalServiceLevel1Code">
1476+ <xs:restriction base="xs:string">
1477+ <xs:minLength value="1"/>
1478+ <xs:maxLength value="4"/>
1479+ </xs:restriction>
1480+ </xs:simpleType>
1481+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
1482+ <xs:sequence>
1483+ <xs:choice>
1484+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
1485+ <xs:element name="Prtry" type="Max35Text"/>
1486+ </xs:choice>
1487+ </xs:sequence>
1488+ </xs:complexType>
1489+ <xs:complexType name="FinancialInstitutionIdentification7">
1490+ <xs:sequence>
1491+ <xs:element maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/>
1492+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
1493+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1494+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
1495+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
1496+ </xs:sequence>
1497+ </xs:complexType>
1498+ <xs:complexType name="GenericAccountIdentification1">
1499+ <xs:sequence>
1500+ <xs:element name="Id" type="Max34Text"/>
1501+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
1502+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1503+ </xs:sequence>
1504+ </xs:complexType>
1505+ <xs:complexType name="GenericFinancialIdentification1">
1506+ <xs:sequence>
1507+ <xs:element name="Id" type="Max35Text"/>
1508+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
1509+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1510+ </xs:sequence>
1511+ </xs:complexType>
1512+ <xs:complexType name="GenericOrganisationIdentification1">
1513+ <xs:sequence>
1514+ <xs:element name="Id" type="Max35Text"/>
1515+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
1516+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1517+ </xs:sequence>
1518+ </xs:complexType>
1519+ <xs:complexType name="GenericPersonIdentification1">
1520+ <xs:sequence>
1521+ <xs:element name="Id" type="Max35Text"/>
1522+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
1523+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1524+ </xs:sequence>
1525+ </xs:complexType>
1526+ <xs:complexType name="GroupHeader32">
1527+ <xs:sequence>
1528+ <xs:element name="MsgId" type="Max35Text"/>
1529+ <xs:element name="CreDtTm" type="ISODateTime"/>
1530+ <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
1531+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
1532+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
1533+ <xs:element name="InitgPty" type="PartyIdentification32"/>
1534+ <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/>
1535+ </xs:sequence>
1536+ </xs:complexType>
1537+ <xs:simpleType name="IBAN2007Identifier">
1538+ <xs:restriction base="xs:string">
1539+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
1540+ </xs:restriction>
1541+ </xs:simpleType>
1542+ <xs:simpleType name="ISODate">
1543+ <xs:restriction base="xs:date"/>
1544+ </xs:simpleType>
1545+ <xs:simpleType name="ISODateTime">
1546+ <xs:restriction base="xs:dateTime"/>
1547+ </xs:simpleType>
1548+ <xs:simpleType name="Instruction3Code">
1549+ <xs:restriction base="xs:string">
1550+ <xs:enumeration value="CHQB"/>
1551+ <xs:enumeration value="HOLD"/>
1552+ <xs:enumeration value="PHOB"/>
1553+ <xs:enumeration value="TELB"/>
1554+ </xs:restriction>
1555+ </xs:simpleType>
1556+ <xs:complexType name="InstructionForCreditorAgent1">
1557+ <xs:sequence>
1558+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
1559+ <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
1560+ </xs:sequence>
1561+ </xs:complexType>
1562+ <xs:complexType name="LocalInstrument2Choice">
1563+ <xs:sequence>
1564+ <xs:choice>
1565+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
1566+ <xs:element name="Prtry" type="Max35Text"/>
1567+ </xs:choice>
1568+ </xs:sequence>
1569+ </xs:complexType>
1570+ <xs:simpleType name="Max10Text">
1571+ <xs:restriction base="xs:string">
1572+ <xs:minLength value="1"/>
1573+ <xs:maxLength value="10"/>
1574+ </xs:restriction>
1575+ </xs:simpleType>
1576+ <xs:simpleType name="Max128Text">
1577+ <xs:restriction base="xs:string">
1578+ <xs:minLength value="1"/>
1579+ <xs:maxLength value="128"/>
1580+ </xs:restriction>
1581+ </xs:simpleType>
1582+ <xs:simpleType name="Max140Text">
1583+ <xs:restriction base="xs:string">
1584+ <xs:minLength value="1"/>
1585+ <xs:maxLength value="140"/>
1586+ </xs:restriction>
1587+ </xs:simpleType>
1588+ <xs:simpleType name="Max15NumericText">
1589+ <xs:restriction base="xs:string">
1590+ <xs:pattern value="[0-9]{1,15}"/>
1591+ </xs:restriction>
1592+ </xs:simpleType>
1593+ <xs:simpleType name="Max16Text">
1594+ <xs:restriction base="xs:string">
1595+ <xs:minLength value="1"/>
1596+ <xs:maxLength value="16"/>
1597+ </xs:restriction>
1598+ </xs:simpleType>
1599+ <xs:simpleType name="Max2048Text">
1600+ <xs:restriction base="xs:string">
1601+ <xs:minLength value="1"/>
1602+ <xs:maxLength value="2048"/>
1603+ </xs:restriction>
1604+ </xs:simpleType>
1605+ <xs:simpleType name="Max34Text">
1606+ <xs:restriction base="xs:string">
1607+ <xs:minLength value="1"/>
1608+ <xs:maxLength value="34"/>
1609+ </xs:restriction>
1610+ </xs:simpleType>
1611+ <xs:simpleType name="Max35Text">
1612+ <xs:restriction base="xs:string">
1613+ <xs:minLength value="1"/>
1614+ <xs:maxLength value="35"/>
1615+ </xs:restriction>
1616+ </xs:simpleType>
1617+ <xs:simpleType name="Max4Text">
1618+ <xs:restriction base="xs:string">
1619+ <xs:minLength value="1"/>
1620+ <xs:maxLength value="4"/>
1621+ </xs:restriction>
1622+ </xs:simpleType>
1623+ <xs:simpleType name="Max70Text">
1624+ <xs:restriction base="xs:string">
1625+ <xs:minLength value="1"/>
1626+ <xs:maxLength value="70"/>
1627+ </xs:restriction>
1628+ </xs:simpleType>
1629+ <xs:complexType name="NameAndAddress10">
1630+ <xs:sequence>
1631+ <xs:element name="Nm" type="Max140Text"/>
1632+ <xs:element name="Adr" type="PostalAddress6"/>
1633+ </xs:sequence>
1634+ </xs:complexType>
1635+ <xs:simpleType name="NamePrefix1Code">
1636+ <xs:restriction base="xs:string">
1637+ <xs:enumeration value="DOCT"/>
1638+ <xs:enumeration value="MIST"/>
1639+ <xs:enumeration value="MISS"/>
1640+ <xs:enumeration value="MADM"/>
1641+ </xs:restriction>
1642+ </xs:simpleType>
1643+ <xs:simpleType name="Number">
1644+ <xs:restriction base="xs:decimal">
1645+ <xs:fractionDigits value="0"/>
1646+ <xs:totalDigits value="18"/>
1647+ </xs:restriction>
1648+ </xs:simpleType>
1649+ <xs:complexType name="OrganisationIdentification4">
1650+ <xs:sequence>
1651+ <xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/>
1652+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
1653+ </xs:sequence>
1654+ </xs:complexType>
1655+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
1656+ <xs:sequence>
1657+ <xs:choice>
1658+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
1659+ <xs:element name="Prtry" type="Max35Text"/>
1660+ </xs:choice>
1661+ </xs:sequence>
1662+ </xs:complexType>
1663+ <xs:complexType name="Party6Choice">
1664+ <xs:sequence>
1665+ <xs:choice>
1666+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
1667+ <xs:element name="PrvtId" type="PersonIdentification5"/>
1668+ </xs:choice>
1669+ </xs:sequence>
1670+ </xs:complexType>
1671+ <xs:complexType name="PartyIdentification32">
1672+ <xs:sequence>
1673+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1674+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
1675+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/>
1676+ <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
1677+ <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
1678+ </xs:sequence>
1679+ </xs:complexType>
1680+ <xs:complexType name="PaymentIdentification1">
1681+ <xs:sequence>
1682+ <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
1683+ <xs:element name="EndToEndId" type="Max35Text"/>
1684+ </xs:sequence>
1685+ </xs:complexType>
1686+ <xs:complexType name="PaymentInstructionInformation3">
1687+ <xs:sequence>
1688+ <xs:element name="PmtInfId" type="Max35Text"/>
1689+ <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
1690+ <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
1691+ <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
1692+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
1693+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
1694+ <xs:element name="ReqdExctnDt" type="ISODate"/>
1695+ <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
1696+ <xs:element name="Dbtr" type="PartyIdentification32"/>
1697+ <xs:element name="DbtrAcct" type="CashAccount16"/>
1698+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
1699+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/>
1700+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
1701+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
1702+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/>
1703+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/>
1704+ <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransactionInformation10"/>
1705+ </xs:sequence>
1706+ </xs:complexType>
1707+ <xs:simpleType name="PaymentMethod3Code">
1708+ <xs:restriction base="xs:string">
1709+ <xs:enumeration value="CHK"/>
1710+ <xs:enumeration value="TRF"/>
1711+ <xs:enumeration value="TRA"/>
1712+ </xs:restriction>
1713+ </xs:simpleType>
1714+ <xs:complexType name="PaymentTypeInformation19">
1715+ <xs:sequence>
1716+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
1717+ <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
1718+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
1719+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
1720+ </xs:sequence>
1721+ </xs:complexType>
1722+ <xs:simpleType name="PercentageRate">
1723+ <xs:restriction base="xs:decimal">
1724+ <xs:fractionDigits value="10"/>
1725+ <xs:totalDigits value="11"/>
1726+ </xs:restriction>
1727+ </xs:simpleType>
1728+ <xs:complexType name="PersonIdentification5">
1729+ <xs:sequence>
1730+ <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
1731+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
1732+ </xs:sequence>
1733+ </xs:complexType>
1734+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
1735+ <xs:sequence>
1736+ <xs:choice>
1737+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
1738+ <xs:element name="Prtry" type="Max35Text"/>
1739+ </xs:choice>
1740+ </xs:sequence>
1741+ </xs:complexType>
1742+ <xs:simpleType name="PhoneNumber">
1743+ <xs:restriction base="xs:string">
1744+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
1745+ </xs:restriction>
1746+ </xs:simpleType>
1747+ <xs:complexType name="PostalAddress6">
1748+ <xs:sequence>
1749+ <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
1750+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
1751+ <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
1752+ <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
1753+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
1754+ <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
1755+ <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
1756+ <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
1757+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
1758+ <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
1759+ </xs:sequence>
1760+ </xs:complexType>
1761+ <xs:simpleType name="Priority2Code">
1762+ <xs:restriction base="xs:string">
1763+ <xs:enumeration value="HIGH"/>
1764+ <xs:enumeration value="NORM"/>
1765+ </xs:restriction>
1766+ </xs:simpleType>
1767+ <xs:complexType name="Purpose2Choice">
1768+ <xs:sequence>
1769+ <xs:choice>
1770+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
1771+ <xs:element name="Prtry" type="Max35Text"/>
1772+ </xs:choice>
1773+ </xs:sequence>
1774+ </xs:complexType>
1775+ <xs:complexType name="ReferredDocumentInformation3">
1776+ <xs:sequence>
1777+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
1778+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
1779+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
1780+ </xs:sequence>
1781+ </xs:complexType>
1782+ <xs:complexType name="ReferredDocumentType1Choice">
1783+ <xs:sequence>
1784+ <xs:choice>
1785+ <xs:element name="Cd" type="DocumentType5Code"/>
1786+ <xs:element name="Prtry" type="Max35Text"/>
1787+ </xs:choice>
1788+ </xs:sequence>
1789+ </xs:complexType>
1790+ <xs:complexType name="ReferredDocumentType2">
1791+ <xs:sequence>
1792+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
1793+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
1794+ </xs:sequence>
1795+ </xs:complexType>
1796+ <xs:complexType name="RegulatoryAuthority2">
1797+ <xs:sequence>
1798+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1799+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
1800+ </xs:sequence>
1801+ </xs:complexType>
1802+ <xs:complexType name="RegulatoryReporting3">
1803+ <xs:sequence>
1804+ <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
1805+ <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
1806+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
1807+ </xs:sequence>
1808+ </xs:complexType>
1809+ <xs:simpleType name="RegulatoryReportingType1Code">
1810+ <xs:restriction base="xs:string">
1811+ <xs:enumeration value="CRED"/>
1812+ <xs:enumeration value="DEBT"/>
1813+ <xs:enumeration value="BOTH"/>
1814+ </xs:restriction>
1815+ </xs:simpleType>
1816+ <xs:complexType name="RemittanceAmount1">
1817+ <xs:sequence>
1818+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1819+ <xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1820+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1821+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1822+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
1823+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1824+ </xs:sequence>
1825+ </xs:complexType>
1826+ <xs:complexType name="RemittanceInformation5">
1827+ <xs:sequence>
1828+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
1829+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/>
1830+ </xs:sequence>
1831+ </xs:complexType>
1832+ <xs:complexType name="RemittanceLocation2">
1833+ <xs:sequence>
1834+ <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
1835+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
1836+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
1837+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
1838+ </xs:sequence>
1839+ </xs:complexType>
1840+ <xs:simpleType name="RemittanceLocationMethod2Code">
1841+ <xs:restriction base="xs:string">
1842+ <xs:enumeration value="FAXI"/>
1843+ <xs:enumeration value="EDIC"/>
1844+ <xs:enumeration value="URID"/>
1845+ <xs:enumeration value="EMAL"/>
1846+ <xs:enumeration value="POST"/>
1847+ <xs:enumeration value="SMSM"/>
1848+ </xs:restriction>
1849+ </xs:simpleType>
1850+ <xs:complexType name="ServiceLevel8Choice">
1851+ <xs:sequence>
1852+ <xs:choice>
1853+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
1854+ <xs:element name="Prtry" type="Max35Text"/>
1855+ </xs:choice>
1856+ </xs:sequence>
1857+ </xs:complexType>
1858+ <xs:complexType name="StructuredRegulatoryReporting3">
1859+ <xs:sequence>
1860+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
1861+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
1862+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
1863+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
1864+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
1865+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
1866+ </xs:sequence>
1867+ </xs:complexType>
1868+ <xs:complexType name="StructuredRemittanceInformation7">
1869+ <xs:sequence>
1870+ <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
1871+ <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/>
1872+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
1873+ <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/>
1874+ <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/>
1875+ <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
1876+ </xs:sequence>
1877+ </xs:complexType>
1878+ <xs:complexType name="TaxAmount1">
1879+ <xs:sequence>
1880+ <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
1881+ <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1882+ <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1883+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
1884+ </xs:sequence>
1885+ </xs:complexType>
1886+ <xs:complexType name="TaxAuthorisation1">
1887+ <xs:sequence>
1888+ <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
1889+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
1890+ </xs:sequence>
1891+ </xs:complexType>
1892+ <xs:complexType name="TaxInformation3">
1893+ <xs:sequence>
1894+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
1895+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
1896+ <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
1897+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
1898+ <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
1899+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1900+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
1901+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
1902+ <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
1903+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
1904+ </xs:sequence>
1905+ </xs:complexType>
1906+ <xs:complexType name="TaxParty1">
1907+ <xs:sequence>
1908+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
1909+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
1910+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
1911+ </xs:sequence>
1912+ </xs:complexType>
1913+ <xs:complexType name="TaxParty2">
1914+ <xs:sequence>
1915+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
1916+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
1917+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
1918+ <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
1919+ </xs:sequence>
1920+ </xs:complexType>
1921+ <xs:complexType name="TaxPeriod1">
1922+ <xs:sequence>
1923+ <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
1924+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
1925+ <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
1926+ </xs:sequence>
1927+ </xs:complexType>
1928+ <xs:complexType name="TaxRecord1">
1929+ <xs:sequence>
1930+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
1931+ <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
1932+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
1933+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
1934+ <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
1935+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
1936+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
1937+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
1938+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
1939+ </xs:sequence>
1940+ </xs:complexType>
1941+ <xs:complexType name="TaxRecordDetails1">
1942+ <xs:sequence>
1943+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
1944+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
1945+ </xs:sequence>
1946+ </xs:complexType>
1947+ <xs:simpleType name="TaxRecordPeriod1Code">
1948+ <xs:restriction base="xs:string">
1949+ <xs:enumeration value="MM01"/>
1950+ <xs:enumeration value="MM02"/>
1951+ <xs:enumeration value="MM03"/>
1952+ <xs:enumeration value="MM04"/>
1953+ <xs:enumeration value="MM05"/>
1954+ <xs:enumeration value="MM06"/>
1955+ <xs:enumeration value="MM07"/>
1956+ <xs:enumeration value="MM08"/>
1957+ <xs:enumeration value="MM09"/>
1958+ <xs:enumeration value="MM10"/>
1959+ <xs:enumeration value="MM11"/>
1960+ <xs:enumeration value="MM12"/>
1961+ <xs:enumeration value="QTR1"/>
1962+ <xs:enumeration value="QTR2"/>
1963+ <xs:enumeration value="QTR3"/>
1964+ <xs:enumeration value="QTR4"/>
1965+ <xs:enumeration value="HLF1"/>
1966+ <xs:enumeration value="HLF2"/>
1967+ </xs:restriction>
1968+ </xs:simpleType>
1969+</xs:schema>
1970
1971=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd'
1972--- account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd 1970-01-01 00:00:00 +0000
1973+++ account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd 2013-07-15 14:34:08 +0000
1974@@ -0,0 +1,968 @@
1975+<?xml version="1.0" encoding="UTF-8"?>
1976+<!--Generated by SWIFTStandards Workstation (build:R7.1.30.4) on 2012 Jun 07 20:47:19-->
1977+<xs:schema elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns:xs="http://www.w3.org/2001/XMLSchema">
1978+ <xs:element name="Document" type="Document"/>
1979+ <xs:complexType name="AccountIdentification4Choice">
1980+ <xs:sequence>
1981+ <xs:choice>
1982+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
1983+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
1984+ </xs:choice>
1985+ </xs:sequence>
1986+ </xs:complexType>
1987+ <xs:complexType name="AccountSchemeName1Choice">
1988+ <xs:sequence>
1989+ <xs:choice>
1990+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
1991+ <xs:element name="Prtry" type="Max35Text"/>
1992+ </xs:choice>
1993+ </xs:sequence>
1994+ </xs:complexType>
1995+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
1996+ <xs:restriction base="xs:decimal">
1997+ <xs:fractionDigits value="5"/>
1998+ <xs:totalDigits value="18"/>
1999+ <xs:minInclusive value="0"/>
2000+ </xs:restriction>
2001+ </xs:simpleType>
2002+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
2003+ <xs:simpleContent>
2004+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
2005+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
2006+ </xs:extension>
2007+ </xs:simpleContent>
2008+ </xs:complexType>
2009+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
2010+ <xs:restriction base="xs:string">
2011+ <xs:pattern value="[A-Z]{3,3}"/>
2012+ </xs:restriction>
2013+ </xs:simpleType>
2014+ <xs:simpleType name="AddressType2Code">
2015+ <xs:restriction base="xs:string">
2016+ <xs:enumeration value="ADDR"/>
2017+ <xs:enumeration value="PBOX"/>
2018+ <xs:enumeration value="HOME"/>
2019+ <xs:enumeration value="BIZZ"/>
2020+ <xs:enumeration value="MLTO"/>
2021+ <xs:enumeration value="DLVY"/>
2022+ </xs:restriction>
2023+ </xs:simpleType>
2024+ <xs:complexType name="AmountType3Choice">
2025+ <xs:sequence>
2026+ <xs:choice>
2027+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2028+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
2029+ </xs:choice>
2030+ </xs:sequence>
2031+ </xs:complexType>
2032+ <xs:simpleType name="AnyBICIdentifier">
2033+ <xs:restriction base="xs:string">
2034+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
2035+ </xs:restriction>
2036+ </xs:simpleType>
2037+ <xs:complexType name="Authorisation1Choice">
2038+ <xs:sequence>
2039+ <xs:choice>
2040+ <xs:element name="Cd" type="Authorisation1Code"/>
2041+ <xs:element name="Prtry" type="Max128Text"/>
2042+ </xs:choice>
2043+ </xs:sequence>
2044+ </xs:complexType>
2045+ <xs:simpleType name="Authorisation1Code">
2046+ <xs:restriction base="xs:string">
2047+ <xs:enumeration value="AUTH"/>
2048+ <xs:enumeration value="FDET"/>
2049+ <xs:enumeration value="FSUM"/>
2050+ <xs:enumeration value="ILEV"/>
2051+ </xs:restriction>
2052+ </xs:simpleType>
2053+ <xs:simpleType name="BICFIIdentifier">
2054+ <xs:restriction base="xs:string">
2055+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
2056+ </xs:restriction>
2057+ </xs:simpleType>
2058+ <xs:simpleType name="BaseOneRate">
2059+ <xs:restriction base="xs:decimal">
2060+ <xs:fractionDigits value="10"/>
2061+ <xs:totalDigits value="11"/>
2062+ </xs:restriction>
2063+ </xs:simpleType>
2064+ <xs:simpleType name="BatchBookingIndicator">
2065+ <xs:restriction base="xs:boolean"/>
2066+ </xs:simpleType>
2067+ <xs:complexType name="BranchAndFinancialInstitutionIdentification5">
2068+ <xs:sequence>
2069+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
2070+ <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
2071+ </xs:sequence>
2072+ </xs:complexType>
2073+ <xs:complexType name="BranchData2">
2074+ <xs:sequence>
2075+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
2076+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2077+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
2078+ </xs:sequence>
2079+ </xs:complexType>
2080+ <xs:complexType name="CashAccount24">
2081+ <xs:sequence>
2082+ <xs:element name="Id" type="AccountIdentification4Choice"/>
2083+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
2084+ <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
2085+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
2086+ </xs:sequence>
2087+ </xs:complexType>
2088+ <xs:complexType name="CashAccountType2Choice">
2089+ <xs:sequence>
2090+ <xs:choice>
2091+ <xs:element name="Cd" type="ExternalCashAccountType1Code"/>
2092+ <xs:element name="Prtry" type="Max35Text"/>
2093+ </xs:choice>
2094+ </xs:sequence>
2095+ </xs:complexType>
2096+ <xs:complexType name="CategoryPurpose1Choice">
2097+ <xs:sequence>
2098+ <xs:choice>
2099+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
2100+ <xs:element name="Prtry" type="Max35Text"/>
2101+ </xs:choice>
2102+ </xs:sequence>
2103+ </xs:complexType>
2104+ <xs:simpleType name="ChargeBearerType1Code">
2105+ <xs:restriction base="xs:string">
2106+ <xs:enumeration value="DEBT"/>
2107+ <xs:enumeration value="CRED"/>
2108+ <xs:enumeration value="SHAR"/>
2109+ <xs:enumeration value="SLEV"/>
2110+ </xs:restriction>
2111+ </xs:simpleType>
2112+ <xs:complexType name="Cheque7">
2113+ <xs:sequence>
2114+ <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
2115+ <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
2116+ <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
2117+ <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
2118+ <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
2119+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
2120+ <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
2121+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
2122+ <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
2123+ <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
2124+ <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
2125+ <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/>
2126+ </xs:sequence>
2127+ </xs:complexType>
2128+ <xs:simpleType name="ChequeDelivery1Code">
2129+ <xs:restriction base="xs:string">
2130+ <xs:enumeration value="MLDB"/>
2131+ <xs:enumeration value="MLCD"/>
2132+ <xs:enumeration value="MLFA"/>
2133+ <xs:enumeration value="CRDB"/>
2134+ <xs:enumeration value="CRCD"/>
2135+ <xs:enumeration value="CRFA"/>
2136+ <xs:enumeration value="PUDB"/>
2137+ <xs:enumeration value="PUCD"/>
2138+ <xs:enumeration value="PUFA"/>
2139+ <xs:enumeration value="RGDB"/>
2140+ <xs:enumeration value="RGCD"/>
2141+ <xs:enumeration value="RGFA"/>
2142+ </xs:restriction>
2143+ </xs:simpleType>
2144+ <xs:complexType name="ChequeDeliveryMethod1Choice">
2145+ <xs:sequence>
2146+ <xs:choice>
2147+ <xs:element name="Cd" type="ChequeDelivery1Code"/>
2148+ <xs:element name="Prtry" type="Max35Text"/>
2149+ </xs:choice>
2150+ </xs:sequence>
2151+ </xs:complexType>
2152+ <xs:simpleType name="ChequeType2Code">
2153+ <xs:restriction base="xs:string">
2154+ <xs:enumeration value="CCHQ"/>
2155+ <xs:enumeration value="CCCH"/>
2156+ <xs:enumeration value="BCHQ"/>
2157+ <xs:enumeration value="DRFT"/>
2158+ <xs:enumeration value="ELDR"/>
2159+ </xs:restriction>
2160+ </xs:simpleType>
2161+ <xs:complexType name="ClearingSystemIdentification2Choice">
2162+ <xs:sequence>
2163+ <xs:choice>
2164+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
2165+ <xs:element name="Prtry" type="Max35Text"/>
2166+ </xs:choice>
2167+ </xs:sequence>
2168+ </xs:complexType>
2169+ <xs:complexType name="ClearingSystemMemberIdentification2">
2170+ <xs:sequence>
2171+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
2172+ <xs:element name="MmbId" type="Max35Text"/>
2173+ </xs:sequence>
2174+ </xs:complexType>
2175+ <xs:complexType name="ContactDetails2">
2176+ <xs:sequence>
2177+ <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
2178+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2179+ <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
2180+ <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
2181+ <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
2182+ <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
2183+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
2184+ </xs:sequence>
2185+ </xs:complexType>
2186+ <xs:simpleType name="CountryCode">
2187+ <xs:restriction base="xs:string">
2188+ <xs:pattern value="[A-Z]{2,2}"/>
2189+ </xs:restriction>
2190+ </xs:simpleType>
2191+ <xs:simpleType name="CreditDebitCode">
2192+ <xs:restriction base="xs:string">
2193+ <xs:enumeration value="CRDT"/>
2194+ <xs:enumeration value="DBIT"/>
2195+ </xs:restriction>
2196+ </xs:simpleType>
2197+ <xs:complexType name="CreditTransferTransaction1">
2198+ <xs:sequence>
2199+ <xs:element name="PmtId" type="PaymentIdentification1"/>
2200+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
2201+ <xs:element name="Amt" type="AmountType3Choice"/>
2202+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/>
2203+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
2204+ <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/>
2205+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
2206+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/>
2207+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/>
2208+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/>
2209+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/>
2210+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/>
2211+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/>
2212+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
2213+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/>
2214+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/>
2215+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/>
2216+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/>
2217+ <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
2218+ <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
2219+ <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
2220+ <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
2221+ <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
2222+ <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
2223+ <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/>
2224+ </xs:sequence>
2225+ </xs:complexType>
2226+ <xs:complexType name="CreditorReferenceInformation2">
2227+ <xs:sequence>
2228+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
2229+ <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
2230+ </xs:sequence>
2231+ </xs:complexType>
2232+ <xs:complexType name="CreditorReferenceType1Choice">
2233+ <xs:sequence>
2234+ <xs:choice>
2235+ <xs:element name="Cd" type="DocumentType3Code"/>
2236+ <xs:element name="Prtry" type="Max35Text"/>
2237+ </xs:choice>
2238+ </xs:sequence>
2239+ </xs:complexType>
2240+ <xs:complexType name="CreditorReferenceType2">
2241+ <xs:sequence>
2242+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
2243+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2244+ </xs:sequence>
2245+ </xs:complexType>
2246+ <xs:complexType name="CustomerCreditTransferInitiationV04">
2247+ <xs:sequence>
2248+ <xs:element name="GrpHdr" type="GroupHeader48"/>
2249+ <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction6"/>
2250+ <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
2251+ </xs:sequence>
2252+ </xs:complexType>
2253+ <xs:complexType name="DateAndPlaceOfBirth">
2254+ <xs:sequence>
2255+ <xs:element name="BirthDt" type="ISODate"/>
2256+ <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
2257+ <xs:element name="CityOfBirth" type="Max35Text"/>
2258+ <xs:element name="CtryOfBirth" type="CountryCode"/>
2259+ </xs:sequence>
2260+ </xs:complexType>
2261+ <xs:complexType name="DatePeriodDetails">
2262+ <xs:sequence>
2263+ <xs:element name="FrDt" type="ISODate"/>
2264+ <xs:element name="ToDt" type="ISODate"/>
2265+ </xs:sequence>
2266+ </xs:complexType>
2267+ <xs:simpleType name="DecimalNumber">
2268+ <xs:restriction base="xs:decimal">
2269+ <xs:fractionDigits value="17"/>
2270+ <xs:totalDigits value="18"/>
2271+ </xs:restriction>
2272+ </xs:simpleType>
2273+ <xs:complexType name="DiscountAmountAndType1">
2274+ <xs:sequence>
2275+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
2276+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2277+ </xs:sequence>
2278+ </xs:complexType>
2279+ <xs:complexType name="DiscountAmountType1Choice">
2280+ <xs:sequence>
2281+ <xs:choice>
2282+ <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
2283+ <xs:element name="Prtry" type="Max35Text"/>
2284+ </xs:choice>
2285+ </xs:sequence>
2286+ </xs:complexType>
2287+ <xs:complexType name="Document">
2288+ <xs:sequence>
2289+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV04"/>
2290+ </xs:sequence>
2291+ </xs:complexType>
2292+ <xs:complexType name="DocumentAdjustment1">
2293+ <xs:sequence>
2294+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2295+ <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
2296+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
2297+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
2298+ </xs:sequence>
2299+ </xs:complexType>
2300+ <xs:simpleType name="DocumentType3Code">
2301+ <xs:restriction base="xs:string">
2302+ <xs:enumeration value="RADM"/>
2303+ <xs:enumeration value="RPIN"/>
2304+ <xs:enumeration value="FXDR"/>
2305+ <xs:enumeration value="DISP"/>
2306+ <xs:enumeration value="PUOR"/>
2307+ <xs:enumeration value="SCOR"/>
2308+ </xs:restriction>
2309+ </xs:simpleType>
2310+ <xs:simpleType name="DocumentType5Code">
2311+ <xs:restriction base="xs:string">
2312+ <xs:enumeration value="MSIN"/>
2313+ <xs:enumeration value="CNFA"/>
2314+ <xs:enumeration value="DNFA"/>
2315+ <xs:enumeration value="CINV"/>
2316+ <xs:enumeration value="CREN"/>
2317+ <xs:enumeration value="DEBN"/>
2318+ <xs:enumeration value="HIRI"/>
2319+ <xs:enumeration value="SBIN"/>
2320+ <xs:enumeration value="CMCN"/>
2321+ <xs:enumeration value="SOAC"/>
2322+ <xs:enumeration value="DISP"/>
2323+ <xs:enumeration value="BOLD"/>
2324+ <xs:enumeration value="VCHR"/>
2325+ <xs:enumeration value="AROI"/>
2326+ <xs:enumeration value="TSUT"/>
2327+ </xs:restriction>
2328+ </xs:simpleType>
2329+ <xs:complexType name="EquivalentAmount2">
2330+ <xs:sequence>
2331+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2332+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
2333+ </xs:sequence>
2334+ </xs:complexType>
2335+ <xs:complexType name="ExchangeRate1">
2336+ <xs:sequence>
2337+ <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/>
2338+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
2339+ <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
2340+ <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
2341+ </xs:sequence>
2342+ </xs:complexType>
2343+ <xs:simpleType name="ExchangeRateType1Code">
2344+ <xs:restriction base="xs:string">
2345+ <xs:enumeration value="SPOT"/>
2346+ <xs:enumeration value="SALE"/>
2347+ <xs:enumeration value="AGRD"/>
2348+ </xs:restriction>
2349+ </xs:simpleType>
2350+ <xs:simpleType name="ExternalAccountIdentification1Code">
2351+ <xs:restriction base="xs:string">
2352+ <xs:minLength value="1"/>
2353+ <xs:maxLength value="4"/>
2354+ </xs:restriction>
2355+ </xs:simpleType>
2356+ <xs:simpleType name="ExternalCashAccountType1Code">
2357+ <xs:restriction base="xs:string">
2358+ <xs:minLength value="1"/>
2359+ <xs:maxLength value="4"/>
2360+ </xs:restriction>
2361+ </xs:simpleType>
2362+ <xs:simpleType name="ExternalCategoryPurpose1Code">
2363+ <xs:restriction base="xs:string">
2364+ <xs:minLength value="1"/>
2365+ <xs:maxLength value="4"/>
2366+ </xs:restriction>
2367+ </xs:simpleType>
2368+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
2369+ <xs:restriction base="xs:string">
2370+ <xs:minLength value="1"/>
2371+ <xs:maxLength value="5"/>
2372+ </xs:restriction>
2373+ </xs:simpleType>
2374+ <xs:simpleType name="ExternalDiscountAmountType1Code">
2375+ <xs:restriction base="xs:string">
2376+ <xs:minLength value="1"/>
2377+ <xs:maxLength value="4"/>
2378+ </xs:restriction>
2379+ </xs:simpleType>
2380+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
2381+ <xs:restriction base="xs:string">
2382+ <xs:minLength value="1"/>
2383+ <xs:maxLength value="4"/>
2384+ </xs:restriction>
2385+ </xs:simpleType>
2386+ <xs:simpleType name="ExternalLocalInstrument1Code">
2387+ <xs:restriction base="xs:string">
2388+ <xs:minLength value="1"/>
2389+ <xs:maxLength value="35"/>
2390+ </xs:restriction>
2391+ </xs:simpleType>
2392+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
2393+ <xs:restriction base="xs:string">
2394+ <xs:minLength value="1"/>
2395+ <xs:maxLength value="4"/>
2396+ </xs:restriction>
2397+ </xs:simpleType>
2398+ <xs:simpleType name="ExternalPersonIdentification1Code">
2399+ <xs:restriction base="xs:string">
2400+ <xs:minLength value="1"/>
2401+ <xs:maxLength value="4"/>
2402+ </xs:restriction>
2403+ </xs:simpleType>
2404+ <xs:simpleType name="ExternalPurpose1Code">
2405+ <xs:restriction base="xs:string">
2406+ <xs:minLength value="1"/>
2407+ <xs:maxLength value="4"/>
2408+ </xs:restriction>
2409+ </xs:simpleType>
2410+ <xs:simpleType name="ExternalServiceLevel1Code">
2411+ <xs:restriction base="xs:string">
2412+ <xs:minLength value="1"/>
2413+ <xs:maxLength value="4"/>
2414+ </xs:restriction>
2415+ </xs:simpleType>
2416+ <xs:simpleType name="ExternalTaxAmountType1Code">
2417+ <xs:restriction base="xs:string">
2418+ <xs:minLength value="1"/>
2419+ <xs:maxLength value="4"/>
2420+ </xs:restriction>
2421+ </xs:simpleType>
2422+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
2423+ <xs:sequence>
2424+ <xs:choice>
2425+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
2426+ <xs:element name="Prtry" type="Max35Text"/>
2427+ </xs:choice>
2428+ </xs:sequence>
2429+ </xs:complexType>
2430+ <xs:complexType name="FinancialInstitutionIdentification8">
2431+ <xs:sequence>
2432+ <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
2433+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
2434+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2435+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
2436+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
2437+ </xs:sequence>
2438+ </xs:complexType>
2439+ <xs:complexType name="GenericAccountIdentification1">
2440+ <xs:sequence>
2441+ <xs:element name="Id" type="Max34Text"/>
2442+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
2443+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2444+ </xs:sequence>
2445+ </xs:complexType>
2446+ <xs:complexType name="GenericFinancialIdentification1">
2447+ <xs:sequence>
2448+ <xs:element name="Id" type="Max35Text"/>
2449+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
2450+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2451+ </xs:sequence>
2452+ </xs:complexType>
2453+ <xs:complexType name="GenericOrganisationIdentification1">
2454+ <xs:sequence>
2455+ <xs:element name="Id" type="Max35Text"/>
2456+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
2457+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2458+ </xs:sequence>
2459+ </xs:complexType>
2460+ <xs:complexType name="GenericPersonIdentification1">
2461+ <xs:sequence>
2462+ <xs:element name="Id" type="Max35Text"/>
2463+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
2464+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2465+ </xs:sequence>
2466+ </xs:complexType>
2467+ <xs:complexType name="GroupHeader48">
2468+ <xs:sequence>
2469+ <xs:element name="MsgId" type="Max35Text"/>
2470+ <xs:element name="CreDtTm" type="ISODateTime"/>
2471+ <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
2472+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
2473+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
2474+ <xs:element name="InitgPty" type="PartyIdentification43"/>
2475+ <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/>
2476+ </xs:sequence>
2477+ </xs:complexType>
2478+ <xs:simpleType name="IBAN2007Identifier">
2479+ <xs:restriction base="xs:string">
2480+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
2481+ </xs:restriction>
2482+ </xs:simpleType>
2483+ <xs:simpleType name="ISODate">
2484+ <xs:restriction base="xs:date"/>
2485+ </xs:simpleType>
2486+ <xs:simpleType name="ISODateTime">
2487+ <xs:restriction base="xs:dateTime"/>
2488+ </xs:simpleType>
2489+ <xs:simpleType name="Instruction3Code">
2490+ <xs:restriction base="xs:string">
2491+ <xs:enumeration value="CHQB"/>
2492+ <xs:enumeration value="HOLD"/>
2493+ <xs:enumeration value="PHOB"/>
2494+ <xs:enumeration value="TELB"/>
2495+ </xs:restriction>
2496+ </xs:simpleType>
2497+ <xs:complexType name="InstructionForCreditorAgent1">
2498+ <xs:sequence>
2499+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
2500+ <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
2501+ </xs:sequence>
2502+ </xs:complexType>
2503+ <xs:complexType name="LocalInstrument2Choice">
2504+ <xs:sequence>
2505+ <xs:choice>
2506+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
2507+ <xs:element name="Prtry" type="Max35Text"/>
2508+ </xs:choice>
2509+ </xs:sequence>
2510+ </xs:complexType>
2511+ <xs:simpleType name="Max10Text">
2512+ <xs:restriction base="xs:string">
2513+ <xs:minLength value="1"/>
2514+ <xs:maxLength value="10"/>
2515+ </xs:restriction>
2516+ </xs:simpleType>
2517+ <xs:simpleType name="Max128Text">
2518+ <xs:restriction base="xs:string">
2519+ <xs:minLength value="1"/>
2520+ <xs:maxLength value="128"/>
2521+ </xs:restriction>
2522+ </xs:simpleType>
2523+ <xs:simpleType name="Max140Text">
2524+ <xs:restriction base="xs:string">
2525+ <xs:minLength value="1"/>
2526+ <xs:maxLength value="140"/>
2527+ </xs:restriction>
2528+ </xs:simpleType>
2529+ <xs:simpleType name="Max15NumericText">
2530+ <xs:restriction base="xs:string">
2531+ <xs:pattern value="[0-9]{1,15}"/>
2532+ </xs:restriction>
2533+ </xs:simpleType>
2534+ <xs:simpleType name="Max16Text">
2535+ <xs:restriction base="xs:string">
2536+ <xs:minLength value="1"/>
2537+ <xs:maxLength value="16"/>
2538+ </xs:restriction>
2539+ </xs:simpleType>
2540+ <xs:simpleType name="Max2048Text">
2541+ <xs:restriction base="xs:string">
2542+ <xs:minLength value="1"/>
2543+ <xs:maxLength value="2048"/>
2544+ </xs:restriction>
2545+ </xs:simpleType>
2546+ <xs:simpleType name="Max34Text">
2547+ <xs:restriction base="xs:string">
2548+ <xs:minLength value="1"/>
2549+ <xs:maxLength value="34"/>
2550+ </xs:restriction>
2551+ </xs:simpleType>
2552+ <xs:simpleType name="Max350Text">
2553+ <xs:restriction base="xs:string">
2554+ <xs:minLength value="1"/>
2555+ <xs:maxLength value="350"/>
2556+ </xs:restriction>
2557+ </xs:simpleType>
2558+ <xs:simpleType name="Max35Text">
2559+ <xs:restriction base="xs:string">
2560+ <xs:minLength value="1"/>
2561+ <xs:maxLength value="35"/>
2562+ </xs:restriction>
2563+ </xs:simpleType>
2564+ <xs:simpleType name="Max4Text">
2565+ <xs:restriction base="xs:string">
2566+ <xs:minLength value="1"/>
2567+ <xs:maxLength value="4"/>
2568+ </xs:restriction>
2569+ </xs:simpleType>
2570+ <xs:simpleType name="Max70Text">
2571+ <xs:restriction base="xs:string">
2572+ <xs:minLength value="1"/>
2573+ <xs:maxLength value="70"/>
2574+ </xs:restriction>
2575+ </xs:simpleType>
2576+ <xs:complexType name="NameAndAddress10">
2577+ <xs:sequence>
2578+ <xs:element name="Nm" type="Max140Text"/>
2579+ <xs:element name="Adr" type="PostalAddress6"/>
2580+ </xs:sequence>
2581+ </xs:complexType>
2582+ <xs:simpleType name="NamePrefix1Code">
2583+ <xs:restriction base="xs:string">
2584+ <xs:enumeration value="DOCT"/>
2585+ <xs:enumeration value="MIST"/>
2586+ <xs:enumeration value="MISS"/>
2587+ <xs:enumeration value="MADM"/>
2588+ </xs:restriction>
2589+ </xs:simpleType>
2590+ <xs:simpleType name="Number">
2591+ <xs:restriction base="xs:decimal">
2592+ <xs:fractionDigits value="0"/>
2593+ <xs:totalDigits value="18"/>
2594+ </xs:restriction>
2595+ </xs:simpleType>
2596+ <xs:complexType name="OrganisationIdentification8">
2597+ <xs:sequence>
2598+ <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
2599+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
2600+ </xs:sequence>
2601+ </xs:complexType>
2602+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
2603+ <xs:sequence>
2604+ <xs:choice>
2605+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
2606+ <xs:element name="Prtry" type="Max35Text"/>
2607+ </xs:choice>
2608+ </xs:sequence>
2609+ </xs:complexType>
2610+ <xs:complexType name="Party11Choice">
2611+ <xs:sequence>
2612+ <xs:choice>
2613+ <xs:element name="OrgId" type="OrganisationIdentification8"/>
2614+ <xs:element name="PrvtId" type="PersonIdentification5"/>
2615+ </xs:choice>
2616+ </xs:sequence>
2617+ </xs:complexType>
2618+ <xs:complexType name="PartyIdentification43">
2619+ <xs:sequence>
2620+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2621+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
2622+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/>
2623+ <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
2624+ <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
2625+ </xs:sequence>
2626+ </xs:complexType>
2627+ <xs:complexType name="PaymentIdentification1">
2628+ <xs:sequence>
2629+ <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
2630+ <xs:element name="EndToEndId" type="Max35Text"/>
2631+ </xs:sequence>
2632+ </xs:complexType>
2633+ <xs:complexType name="PaymentInstruction6">
2634+ <xs:sequence>
2635+ <xs:element name="PmtInfId" type="Max35Text"/>
2636+ <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
2637+ <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
2638+ <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
2639+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
2640+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
2641+ <xs:element name="ReqdExctnDt" type="ISODate"/>
2642+ <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
2643+ <xs:element name="Dbtr" type="PartyIdentification43"/>
2644+ <xs:element name="DbtrAcct" type="CashAccount24"/>
2645+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
2646+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/>
2647+ <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
2648+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
2649+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
2650+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/>
2651+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/>
2652+ <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction1"/>
2653+ </xs:sequence>
2654+ </xs:complexType>
2655+ <xs:simpleType name="PaymentMethod3Code">
2656+ <xs:restriction base="xs:string">
2657+ <xs:enumeration value="CHK"/>
2658+ <xs:enumeration value="TRF"/>
2659+ <xs:enumeration value="TRA"/>
2660+ </xs:restriction>
2661+ </xs:simpleType>
2662+ <xs:complexType name="PaymentTypeInformation19">
2663+ <xs:sequence>
2664+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
2665+ <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
2666+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
2667+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
2668+ </xs:sequence>
2669+ </xs:complexType>
2670+ <xs:simpleType name="PercentageRate">
2671+ <xs:restriction base="xs:decimal">
2672+ <xs:fractionDigits value="10"/>
2673+ <xs:totalDigits value="11"/>
2674+ </xs:restriction>
2675+ </xs:simpleType>
2676+ <xs:complexType name="PersonIdentification5">
2677+ <xs:sequence>
2678+ <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
2679+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
2680+ </xs:sequence>
2681+ </xs:complexType>
2682+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
2683+ <xs:sequence>
2684+ <xs:choice>
2685+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
2686+ <xs:element name="Prtry" type="Max35Text"/>
2687+ </xs:choice>
2688+ </xs:sequence>
2689+ </xs:complexType>
2690+ <xs:simpleType name="PhoneNumber">
2691+ <xs:restriction base="xs:string">
2692+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
2693+ </xs:restriction>
2694+ </xs:simpleType>
2695+ <xs:complexType name="PostalAddress6">
2696+ <xs:sequence>
2697+ <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
2698+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
2699+ <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
2700+ <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
2701+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
2702+ <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
2703+ <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
2704+ <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
2705+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
2706+ <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
2707+ </xs:sequence>
2708+ </xs:complexType>
2709+ <xs:simpleType name="Priority2Code">
2710+ <xs:restriction base="xs:string">
2711+ <xs:enumeration value="HIGH"/>
2712+ <xs:enumeration value="NORM"/>
2713+ </xs:restriction>
2714+ </xs:simpleType>
2715+ <xs:complexType name="Purpose2Choice">
2716+ <xs:sequence>
2717+ <xs:choice>
2718+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
2719+ <xs:element name="Prtry" type="Max35Text"/>
2720+ </xs:choice>
2721+ </xs:sequence>
2722+ </xs:complexType>
2723+ <xs:complexType name="ReferredDocumentInformation3">
2724+ <xs:sequence>
2725+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
2726+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
2727+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
2728+ </xs:sequence>
2729+ </xs:complexType>
2730+ <xs:complexType name="ReferredDocumentType1Choice">
2731+ <xs:sequence>
2732+ <xs:choice>
2733+ <xs:element name="Cd" type="DocumentType5Code"/>
2734+ <xs:element name="Prtry" type="Max35Text"/>
2735+ </xs:choice>
2736+ </xs:sequence>
2737+ </xs:complexType>
2738+ <xs:complexType name="ReferredDocumentType2">
2739+ <xs:sequence>
2740+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
2741+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
2742+ </xs:sequence>
2743+ </xs:complexType>
2744+ <xs:complexType name="RegulatoryAuthority2">
2745+ <xs:sequence>
2746+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2747+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
2748+ </xs:sequence>
2749+ </xs:complexType>
2750+ <xs:complexType name="RegulatoryReporting3">
2751+ <xs:sequence>
2752+ <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
2753+ <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
2754+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
2755+ </xs:sequence>
2756+ </xs:complexType>
2757+ <xs:simpleType name="RegulatoryReportingType1Code">
2758+ <xs:restriction base="xs:string">
2759+ <xs:enumeration value="CRED"/>
2760+ <xs:enumeration value="DEBT"/>
2761+ <xs:enumeration value="BOTH"/>
2762+ </xs:restriction>
2763+ </xs:simpleType>
2764+ <xs:complexType name="RemittanceAmount2">
2765+ <xs:sequence>
2766+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2767+ <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
2768+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2769+ <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
2770+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
2771+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2772+ </xs:sequence>
2773+ </xs:complexType>
2774+ <xs:complexType name="RemittanceInformation7">
2775+ <xs:sequence>
2776+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
2777+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/>
2778+ </xs:sequence>
2779+ </xs:complexType>
2780+ <xs:complexType name="RemittanceLocation2">
2781+ <xs:sequence>
2782+ <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
2783+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
2784+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
2785+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
2786+ </xs:sequence>
2787+ </xs:complexType>
2788+ <xs:simpleType name="RemittanceLocationMethod2Code">
2789+ <xs:restriction base="xs:string">
2790+ <xs:enumeration value="FAXI"/>
2791+ <xs:enumeration value="EDIC"/>
2792+ <xs:enumeration value="URID"/>
2793+ <xs:enumeration value="EMAL"/>
2794+ <xs:enumeration value="POST"/>
2795+ <xs:enumeration value="SMSM"/>
2796+ </xs:restriction>
2797+ </xs:simpleType>
2798+ <xs:complexType name="ServiceLevel8Choice">
2799+ <xs:sequence>
2800+ <xs:choice>
2801+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
2802+ <xs:element name="Prtry" type="Max35Text"/>
2803+ </xs:choice>
2804+ </xs:sequence>
2805+ </xs:complexType>
2806+ <xs:complexType name="StructuredRegulatoryReporting3">
2807+ <xs:sequence>
2808+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
2809+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
2810+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
2811+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
2812+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2813+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
2814+ </xs:sequence>
2815+ </xs:complexType>
2816+ <xs:complexType name="StructuredRemittanceInformation9">
2817+ <xs:sequence>
2818+ <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
2819+ <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
2820+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
2821+ <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/>
2822+ <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/>
2823+ <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
2824+ </xs:sequence>
2825+ </xs:complexType>
2826+ <xs:complexType name="SupplementaryData1">
2827+ <xs:sequence>
2828+ <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
2829+ <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
2830+ </xs:sequence>
2831+ </xs:complexType>
2832+ <xs:complexType name="SupplementaryDataEnvelope1">
2833+ <xs:sequence>
2834+ <xs:any namespace="##any" processContents="lax"/>
2835+ </xs:sequence>
2836+ </xs:complexType>
2837+ <xs:complexType name="TaxAmount1">
2838+ <xs:sequence>
2839+ <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
2840+ <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2841+ <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2842+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
2843+ </xs:sequence>
2844+ </xs:complexType>
2845+ <xs:complexType name="TaxAmountAndType1">
2846+ <xs:sequence>
2847+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
2848+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2849+ </xs:sequence>
2850+ </xs:complexType>
2851+ <xs:complexType name="TaxAmountType1Choice">
2852+ <xs:sequence>
2853+ <xs:choice>
2854+ <xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
2855+ <xs:element name="Prtry" type="Max35Text"/>
2856+ </xs:choice>
2857+ </xs:sequence>
2858+ </xs:complexType>
2859+ <xs:complexType name="TaxAuthorisation1">
2860+ <xs:sequence>
2861+ <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
2862+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
2863+ </xs:sequence>
2864+ </xs:complexType>
2865+ <xs:complexType name="TaxInformation3">
2866+ <xs:sequence>
2867+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
2868+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
2869+ <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
2870+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
2871+ <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
2872+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2873+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
2874+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
2875+ <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
2876+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
2877+ </xs:sequence>
2878+ </xs:complexType>
2879+ <xs:complexType name="TaxParty1">
2880+ <xs:sequence>
2881+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
2882+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
2883+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
2884+ </xs:sequence>
2885+ </xs:complexType>
2886+ <xs:complexType name="TaxParty2">
2887+ <xs:sequence>
2888+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
2889+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
2890+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
2891+ <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
2892+ </xs:sequence>
2893+ </xs:complexType>
2894+ <xs:complexType name="TaxPeriod1">
2895+ <xs:sequence>
2896+ <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
2897+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
2898+ <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
2899+ </xs:sequence>
2900+ </xs:complexType>
2901+ <xs:complexType name="TaxRecord1">
2902+ <xs:sequence>
2903+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
2904+ <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
2905+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
2906+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
2907+ <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
2908+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
2909+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
2910+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
2911+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
2912+ </xs:sequence>
2913+ </xs:complexType>
2914+ <xs:complexType name="TaxRecordDetails1">
2915+ <xs:sequence>
2916+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
2917+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
2918+ </xs:sequence>
2919+ </xs:complexType>
2920+ <xs:simpleType name="TaxRecordPeriod1Code">
2921+ <xs:restriction base="xs:string">
2922+ <xs:enumeration value="MM01"/>
2923+ <xs:enumeration value="MM02"/>
2924+ <xs:enumeration value="MM03"/>
2925+ <xs:enumeration value="MM04"/>
2926+ <xs:enumeration value="MM05"/>
2927+ <xs:enumeration value="MM06"/>
2928+ <xs:enumeration value="MM07"/>
2929+ <xs:enumeration value="MM08"/>
2930+ <xs:enumeration value="MM09"/>
2931+ <xs:enumeration value="MM10"/>
2932+ <xs:enumeration value="MM11"/>
2933+ <xs:enumeration value="MM12"/>
2934+ <xs:enumeration value="QTR1"/>
2935+ <xs:enumeration value="QTR2"/>
2936+ <xs:enumeration value="QTR3"/>
2937+ <xs:enumeration value="QTR4"/>
2938+ <xs:enumeration value="HLF1"/>
2939+ <xs:enumeration value="HLF2"/>
2940+ </xs:restriction>
2941+ </xs:simpleType>
2942+</xs:schema>
2943\ No newline at end of file
2944
2945=== added file 'account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml'
2946--- account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml 1970-01-01 00:00:00 +0000
2947+++ account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml 2013-07-15 14:34:08 +0000
2948@@ -0,0 +1,36 @@
2949+<?xml version="1.0" encoding="utf-8"?>
2950+<openerp>
2951+<data noupdate="0">
2952+
2953+
2954+<!-- TODO In the suitable_bank_types field, we should restrict to IBAN type and Rib+IBAN of l10n_fr_rib ? -->
2955+<record id="export_sepa_sct_001_001_04" model="payment.mode.type">
2956+ <field name="name">SEPA Credit Transfer v04</field>
2957+ <field name="code">pain.001.001.04</field>
2958+ <field name="suitable_bank_types"
2959+ eval="[(6,0,[ref('base_iban.bank_iban')])]" />
2960+ <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
2961+ <field name="payment_order_type">payment</field>
2962+</record>
2963+
2964+<record id="export_sepa_sct_001_001_03" model="payment.mode.type">
2965+ <field name="name">SEPA Credit Transfer v03</field>
2966+ <field name="code">pain.001.001.03</field>
2967+ <field name="suitable_bank_types"
2968+ eval="[(6,0,[ref('base_iban.bank_iban')])]" />
2969+ <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
2970+ <field name="payment_order_type">payment</field>
2971+</record>
2972+
2973+<record id="export_sepa_sct_001_001_02" model="payment.mode.type">
2974+ <field name="name">SEPA Credit Transfer v02</field>
2975+ <field name="code">pain.001.001.02</field>
2976+ <field name="suitable_bank_types"
2977+ eval="[(6,0,[ref('base_iban.bank_iban')])]" />
2978+ <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
2979+ <field name="payment_order_type">payment</field>
2980+</record>
2981+
2982+
2983+</data>
2984+</openerp>
2985
2986=== added directory 'account_banking_sepa_credit_transfer/i18n'
2987=== added file 'account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot'
2988--- account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot 1970-01-01 00:00:00 +0000
2989+++ account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot 2013-07-15 14:34:08 +0000
2990@@ -0,0 +1,251 @@
2991+# Translation of OpenERP Server.
2992+# This file contains the translation of the following modules:
2993+# * account_banking_sepa_credit_transfer
2994+#
2995+msgid ""
2996+msgstr ""
2997+"Project-Id-Version: OpenERP Server 6.1\n"
2998+"Report-Msgid-Bugs-To: \n"
2999+"POT-Creation-Date: 2013-06-06 08:01+0000\n"
3000+"PO-Revision-Date: 2013-06-06 08:01+0000\n"
3001+"Last-Translator: <>\n"
3002+"Language-Team: \n"
3003+"MIME-Version: 1.0\n"
3004+"Content-Type: text/plain; charset=UTF-8\n"
3005+"Content-Transfer-Encoding: \n"
3006+"Plural-Forms: \n"
3007+
3008+#. module: account_banking_sepa_credit_transfer
3009+#: field:banking.export.sepa,file:0
3010+#: field:banking.export.sepa.wizard,file_id:0
3011+msgid "SEPA XML file"
3012+msgstr ""
3013+
3014+#. module: account_banking_sepa_credit_transfer
3015+#: view:banking.export.sepa:0
3016+msgid "Payment order"
3017+msgstr ""
3018+
3019+#. module: account_banking_sepa_credit_transfer
3020+#: selection:banking.export.sepa.wizard,state:0
3021+msgid "Create"
3022+msgstr ""
3023+
3024+#. module: account_banking_sepa_credit_transfer
3025+#: help:banking.export.sepa.wizard,msg_identification:0
3026+msgid "This is the message identification of the entire SEPA XML file. 35 characters max."
3027+msgstr ""
3028+
3029+#. module: account_banking_sepa_credit_transfer
3030+#: field:banking.export.sepa,filename:0
3031+#: field:banking.export.sepa.wizard,filename:0
3032+msgid "Filename"
3033+msgstr ""
3034+
3035+#. module: account_banking_sepa_credit_transfer
3036+#: view:banking.export.sepa:0
3037+msgid "General information"
3038+msgstr ""
3039+
3040+#. module: account_banking_sepa_credit_transfer
3041+#: field:banking.export.sepa,state:0
3042+#: field:banking.export.sepa.wizard,state:0
3043+msgid "State"
3044+msgstr ""
3045+
3046+#. module: account_banking_sepa_credit_transfer
3047+#: selection:banking.export.sepa,state:0
3048+msgid "Draft"
3049+msgstr ""
3050+
3051+#. module: account_banking_sepa_credit_transfer
3052+#: field:banking.export.sepa,prefered_exec_date:0
3053+#: field:banking.export.sepa.wizard,prefered_exec_date:0
3054+msgid "Prefered execution date"
3055+msgstr ""
3056+
3057+#. module: account_banking_sepa_credit_transfer
3058+#: selection:banking.export.sepa,charge_bearer:0
3059+#: selection:banking.export.sepa.wizard,charge_bearer:0
3060+msgid "Shared"
3061+msgstr ""
3062+
3063+#. module: account_banking_sepa_credit_transfer
3064+#: field:banking.export.sepa,generation_date:0
3065+msgid "Generation date"
3066+msgstr ""
3067+
3068+#. module: account_banking_sepa_credit_transfer
3069+#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard
3070+msgid "Export SEPA Credit Transfer XML file"
3071+msgstr ""
3072+
3073+#. module: account_banking_sepa_credit_transfer
3074+#: view:banking.export.sepa:0
3075+msgid "SEPA Credit Transfer"
3076+msgstr ""
3077+
3078+#. module: account_banking_sepa_credit_transfer
3079+#: selection:banking.export.sepa.wizard,state:0
3080+msgid "Finish"
3081+msgstr ""
3082+
3083+#. module: account_banking_sepa_credit_transfer
3084+#: selection:banking.export.sepa,state:0
3085+msgid "Reconciled"
3086+msgstr ""
3087+
3088+#. module: account_banking_sepa_credit_transfer
3089+#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.act_banking_export_sepa_payment_order
3090+msgid "Generated SEPA files"
3091+msgstr ""
3092+
3093+#. module: account_banking_sepa_credit_transfer
3094+#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.action_account_banking_sepa
3095+#: model:ir.ui.menu,name:account_banking_sepa_credit_transfer.menu_account_banking_sepa
3096+msgid "Generated SEPA XML files"
3097+msgstr ""
3098+
3099+#. module: account_banking_sepa_credit_transfer
3100+#: selection:banking.export.sepa,state:0
3101+msgid "Sent"
3102+msgstr ""
3103+
3104+#. module: account_banking_sepa_credit_transfer
3105+#: view:banking.export.sepa.wizard:0
3106+msgid "Validate"
3107+msgstr ""
3108+
3109+#. module: account_banking_sepa_credit_transfer
3110+#: view:banking.export.sepa.wizard:0
3111+msgid "Generate"
3112+msgstr ""
3113+
3114+#. module: account_banking_sepa_credit_transfer
3115+#: field:banking.export.sepa,msg_identification:0
3116+#: field:banking.export.sepa.wizard,msg_identification:0
3117+msgid "Message identification"
3118+msgstr ""
3119+
3120+#. module: account_banking_sepa_credit_transfer
3121+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
3122+#, python-format
3123+msgid "The generated XML file is not valid against the official XML Schema Definition. The generated XML file and the full error have been written in the server logs. Here is the error, which may give you an idea on the cause of the problem : %s"
3124+msgstr ""
3125+
3126+#. module: account_banking_sepa_credit_transfer
3127+#: field:banking.export.sepa,total_amount:0
3128+#: field:banking.export.sepa.wizard,total_amount:0
3129+msgid "Total amount"
3130+msgstr ""
3131+
3132+#. module: account_banking_sepa_credit_transfer
3133+#: help:banking.export.sepa,charge_bearer:0
3134+#: help:banking.export.sepa.wizard,charge_bearer:0
3135+msgid "Shared : transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor (most transfers use this). Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor. Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme."
3136+msgstr ""
3137+
3138+#. module: account_banking_sepa_credit_transfer
3139+#: selection:banking.export.sepa,charge_bearer:0
3140+#: selection:banking.export.sepa.wizard,charge_bearer:0
3141+msgid "Borne by creditor"
3142+msgstr ""
3143+
3144+#. module: account_banking_sepa_credit_transfer
3145+#: view:banking.export.sepa:0
3146+#: field:banking.export.sepa,payment_order_ids:0
3147+#: field:banking.export.sepa.wizard,payment_order_ids:0
3148+msgid "Payment orders"
3149+msgstr ""
3150+
3151+#. module: account_banking_sepa_credit_transfer
3152+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
3153+#, python-format
3154+msgid "This IBAN is not valid : %s"
3155+msgstr ""
3156+
3157+#. module: account_banking_sepa_credit_transfer
3158+#: view:banking.export.sepa.wizard:0
3159+msgid "SEPA XML file generation"
3160+msgstr ""
3161+
3162+#. module: account_banking_sepa_credit_transfer
3163+#: view:banking.export.sepa.wizard:0
3164+msgid "Reference for further communication"
3165+msgstr ""
3166+
3167+#. module: account_banking_sepa_credit_transfer
3168+#: view:banking.export.sepa.wizard:0
3169+msgid "Processing details"
3170+msgstr ""
3171+
3172+#. module: account_banking_sepa_credit_transfer
3173+#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa
3174+msgid "SEPA export"
3175+msgstr ""
3176+
3177+#. module: account_banking_sepa_credit_transfer
3178+#: selection:banking.export.sepa,charge_bearer:0
3179+#: selection:banking.export.sepa.wizard,charge_bearer:0
3180+msgid "Borne by debtor"
3181+msgstr ""
3182+
3183+#. module: account_banking_sepa_credit_transfer
3184+#: field:banking.export.sepa,nb_transactions:0
3185+#: field:banking.export.sepa.wizard,nb_transactions:0
3186+msgid "Number of transactions"
3187+msgstr ""
3188+
3189+#. module: account_banking_sepa_credit_transfer
3190+#: selection:banking.export.sepa,charge_bearer:0
3191+#: selection:banking.export.sepa.wizard,charge_bearer:0
3192+msgid "Following service level"
3193+msgstr ""
3194+
3195+#. module: account_banking_sepa_credit_transfer
3196+#: field:banking.export.sepa,charge_bearer:0
3197+#: field:banking.export.sepa.wizard,charge_bearer:0
3198+msgid "Charge bearer"
3199+msgstr ""
3200+
3201+#. module: account_banking_sepa_credit_transfer
3202+#: help:banking.export.sepa,batch_booking:0
3203+#: help:banking.export.sepa.wizard,batch_booking:0
3204+msgid "If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file."
3205+msgstr ""
3206+
3207+#. module: account_banking_sepa_credit_transfer
3208+#: help:banking.export.sepa.wizard,prefered_exec_date:0
3209+msgid "This is the date on which the file should be processed by the bank. Please keep in mind that banks only execute on working days and typically use a delay of two days between execution date and effective transfer date."
3210+msgstr ""
3211+
3212+#. module: account_banking_sepa_credit_transfer
3213+#: field:banking.export.sepa.wizard,file:0
3214+msgid "File"
3215+msgstr ""
3216+
3217+#. module: account_banking_sepa_credit_transfer
3218+#: view:banking.export.sepa.wizard:0
3219+msgid "Cancel"
3220+msgstr ""
3221+
3222+#. module: account_banking_sepa_credit_transfer
3223+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
3224+#, python-format
3225+msgid "Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03' and 'pain.001.001.04'."
3226+msgstr ""
3227+
3228+#. module: account_banking_sepa_credit_transfer
3229+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
3230+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
3231+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
3232+#, python-format
3233+msgid "Error :"
3234+msgstr ""
3235+
3236+#. module: account_banking_sepa_credit_transfer
3237+#: field:banking.export.sepa,batch_booking:0
3238+#: field:banking.export.sepa.wizard,batch_booking:0
3239+msgid "Batch booking"
3240+msgstr ""
3241+
3242
3243=== added file 'account_banking_sepa_credit_transfer/i18n/fr.po'
3244--- account_banking_sepa_credit_transfer/i18n/fr.po 1970-01-01 00:00:00 +0000
3245+++ account_banking_sepa_credit_transfer/i18n/fr.po 2013-07-15 14:34:08 +0000
3246@@ -0,0 +1,251 @@
3247+# Translation of OpenERP Server.
3248+# This file contains the translation of the following modules:
3249+# * account_banking_sepa_credit_transfer
3250+#
3251+msgid ""
3252+msgstr ""
3253+"Project-Id-Version: OpenERP Server 6.1\n"
3254+"Report-Msgid-Bugs-To: \n"
3255+"POT-Creation-Date: 2013-06-06 08:01+0000\n"
3256+"PO-Revision-Date: 2013-06-06 08:01+0000\n"
3257+"Last-Translator: <>\n"
3258+"Language-Team: \n"
3259+"MIME-Version: 1.0\n"
3260+"Content-Type: text/plain; charset=UTF-8\n"
3261+"Content-Transfer-Encoding: \n"
3262+"Plural-Forms: \n"
3263+
3264+#. module: account_banking_sepa_credit_transfer
3265+#: field:banking.export.sepa,file:0
3266+#: field:banking.export.sepa.wizard,file_id:0
3267+msgid "SEPA XML file"
3268+msgstr "Fichier SEPA XML"
3269+
3270+#. module: account_banking_sepa_credit_transfer
3271+#: view:banking.export.sepa:0
3272+msgid "Payment order"
3273+msgstr "Ordre de paiement"
3274+
3275+#. module: account_banking_sepa_credit_transfer
3276+#: selection:banking.export.sepa.wizard,state:0
3277+msgid "Create"
3278+msgstr "Créer"
3279+
3280+#. module: account_banking_sepa_credit_transfer
3281+#: help:banking.export.sepa.wizard,msg_identification:0
3282+msgid "This is the message identification of the entire SEPA XML file. 35 characters max."
3283+msgstr "Ceci est le libellé d'identification du fichier SEPA XML. 35 caractères maximum."
3284+
3285+#. module: account_banking_sepa_credit_transfer
3286+#: field:banking.export.sepa,filename:0
3287+#: field:banking.export.sepa.wizard,filename:0
3288+msgid "Filename"
3289+msgstr "Nom du fichier"
3290+
3291+#. module: account_banking_sepa_credit_transfer
3292+#: view:banking.export.sepa:0
3293+msgid "General information"
3294+msgstr "Informations générales"
3295+
3296+#. module: account_banking_sepa_credit_transfer
3297+#: field:banking.export.sepa,state:0
3298+#: field:banking.export.sepa.wizard,state:0
3299+msgid "State"
3300+msgstr "État"
3301+
3302+#. module: account_banking_sepa_credit_transfer
3303+#: selection:banking.export.sepa,state:0
3304+msgid "Draft"
3305+msgstr "Brouillon"
3306+
3307+#. module: account_banking_sepa_credit_transfer
3308+#: field:banking.export.sepa,prefered_exec_date:0
3309+#: field:banking.export.sepa.wizard,prefered_exec_date:0
3310+msgid "Prefered execution date"
3311+msgstr "Date d'exécution demandée"
3312+
3313+#. module: account_banking_sepa_credit_transfer
3314+#: selection:banking.export.sepa,charge_bearer:0
3315+#: selection:banking.export.sepa.wizard,charge_bearer:0
3316+msgid "Shared"
3317+msgstr "Partagé"
3318+
3319+#. module: account_banking_sepa_credit_transfer
3320+#: field:banking.export.sepa,generation_date:0
3321+msgid "Generation date"
3322+msgstr "Date de génération"
3323+
3324+#. module: account_banking_sepa_credit_transfer
3325+#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard
3326+msgid "Export SEPA Credit Transfer XML file"
3327+msgstr "Exporte the fichier de virement SEPA XML"
3328+
3329+#. module: account_banking_sepa_credit_transfer
3330+#: view:banking.export.sepa:0
3331+msgid "SEPA Credit Transfer"
3332+msgstr "Virement SEPA"
3333+
3334+#. module: account_banking_sepa_credit_transfer
3335+#: selection:banking.export.sepa.wizard,state:0
3336+msgid "Finish"
3337+msgstr "Finir"
3338+
3339+#. module: account_banking_sepa_credit_transfer
3340+#: selection:banking.export.sepa,state:0
3341+msgid "Reconciled"
3342+msgstr "Réconcilié"
3343+
3344+#. module: account_banking_sepa_credit_transfer
3345+#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.act_banking_export_sepa_payment_order
3346+msgid "Generated SEPA files"
3347+msgstr "Fichiers SEPA générés"
3348+
3349+#. module: account_banking_sepa_credit_transfer
3350+#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.action_account_banking_sepa
3351+#: model:ir.ui.menu,name:account_banking_sepa_credit_transfer.menu_account_banking_sepa
3352+msgid "Generated SEPA XML files"
3353+msgstr "Fichiers SEPA XML générés"
3354+
3355+#. module: account_banking_sepa_credit_transfer
3356+#: selection:banking.export.sepa,state:0
3357+msgid "Sent"
3358+msgstr "Envoyé"
3359+
3360+#. module: account_banking_sepa_credit_transfer
3361+#: view:banking.export.sepa.wizard:0
3362+msgid "Validate"
3363+msgstr "Valider"
3364+
3365+#. module: account_banking_sepa_credit_transfer
3366+#: view:banking.export.sepa.wizard:0
3367+msgid "Generate"
3368+msgstr "Générer"
3369+
3370+#. module: account_banking_sepa_credit_transfer
3371+#: field:banking.export.sepa,msg_identification:0
3372+#: field:banking.export.sepa.wizard,msg_identification:0
3373+msgid "Message identification"
3374+msgstr "Libellé d'identification"
3375+
3376+#. module: account_banking_sepa_credit_transfer
3377+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
3378+#, python-format
3379+msgid "The generated XML file is not valid against the official XML Schema Definition. The generated XML file and the full error have been written in the server logs. Here is the error, which may give you an idea on the cause of the problem : %s"
3380+msgstr "Le fichier XML généré n'est pas valide par rapport à la Définition du Schéma XML officiel. Le fichier XML généré et le message d'erreur complet ont été écrits dans les logs du serveur. Voici l'erreur, qui vous donnera peut-être une idée sur la cause du problème : %s"
3381+
3382+#. module: account_banking_sepa_credit_transfer
3383+#: field:banking.export.sepa,total_amount:0
3384+#: field:banking.export.sepa.wizard,total_amount:0
3385+msgid "Total amount"
3386+msgstr "Montant total"
3387+
3388+#. module: account_banking_sepa_credit_transfer
3389+#: help:banking.export.sepa,charge_bearer:0
3390+#: help:banking.export.sepa.wizard,charge_bearer:0
3391+msgid "Shared : transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor (most transfers use this). Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor. Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme."
3392+msgstr "Partagés : les frais bancaires côté émetteur sont à la charge de l'émetteur et les frais bancaires côté destinataire sont à la charge du destinataire (la plupart des virements utilisent cette répartition). Supportés par le destinataire : tous les frais bancaires sont à la charge du destinataire. Supportés par l'émetteur : tous les frais bancaires sont à la charge de l'émetteur. Suivant le niveau de service : la répartition des frais bancaires suit les règles pré-établies dans le contrat avec la banque."
3393+
3394+#. module: account_banking_sepa_credit_transfer
3395+#: selection:banking.export.sepa,charge_bearer:0
3396+#: selection:banking.export.sepa.wizard,charge_bearer:0
3397+msgid "Borne by creditor"
3398+msgstr "Supportés par le destinataire"
3399+
3400+#. module: account_banking_sepa_credit_transfer
3401+#: view:banking.export.sepa:0
3402+#: field:banking.export.sepa,payment_order_ids:0
3403+#: field:banking.export.sepa.wizard,payment_order_ids:0
3404+msgid "Payment orders"
3405+msgstr "Ordres de paiement"
3406+
3407+#. module: account_banking_sepa_credit_transfer
3408+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
3409+#, python-format
3410+msgid "This IBAN is not valid : %s"
3411+msgstr "Cet IBAN n'est pas valide : %s"
3412+
3413+#. module: account_banking_sepa_credit_transfer
3414+#: view:banking.export.sepa.wizard:0
3415+msgid "SEPA XML file generation"
3416+msgstr "Génération du fichier SEPA XML"
3417+
3418+#. module: account_banking_sepa_credit_transfer
3419+#: view:banking.export.sepa.wizard:0
3420+msgid "Reference for further communication"
3421+msgstr "Référence pour communication ultérieure"
3422+
3423+#. module: account_banking_sepa_credit_transfer
3424+#: view:banking.export.sepa.wizard:0
3425+msgid "Processing details"
3426+msgstr "Paramètres"
3427+
3428+#. module: account_banking_sepa_credit_transfer
3429+#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa
3430+msgid "SEPA export"
3431+msgstr "Export SEPA"
3432+
3433+#. module: account_banking_sepa_credit_transfer
3434+#: selection:banking.export.sepa,charge_bearer:0
3435+#: selection:banking.export.sepa.wizard,charge_bearer:0
3436+msgid "Borne by debtor"
3437+msgstr "Supportés par l'émetteur"
3438+
3439+#. module: account_banking_sepa_credit_transfer
3440+#: field:banking.export.sepa,nb_transactions:0
3441+#: field:banking.export.sepa.wizard,nb_transactions:0
3442+msgid "Number of transactions"
3443+msgstr "Nombre de transactions"
3444+
3445+#. module: account_banking_sepa_credit_transfer
3446+#: selection:banking.export.sepa,charge_bearer:0
3447+#: selection:banking.export.sepa.wizard,charge_bearer:0
3448+msgid "Following service level"
3449+msgstr "Suivant le niveau de service"
3450+
3451+#. module: account_banking_sepa_credit_transfer
3452+#: field:banking.export.sepa,charge_bearer:0
3453+#: field:banking.export.sepa.wizard,charge_bearer:0
3454+msgid "Charge bearer"
3455+msgstr "Répartition des frais"
3456+
3457+#. module: account_banking_sepa_credit_transfer
3458+#: help:banking.export.sepa,batch_booking:0
3459+#: help:banking.export.sepa.wizard,batch_booking:0
3460+msgid "If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file."
3461+msgstr "Si coché, le relevé de compte ne comportera qu'une ligne de débit pour tous les virements du fichier SEPA XML ; si non coché, le relevé de compte comportera une ligne de débit pour chaque virement du fichier SEPA XML."
3462+
3463+#. module: account_banking_sepa_credit_transfer
3464+#: help:banking.export.sepa.wizard,prefered_exec_date:0
3465+msgid "This is the date on which the file should be processed by the bank. Please keep in mind that banks only execute on working days and typically use a delay of two days between execution date and effective transfer date."
3466+msgstr "C'est la date à laquelle le fichier doit être traité par la banque. Gardez en tête que les banques réalisent des traitements seulement les jours ouvrés et ont habituellement un délai de 2 jours entre la date de traitement et la date du transfert effectif."
3467+
3468+#. module: account_banking_sepa_credit_transfer
3469+#: field:banking.export.sepa.wizard,file:0
3470+msgid "File"
3471+msgstr "Fichier"
3472+
3473+#. module: account_banking_sepa_credit_transfer
3474+#: view:banking.export.sepa.wizard:0
3475+msgid "Cancel"
3476+msgstr "Annuler"
3477+
3478+#. module: account_banking_sepa_credit_transfer
3479+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
3480+#, python-format
3481+msgid "Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03' and 'pain.001.001.04'."
3482+msgstr "Le code '%s' pour le Type de Paiment n'est pas supporté. Les seuls codes de Types de Paiement supportés pour les virements SEPA sont 'pain.001.001.02', 'pain.001.001.03' et 'pain.001.001.04'."
3483+
3484+#. module: account_banking_sepa_credit_transfer
3485+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
3486+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
3487+#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
3488+#, python-format
3489+msgid "Error :"
3490+msgstr "Erreur :"
3491+
3492+#. module: account_banking_sepa_credit_transfer
3493+#: field:banking.export.sepa,batch_booking:0
3494+#: field:banking.export.sepa.wizard,batch_booking:0
3495+msgid "Batch booking"
3496+msgstr "Débit groupé"
3497+
3498
3499=== added directory 'account_banking_sepa_credit_transfer/security'
3500=== added file 'account_banking_sepa_credit_transfer/security/ir.model.access.csv'
3501--- account_banking_sepa_credit_transfer/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
3502+++ account_banking_sepa_credit_transfer/security/ir.model.access.csv 2013-07-15 14:34:08 +0000
3503@@ -0,0 +1,2 @@
3504+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
3505+"access_banking_export_sepa","Full access on banking.export.sepa","model_banking_export_sepa","account_payment.group_account_payment",1,1,1,1
3506
3507=== added directory 'account_banking_sepa_credit_transfer/wizard'
3508=== added file 'account_banking_sepa_credit_transfer/wizard/__init__.py'
3509--- account_banking_sepa_credit_transfer/wizard/__init__.py 1970-01-01 00:00:00 +0000
3510+++ account_banking_sepa_credit_transfer/wizard/__init__.py 2013-07-15 14:34:08 +0000
3511@@ -0,0 +1,23 @@
3512+# -*- encoding: utf-8 -*-
3513+##############################################################################
3514+#
3515+# SEPA Credit Transfer module for OpenERP
3516+# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
3517+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
3518+#
3519+# This program is free software: you can redistribute it and/or modify
3520+# it under the terms of the GNU Affero General Public License as
3521+# published by the Free Software Foundation, either version 3 of the
3522+# License, or (at your option) any later version.
3523+#
3524+# This program is distributed in the hope that it will be useful,
3525+# but WITHOUT ANY WARRANTY; without even the implied warranty of
3526+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3527+# GNU Affero General Public License for more details.
3528+#
3529+# You should have received a copy of the GNU Affero General Public License
3530+# along with this program. If not, see <http://www.gnu.org/licenses/>.
3531+#
3532+##############################################################################
3533+
3534+import export_sepa
3535
3536=== added file 'account_banking_sepa_credit_transfer/wizard/export_sepa.py'
3537--- account_banking_sepa_credit_transfer/wizard/export_sepa.py 1970-01-01 00:00:00 +0000
3538+++ account_banking_sepa_credit_transfer/wizard/export_sepa.py 2013-07-15 14:34:08 +0000
3539@@ -0,0 +1,336 @@
3540+# -*- encoding: utf-8 -*-
3541+##############################################################################
3542+#
3543+# SEPA Credit Transfer module for OpenERP
3544+# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
3545+# @author: Alexis de Lattre <alexis.delattre@akretion.com>
3546+#
3547+# This program is free software: you can redistribute it and/or modify
3548+# it under the terms of the GNU Affero General Public License as
3549+# published by the Free Software Foundation, either version 3 of the
3550+# License, or (at your option) any later version.
3551+#
3552+# This program is distributed in the hope that it will be useful,
3553+# but WITHOUT ANY WARRANTY; without even the implied warranty of
3554+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3555+# GNU Affero General Public License for more details.
3556+#
3557+# You should have received a copy of the GNU Affero General Public License
3558+# along with this program. If not, see <http://www.gnu.org/licenses/>.
3559+#
3560+##############################################################################
3561+
3562+
3563+from openerp.osv import orm, fields
3564+import base64
3565+from datetime import datetime, timedelta
3566+from openerp.tools.translate import _
3567+from openerp import tools, netsvc
3568+from lxml import etree
3569+import logging
3570+
3571+_logger = logging.getLogger(__name__)
3572+
3573+
3574+class banking_export_sepa_wizard(orm.TransientModel):
3575+ _name = 'banking.export.sepa.wizard'
3576+ _description = 'Export SEPA Credit Transfer XML file'
3577+ _columns = {
3578+ 'state': fields.selection([('create', 'Create'), ('finish', 'Finish')],
3579+ 'State', readonly=True),
3580+ 'msg_identification': fields.char('Message identification', size=35,
3581+ # Can't set required=True on the field because it blocks
3582+ # the launch of the wizard -> I set it as required in the view
3583+ help='This is the message identification of the entire SEPA XML file. 35 characters max.'),
3584+ 'batch_booking': fields.boolean('Batch booking',
3585+ help="If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file."),
3586+ 'prefered_exec_date': fields.date('Prefered execution date',
3587+ help='This is the date on which the file should be processed by the bank. Please keep in mind that banks only execute on working days and typically use a delay of two days between execution date and effective transfer date.'),
3588+ 'charge_bearer': fields.selection([
3589+ ('SHAR', 'Shared'),
3590+ ('CRED', 'Borne by creditor'),
3591+ ('DEBT', 'Borne by debtor'),
3592+ ('SLEV', 'Following service level'),
3593+ ], 'Charge bearer', required=True,
3594+ help='Shared : transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor (most transfers use this). Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor. Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme.'),
3595+ 'nb_transactions': fields.related('file_id', 'nb_transactions',
3596+ type='integer', string='Number of transactions', readonly=True),
3597+ 'total_amount': fields.related('file_id', 'total_amount', type='float',
3598+ string='Total amount', readonly=True),
3599+ 'file_id': fields.many2one('banking.export.sepa', 'SEPA XML file', readonly=True),
3600+ 'file': fields.related('file_id', 'file', string="File", type='binary',
3601+ readonly=True),
3602+ 'filename': fields.related('file_id', 'filename', string="Filename",
3603+ type='char', size=256, readonly=True),
3604+ 'payment_order_ids': fields.many2many('payment.order',
3605+ 'wiz_sepa_payorders_rel', 'wizard_id', 'payment_order_id',
3606+ 'Payment orders', readonly=True),
3607+ }
3608+
3609+ _defaults = {
3610+ 'charge_bearer': 'SLEV',
3611+ 'state': 'create',
3612+ }
3613+
3614+
3615+ def _limit_size(self, cr, uid, field, max_size, context=None):
3616+ '''Limit size of strings to respect the PAIN standard'''
3617+ max_size = int(max_size)
3618+ return field[0:max_size]
3619+
3620+
3621+ def _validate_iban(self, cr, uid, iban, context=None):
3622+ '''if IBAN is valid, returns IBAN
3623+ if IBAN is NOT valid, raises an error message'''
3624+ partner_bank_obj = self.pool.get('res.partner.bank')
3625+ if partner_bank_obj.is_iban_valid(cr, uid, iban, context=context):
3626+ return iban.replace(' ', '')
3627+ else:
3628+ raise orm.except_orm(_('Error :'), _("This IBAN is not valid : %s") % iban)
3629+
3630+ def create(self, cr, uid, vals, context=None):
3631+ payment_order_ids = context.get('active_ids', [])
3632+ vals.update({
3633+ 'payment_order_ids': [[6, 0, payment_order_ids]],
3634+ })
3635+ return super(banking_export_sepa_wizard, self).create(cr, uid,
3636+ vals, context=context)
3637+
3638+
3639+ def create_sepa(self, cr, uid, ids, context=None):
3640+ '''
3641+ Creates the SEPA Credit Transfer file. That's the important code !
3642+ '''
3643+ payment_order_obj = self.pool.get('payment.order')
3644+
3645+ sepa_export = self.browse(cr, uid, ids[0], context=context)
3646+
3647+ my_company_name = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.name
3648+ my_company_iban = self._validate_iban(cr, uid, sepa_export.payment_order_ids[0].mode.bank_id.iban, context=context)
3649+ my_company_bic = sepa_export.payment_order_ids[0].mode.bank_id.bank.bic
3650+ #my_company_country_code = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].country_id.code
3651+ #my_company_city = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].city
3652+ #my_company_street1 = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].street
3653+ pain_flavor = sepa_export.payment_order_ids[0].mode.type.code
3654+ if pain_flavor == 'pain.001.001.02':
3655+ bic_xml_tag = 'BIC'
3656+ name_maxsize = 70
3657+ root_xml_tag = 'pain.001.001.02'
3658+ elif pain_flavor == 'pain.001.001.03':
3659+ bic_xml_tag = 'BIC'
3660+ # size 70 -> 140 for <Nm> with pain.001.001.03
3661+ # BUT the European Payment Council, in the document
3662+ # "SEPA Credit Transfer Scheme Customer-to-bank Implementation guidelines" v6.0
3663+ # available on http://www.europeanpaymentscouncil.eu/knowledge_bank.cfm
3664+ # says that 'Nm' should be limited to 70
3665+ # so we follow the "European Payment Council" and we put 70 and not 140
3666+ name_maxsize = 70
3667+ root_xml_tag = 'CstmrCdtTrfInitn'
3668+ elif pain_flavor == 'pain.001.001.04':
3669+ bic_xml_tag = 'BICFI'
3670+ name_maxsize = 140
3671+ root_xml_tag = 'CstmrCdtTrfInitn'
3672+ else:
3673+ raise orm.except_orm(_('Error :'), _("Payment Type Code '%s' is not supported. The only Payment Type Codes supported for SEPA Credit Transfers are 'pain.001.001.02', 'pain.001.001.03' and 'pain.001.001.04'.") % pain_flavor)
3674+ if sepa_export.batch_booking:
3675+ my_batch_booking = 'true'
3676+ else:
3677+ my_batch_booking = 'false'
3678+ my_msg_identification = sepa_export.msg_identification
3679+ if sepa_export.prefered_exec_date:
3680+ my_requested_exec_date = sepa_export.prefered_exec_date
3681+ else:
3682+ my_requested_exec_date = datetime.strftime(datetime.today() + timedelta(days=1), '%Y-%m-%d')
3683+
3684+ pain_ns = {
3685+ 'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
3686+ None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
3687+ }
3688+
3689+ root = etree.Element('Document', nsmap=pain_ns)
3690+ pain_root = etree.SubElement(root, root_xml_tag)
3691+ # A. Group header
3692+ group_header = etree.SubElement(pain_root, 'GrpHdr')
3693+ message_identification = etree.SubElement(group_header, 'MsgId')
3694+ message_identification.text = self._limit_size(cr, uid, my_msg_identification, 35, context=context)
3695+ creation_date_time = etree.SubElement(group_header, 'CreDtTm')
3696+ creation_date_time.text = datetime.strftime(datetime.today(), '%Y-%m-%dT%H:%M:%S')
3697+ if pain_flavor == 'pain.001.001.02':
3698+ # batch_booking is in "Group header" with pain.001.001.02
3699+ # and in "Payment info" in pain.001.001.03/04
3700+ batch_booking = etree.SubElement(group_header, 'BtchBookg')
3701+ batch_booking.text = my_batch_booking
3702+ nb_of_transactions_grphdr = etree.SubElement(group_header, 'NbOfTxs')
3703+ control_sum_grphdr = etree.SubElement(group_header, 'CtrlSum')
3704+ # Grpg removed in pain.001.001.03
3705+ if pain_flavor == 'pain.001.001.02':
3706+ grouping = etree.SubElement(group_header, 'Grpg')
3707+ grouping.text = 'GRPD'
3708+ initiating_party = etree.SubElement(group_header, 'InitgPty')
3709+ initiating_party_name = etree.SubElement(initiating_party, 'Nm')
3710+ initiating_party_name.text = self._limit_size(cr, uid, my_company_name, name_maxsize, context=context)
3711+ # B. Payment info
3712+ payment_info = etree.SubElement(pain_root, 'PmtInf')
3713+ payment_info_identification = etree.SubElement(payment_info, 'PmtInfId')
3714+ payment_info_identification.text = self._limit_size(cr, uid, my_msg_identification, 35, context=context)
3715+ payment_method = etree.SubElement(payment_info, 'PmtMtd')
3716+ payment_method.text = 'TRF'
3717+ if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
3718+ # batch_booking is in "Group header" with pain.001.001.02
3719+ # and in "Payment info" in pain.001.001.03/04
3720+ batch_booking = etree.SubElement(payment_info, 'BtchBookg')
3721+ batch_booking.text = my_batch_booking
3722+ # It may seem surprising, but the
3723+ # "SEPA Credit Transfer Scheme Customer-to-bank Implementation guidelines"
3724+ # v6.0 says that control sum and nb_of_transactions should be present
3725+ # at both "group header" level and "payment info" level
3726+ # This seems to be confirmed by the tests carried out at
3727+ # BNP Paribas in PAIN v001.001.03
3728+ if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
3729+ nb_of_transactions_pmtinf = etree.SubElement(payment_info, 'NbOfTxs')
3730+ control_sum_pmtinf = etree.SubElement(payment_info, 'CtrlSum')
3731+ payment_type_info = etree.SubElement(payment_info, 'PmtTpInf')
3732+ service_level = etree.SubElement(payment_type_info, 'SvcLvl')
3733+ service_level_code = etree.SubElement(service_level, 'Cd')
3734+ service_level_code.text = 'SEPA'
3735+ requested_exec_date = etree.SubElement(payment_info, 'ReqdExctnDt')
3736+ requested_exec_date.text = my_requested_exec_date
3737+ debtor = etree.SubElement(payment_info, 'Dbtr')
3738+ debtor_name = etree.SubElement(debtor, 'Nm')
3739+ debtor_name.text = self._limit_size(cr, uid, my_company_name, name_maxsize, context=context)
3740+# debtor_address = etree.SubElement(debtor, 'PstlAdr')
3741+# debtor_street = etree.SubElement(debtor_address, 'AdrLine')
3742+# debtor_street.text = my_company_street1
3743+# debtor_city = etree.SubElement(debtor_address, 'AdrLine')
3744+# debtor_city.text = my_company_city
3745+# debtor_country = etree.SubElement(debtor_address, 'Ctry')
3746+# debtor_country.text = my_company_country_code
3747+ debtor_account = etree.SubElement(payment_info, 'DbtrAcct')
3748+ debtor_account_id = etree.SubElement(debtor_account, 'Id')
3749+ debtor_account_iban = etree.SubElement(debtor_account_id, 'IBAN')
3750+ debtor_account_iban.text = my_company_iban
3751+ debtor_agent = etree.SubElement(payment_info, 'DbtrAgt')
3752+ debtor_agent_institution = etree.SubElement(debtor_agent, 'FinInstnId')
3753+ debtor_agent_bic = etree.SubElement(debtor_agent_institution, bic_xml_tag)
3754+ debtor_agent_bic.text = my_company_bic
3755+ charge_bearer = etree.SubElement(payment_info, 'ChrgBr')
3756+ charge_bearer.text = sepa_export.charge_bearer
3757+
3758+ transactions_count = 0
3759+ total_amount = 0.0
3760+ amount_control_sum = 0.0
3761+ # Iterate on payment orders
3762+ for payment_order in sepa_export.payment_order_ids:
3763+ total_amount = total_amount + payment_order.total
3764+ # Iterate each payment lines
3765+ for line in payment_order.line_ids:
3766+ transactions_count += 1
3767+ # C. Credit Transfer Transaction Info
3768+ credit_transfer_transaction_info = etree.SubElement(payment_info, 'CdtTrfTxInf')
3769+ payment_identification = etree.SubElement(credit_transfer_transaction_info, 'PmtId')
3770+ instruction_identification = etree.SubElement(payment_identification, 'InstrId')
3771+ instruction_identification.text = self._limit_size(cr, uid, line.communication, 35, context=context) #otherwise, we can reach the invoice fields via ml_inv_ref
3772+ end2end_identification = etree.SubElement(payment_identification, 'EndToEndId')
3773+ end2end_identification.text = self._limit_size(cr, uid, line.communication, 35, context=context)
3774+ amount = etree.SubElement(credit_transfer_transaction_info, 'Amt')
3775+ instructed_amount = etree.SubElement(amount, 'InstdAmt', Ccy=line.currency.name)
3776+ instructed_amount.text = '%.2f' % line.amount_currency
3777+ amount_control_sum += line.amount_currency
3778+ creditor_agent = etree.SubElement(credit_transfer_transaction_info, 'CdtrAgt')
3779+ creditor_agent_institution = etree.SubElement(creditor_agent, 'FinInstnId')
3780+ creditor_agent_bic = etree.SubElement(creditor_agent_institution, bic_xml_tag)
3781+ creditor_agent_bic.text = line.bank_id.bank.bic
3782+ creditor = etree.SubElement(credit_transfer_transaction_info, 'Cdtr')
3783+ creditor_name = etree.SubElement(creditor, 'Nm')
3784+ creditor_name.text = self._limit_size(cr, uid, line.partner_id.name, name_maxsize, context=context)
3785+# I don't think they want it
3786+# If they want it, we need to implement full spec p26 appendix
3787+# creditor_address = etree.SubElement(creditor, 'PstlAdr')
3788+# creditor_street = etree.SubElement(creditor_address, 'AdrLine')
3789+# creditor_street.text = line.partner_id.address[0].street
3790+# creditor_city = etree.SubElement(creditor_address, 'AdrLine')
3791+# creditor_city.text = line.partner_id.address[0].city
3792+# creditor_country = etree.SubElement(creditor_address, 'Ctry')
3793+# creditor_country.text = line.partner_id.address[0].country_id.code
3794+ creditor_account = etree.SubElement(credit_transfer_transaction_info, 'CdtrAcct')
3795+ creditor_account_id = etree.SubElement(creditor_account, 'Id')
3796+ creditor_account_iban = etree.SubElement(creditor_account_id, 'IBAN')
3797+ creditor_account_iban.text = self._validate_iban(cr, uid, line.bank_id.iban, context=context)
3798+ remittance_info = etree.SubElement(credit_transfer_transaction_info, 'RmtInf')
3799+ # switch to Structured (Strdr) ? If we do it, beware that the format is not the same between pain 02 and pain 03
3800+ remittance_info_unstructured = etree.SubElement(remittance_info, 'Ustrd')
3801+ remittance_info_unstructured.text = self._limit_size(cr, uid, line.communication, 140, context=context)
3802+
3803+ if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
3804+ nb_of_transactions_grphdr.text = nb_of_transactions_pmtinf.text = str(transactions_count)
3805+ control_sum_grphdr.text = control_sum_pmtinf.text = '%.2f' % amount_control_sum
3806+ else:
3807+ nb_of_transactions_grphdr.text = str(transactions_count)
3808+ control_sum_grphdr.text = '%.2f' % amount_control_sum
3809+
3810+
3811+ xml_string = etree.tostring(root, pretty_print=True, encoding='UTF-8', xml_declaration=True)
3812+ _logger.debug("Generated SEPA XML file below")
3813+ _logger.debug(xml_string)
3814+ official_pain_schema = etree.XMLSchema(etree.parse(tools.file_open('account_banking_sepa_credit_transfer/data/%s.xsd' % pain_flavor)))
3815+
3816+ try:
3817+ official_pain_schema.validate(root)
3818+ except Exception, e:
3819+ _logger.warning("The XML file is invalid against the XML Schema Definition")
3820+ _logger.warning(xml_string)
3821+ _logger.warning(e)
3822+ raise orm.except_orm(_('Error :'), _('The generated XML file is not valid against the official XML Schema Definition. The generated XML file and the full error have been written in the server logs. Here is the error, which may give you an idea on the cause of the problem : %s') % str(e))
3823+
3824+ # CREATE the banking.export.sepa record
3825+ file_id = self.pool.get('banking.export.sepa').create(cr, uid,
3826+ {
3827+ 'msg_identification': my_msg_identification,
3828+ 'batch_booking': sepa_export.batch_booking,
3829+ 'charge_bearer': sepa_export.charge_bearer,
3830+ 'prefered_exec_date': sepa_export.prefered_exec_date,
3831+ 'total_amount': total_amount,
3832+ 'nb_transactions': transactions_count,
3833+ 'file': base64.encodestring(xml_string),
3834+ 'payment_order_ids': [
3835+ (6, 0, [x.id for x in sepa_export.payment_order_ids])
3836+ ],
3837+ }, context=context)
3838+
3839+ self.write(cr, uid, ids, {
3840+ 'file_id': file_id,
3841+ 'state': 'finish',
3842+ }, context=context)
3843+
3844+ action = {
3845+ 'name': 'SEPA XML',
3846+ 'type': 'ir.actions.act_window',
3847+ 'view_type': 'form',
3848+ 'view_mode': 'form,tree',
3849+ 'res_model': self._name,
3850+ 'res_id': ids[0],
3851+ 'target': 'new',
3852+ }
3853+ return action
3854+
3855+
3856+ def cancel_sepa(self, cr, uid, ids, context=None):
3857+ '''
3858+ Cancel the SEPA PAIN: just drop the file
3859+ '''
3860+ sepa_export = self.browse(cr, uid, ids[0], context=context)
3861+ self.pool.get('banking.export.sepa').unlink(cr, uid, sepa_export.file_id.id, context=context)
3862+ return {'type': 'ir.actions.act_window_close'}
3863+
3864+
3865+ def save_sepa(self, cr, uid, ids, context=None):
3866+ '''
3867+ Save the SEPA PAIN: mark all payments in the file as 'sent'.
3868+ '''
3869+ sepa_export = self.browse(cr, uid, ids[0], context=context)
3870+ sepa_file = self.pool.get('banking.export.sepa').write(cr, uid,
3871+ sepa_export.file_id.id, {'state': 'sent'}, context=context)
3872+ wf_service = netsvc.LocalService('workflow')
3873+ for order in sepa_export.payment_order_ids:
3874+ wf_service.trg_validate(uid, 'payment.order', order.id, 'sent', cr)
3875+ return {'type': 'ir.actions.act_window_close'}
3876
3877=== added file 'account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml'
3878--- account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml 1970-01-01 00:00:00 +0000
3879+++ account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml 2013-07-15 14:34:08 +0000
3880@@ -0,0 +1,47 @@
3881+<?xml version="1.0" encoding="utf-8"?>
3882+<!--
3883+ Copyright (C) 2010-2012 Akretion (http://www.akretion.com)
3884+ @author: Alexis de Lattre <alexis.delattre@akretion.com>
3885+ The licence is in the file __openerp__.py
3886+-->
3887+<openerp>
3888+<data>
3889+
3890+<record id="banking_export_sepa_wizard_view" model="ir.ui.view">
3891+ <field name="name">banking.export.sepa.wizard.view</field>
3892+ <field name="model">banking.export.sepa.wizard</field>
3893+ <field name="arch" type="xml">
3894+ <form string="SEPA XML file generation">
3895+ <field name="state" invisible="True"/>
3896+ <group states="create">
3897+ <separator colspan="4" string="Processing details" />
3898+ <field name="batch_booking" />
3899+ <field name="prefered_exec_date" />
3900+ <field name="charge_bearer" />
3901+ <separator colspan="4" string="Reference for further communication" />
3902+ <field name="msg_identification" required="True" />
3903+ <newline />
3904+ <button icon="gtk-close" special="cancel" string="Cancel" colspan="2"/>
3905+ <button icon="gtk-ok" string="Generate" name="create_sepa" type="object" colspan="2"/>
3906+ </group>
3907+ <group states="finish">
3908+ <field name="total_amount" />
3909+ <!-- Don't display this field, to avoid this bug :
3910+ https://bugs.launchpad.net/openobject-client-web/+bug/718989
3911+ Bug desc : in the Gtk client, you have to clic twice on the
3912+ "Create" button.
3913+ <field name="nb_transactions" /> -->
3914+ <newline />
3915+ <field name="file_id" />
3916+ <field name="file" filename="filename" />
3917+ <field name="filename" invisible="True"/>
3918+ <newline />
3919+ <button icon="gtk-cancel" string="Cancel" name="cancel_sepa" type="object" colspan="2"/>
3920+ <button icon="gtk-ok" string="Validate" name="save_sepa" type="object" colspan="2"/>
3921+ </group>
3922+ </form>
3923+ </field>
3924+</record>
3925+
3926+</data>
3927+</openerp>

Subscribers

People subscribed via source and target branches

to status/vote changes: