Merge lp:~akretion-team/banking-addons/trunk-banking-addons-sepa into lp:banking-addons/6.1

Proposed by Alexis de Lattre
Status: Merged
Merged at revision: 176
Proposed branch: lp:~akretion-team/banking-addons/trunk-banking-addons-sepa
Merge into: lp:banking-addons/6.1
Diff against target: 3937 lines (+3862/-0)
14 files modified
account_banking_sepa_credit_transfer/__init__.py (+25/-0)
account_banking_sepa_credit_transfer/__openerp__.py (+50/-0)
account_banking_sepa_credit_transfer/account_banking_sepa.py (+80/-0)
account_banking_sepa_credit_transfer/account_banking_sepa_view.xml (+85/-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 (+33/-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 (+341/-0)
account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml (+48/-0)
To merge this branch: bzr merge lp:~akretion-team/banking-addons/trunk-banking-addons-sepa
Reviewer Review Type Date Requested Status
Stéphane Bidoul (Acsone) (community) test Approve
Stefan Rijnhart (Opener) Approve
Review via email: mp+167514@code.launchpad.net

Description of the change

Ready for merge !

Supports PAIN 001.001.02 + PAIN 001.001.03 + PAIN 001.001.04 ! Conforms to the implementation guidelines of the European Payments Council.

Tested with BNP-Paribas and Banque Populaire Atlantique in PAIN 001.001.02.
Tested with CIC in PAIN 001.001.03.
It seems that most banks don't support PAIN 001.001.04 yet.

To post a comment you must log in.
Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote :

Hi Alexis,

your proposal has been eagerly awaited! Thank you for your work. We are currently testing this version, and it looks pretty good so far.

We have not got the validation back from the bank, but you may be aware that the specs leave room enough for their own dialect of the standard. I am afraid we will hit the requirement to allow for such dialects sooner or later. Have you considered a more flexible approach so that some dialect module can define their own processing for specific nodes only?

Code looks pretty good on the whole. One question:

At line 3101 there starts a pretty weird translation string, containing the good part of a python code file. The translation string that triggered that is commented out, so that may be the problem. The fact that the iban check is disabled looks dubious in itself. Is that something that can be resolved?

review: Needs Information
Revision history for this message
Stéphane Bidoul (Acsone) (sbi) wrote :

Hello Alexis,

I just made a quick test on 6.1. Working nice and looking good; I'll test with the bank ASAP.

It conflicts on the 7.0 branch. Is it supposed to work on 7.0 too? Sorry if this is a dump question, I'm new to banking addons and don't know the state of affairs here.

-sbi

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

Valid question, Stéphane!

the module can be easily merged with 7.0 too upon approval by means of cherrypicking. Banking addons 7.0 are ready and under review. If you want to try now, you could give this completely unstable and unsupported 'preview' branch a try: https://code.launchpad.net/~therp-nl/banking-addons/ba7.0-future.

Simply copy over the module from a 6.1 branch and change its dependency in __openerp__.py from 'account_banking' to 'account_banking_payment'.

Revision history for this message
Alexis de Lattre (alexis-via) wrote :

Dear Stéfan,

> but you may be aware that the specs leave room enough for their own dialect of the standard

In fact, from my experience, if all banks respect the guidelines of the European Payments Council (http://www.europeanpaymentscouncil.eu/), we shouldn't have several dialects to implement, because these guidelines are pretty accurate. We'll see if we are confronted to such problems ; in this case, we will modularise the code in order to be able to inherit the generation of the XML file.

I'll try to find some time in the coming days to clean-up the function _validate_iban which should avoid the big block of code in the POT file. By the way, do you think that it's necessary the validate the IBAN in the generation of the XML file ? The IBAN is already validated when we enter it in OpenERP, so it may not be necessary to validate a second time ? Or should be consider it better to validate it a second time ? If don't remember what y commented out this code. I must say that I spend most of my time reading specs, checking the XML and doing tests with the bank... and probably not enough time on the code itself.

152. By Alexis de Lattre

Activate validation of IBAN numbers (it's a double-validation, because the IBAN is already validated when it is written in OpenERP).
Remove code in i18n files.

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

Hi Alexis,
> In fact, from my experience, if all banks respect the guidelines of the European Payments Council (http://www.europeanpaymentscouncil.eu/), we shouldn't have several dialects to implement, because these guidelines are pretty accurate. We'll see if we are confronted to such problems ; in this case, we will modularise the code in order to be able to inherit the generation of the XML file.

Well, all Dutch banks have published addendums with requirements that
say 'Leave this element out' or 'Always fill this element with
NOTIMPLEMENTED'... But I have not yet gotten the feedback from the
bank's validation service so I will keep you updated on this.

>
> I'll try to find some time in the coming days to clean-up the function _validate_iban which should avoid the big block of code in the POT file. By the way, do you think that it's necessary the validate the IBAN in the generation of the XML file ? The IBAN is already validated when we enter it in OpenERP, so it may not be necessary to validate a second time ?

I think you are correct. In fact, what is missing is a generic function
in the payment order to check whether there is a bank account of the
allowed type for every payment order line. I will add one soon. So you
could perhaps remove the validation method entirely.

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

Output has been validated by Dutch bank ABN-AMRO, in spite of its additional dialectal guidelines!

Revision history for this message
Alexis de Lattre (alexis-via) wrote :

@Stefan

Great news ! Which version of PAIN did you use for the validation with ABN-AMRO ? 001.001.03 ?

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

Yes, Dutch banks support 001.001.03 only for now.

Revision history for this message
Stéphane Bidoul (Acsone) (sbi) wrote :

Hi,

I just validated PAIN.001.001.03 with ING's validation service.

I've noticed a couple of minor usability issues:
- the role of the Validate button in the last step of the "Make payment" wizard is unclear (it closes the window before you have a chance to save the xml file)
- if by mistake you select payments without a bank account (stupid, but allowed by the payment order wizard), you get a stack trace
- I quickly adapted the code to avoid the stack trace when the bank account is missing, which oviously lead to a non compliant xml file, but the XSD validation step did not raise the error; I've not had time to dig deeper yet.

Great job, Alexis!

-sbi

Revision history for this message
Stéphane Bidoul (Acsone) (sbi) wrote :

> Valid question, Stéphane!
>
> the module can be easily merged with 7.0 too upon approval by means of
> cherrypicking. Banking addons 7.0 are ready and under review. If you want to
> try now, you could give this completely unstable and unsupported 'preview'
> branch a try: https://code.launchpad.net/~therp-nl/banking-
> addons/ba7.0-future.
>
> Simply copy over the module from a 6.1 branch and change its dependency in
> __openerp__.py from 'account_banking' to 'account_banking_payment'.

Hello Stefan,

I just made a quick test with your branch ba7.0-future, and it works indeed.

What are the main differences between your ba7.0-future branch and the banking-addons-7.0 series?

-sbi

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

> What are the main differences between your ba7.0-future branch and the banking-addons-7.0 series?

The future branch is our working branch that includes pending merge
requests on the banking-addons-7.0 series. It will soon be deprecated
when we finish the last reviews of the 7.0 code sprint.

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

Sorry for noticing your latest changes only now. Approved and thanks again!

review: Approve
Revision history for this message
Holger Brunn (Therp) (hbrunn) wrote :

I see only one formal approval but a lot of approving comments. Is this ready to merge?

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

Stéphane, can you approve this MP? As I have indicated, the lack of a valid bank account should be solved on a higher level so that only leaves the usability issue of the validation button that closes the screen. The idea should indeed be that the user downloads the file, keeps the wizard screen open while uploading the file to the online banking environment and clicks 'Validate' in the wizard screen when the bank accepts the file. This pushes on the payment order workflow.

We have the same usability issue with the legacy Dutch payment export module. As long as the banking addons do not provide a boiler plate export wizard this does need to be solved in each export module. So maybe Alexis could provide a label text that explains this procedure. I would not personally consider it blocking but again Stéphane let us hear your view.

Revision history for this message
Stéphane Bidoul (Acsone) (sbi) wrote :

Nothing blocking on my side, so I approve.

I understand the philosophy behind the validate button. A help text would clarify for new users.

Regarding the lack of a bank account, it's not blocking either, but I had the impression it revealed an issue with the XSD validation, since I could generate an XML without the bank account which is invalid according to the schema. Let me know if that rings a bell, otherwise I'll dig deeper.

review: Approve (test)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'account_banking_sepa_credit_transfer'
=== added file 'account_banking_sepa_credit_transfer/__init__.py'
--- account_banking_sepa_credit_transfer/__init__.py 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/__init__.py 2013-06-06 08:07:29 +0000
@@ -0,0 +1,25 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# SEPA Credit Transfer module for OpenERP
5# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
6# @author: Alexis de Lattre <alexis.delattre@akretion.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import wizard
24import account_banking_sepa
25
026
=== added file 'account_banking_sepa_credit_transfer/__openerp__.py'
--- account_banking_sepa_credit_transfer/__openerp__.py 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/__openerp__.py 2013-06-06 08:07:29 +0000
@@ -0,0 +1,50 @@
1##############################################################################
2#
3# SEPA Credit Transfer module for OpenERP
4# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
5# @author: Alexis de Lattre <alexis.delattre@akretion.com>
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21{
22 'name': 'Account Banking SEPA Credit Transfer',
23 'version': '0.1',
24 'license': 'AGPL-3',
25 'author': 'Akretion',
26 'website': 'http://www.akretion.com',
27 'category': 'Banking addons',
28 'depends': ['account_banking'],
29 'init_xml': [],
30 'update_xml': [
31 'account_banking_sepa_view.xml',
32 'wizard/export_sepa_view.xml',
33 'data/payment_type_sepa_sct.xml',
34 'security/ir.model.access.csv',
35 ],
36 'demo_xml': [],
37 'description': '''
38Module to export payment orders in SEPA XML file format.
39
40SEPA 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.
41
42The 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.
43
44This module uses the framework provided by the banking addons, cf https://launchpad.net/banking-addons
45
46Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com> for any help or question about this module.
47 ''',
48 'active': False,
49 'installable': True,
50}
051
=== added file 'account_banking_sepa_credit_transfer/account_banking_sepa.py'
--- account_banking_sepa_credit_transfer/account_banking_sepa.py 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/account_banking_sepa.py 2013-06-06 08:07:29 +0000
@@ -0,0 +1,80 @@
1##############################################################################
2#
3# SEPA Credit Transfer module for OpenERP
4# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
5# @author: Alexis de Lattre <alexis.delattre@akretion.com>
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22from osv import osv, fields
23import time
24from tools.translate import _
25import decimal_precision as dp
26
27
28class banking_export_sepa(osv.osv):
29 '''SEPA export'''
30 _name = 'banking.export.sepa'
31 _description = __doc__
32 _rec_name = 'msg_identification'
33
34 def _generate_filename(self, cr, uid, ids, name, arg, context=None):
35 res = {}
36 for sepa_file in self.browse(cr, uid, ids, context=context):
37 res[sepa_file.id] = 'sepa_' + (sepa_file.msg_identification or '') + '.xml'
38 return res
39
40 _columns = {
41 'payment_order_ids': fields.many2many(
42 'payment.order',
43 'account_payment_order_sepa_rel',
44 'banking_export_sepa_id', 'account_order_id',
45 'Payment orders',
46 readonly=True),
47 'prefered_exec_date': fields.date('Prefered execution date', readonly=True),
48 'nb_transactions': fields.integer('Number of transactions', readonly=True),
49 'total_amount': fields.float('Total amount',
50 digits_compute=dp.get_precision('Account'), readonly=True),
51 'msg_identification': fields.char('Message identification', size=35,
52 readonly=True),
53 'batch_booking': fields.boolean('Batch booking', readonly=True,
54 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."),
55 'charge_bearer': fields.selection([
56 ('SHAR', 'Shared'),
57 ('CRED', 'Borne by creditor'),
58 ('DEBT', 'Borne by debtor'),
59 ('SLEV', 'Following service level'),
60 ], 'Charge bearer', readonly=True,
61 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.'),
62 'generation_date': fields.datetime('Generation date',
63 readonly=True),
64 'file': fields.binary('SEPA XML file', readonly=True),
65 'filename': fields.function(_generate_filename, type='char', size=256,
66 method=True, string='Filename', readonly=True),
67 'state': fields.selection([
68 ('draft', 'Draft'),
69 ('sent', 'Sent'),
70 ('done', 'Reconciled'),
71 ], 'State', readonly=True),
72 }
73
74 _defaults = {
75 'generation_date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
76 'state': 'draft',
77 }
78
79banking_export_sepa()
80
081
=== added file 'account_banking_sepa_credit_transfer/account_banking_sepa_view.xml'
--- account_banking_sepa_credit_transfer/account_banking_sepa_view.xml 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/account_banking_sepa_view.xml 2013-06-06 08:07:29 +0000
@@ -0,0 +1,85 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3 Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
4 @author: Alexis de Lattre <alexis.delattre@akretion.com>
5 The licence is in the file __openerp__.py
6-->
7<openerp>
8<data>
9
10<record id="view_banking_export_sepa_form" model="ir.ui.view">
11 <field name="name">account.banking.export.sepa.form</field>
12 <field name="model">banking.export.sepa</field>
13 <field name="type">form</field>
14 <field name="arch" type="xml">
15 <form string="SEPA Credit Transfer">
16 <notebook>
17 <page string="General information">
18 <field name="msg_identification" select="1" />
19 <field name="total_amount" />
20 <field name="nb_transactions" />
21 <field name="prefered_exec_date" />
22 <field name="batch_booking" />
23 <field name="charge_bearer"/>
24 <field name="generation_date" />
25 <newline />
26 <field name="file" filename="filename"/>
27 <field name="filename" invisible="True"/>
28 </page>
29 <page string="Payment orders">
30 <field name="payment_order_ids" colspan="4" nolabel="1">
31 <tree colors="blue:state in ('draft');gray:state in ('cancel','done');black:state in ('open')" string="Payment order">
32 <field name="reference"/>
33 <field name="date_created"/>
34 <field name="date_done"/>
35 <field name="total"/>
36 <field name="state"/>
37 </tree>
38 </field>
39 </page>
40 </notebook>
41 </form>
42 </field>
43</record>
44
45
46<record id="view_banking_export_sepa_tree" model="ir.ui.view">
47 <field name="name">account.banking.export.sepa.tree</field>
48 <field name="model">banking.export.sepa</field>
49 <field name="type">tree</field>
50 <field name="arch" type="xml">
51 <tree string="SEPA Credit Transfer">
52 <field name="msg_identification"/>
53 <field name="prefered_exec_date"/>
54 <field name="generation_date"/>
55 <field name="nb_transactions"/>
56 </tree>
57 </field>
58</record>
59
60
61<record id="action_account_banking_sepa" model="ir.actions.act_window">
62 <field name="name">Generated SEPA XML files</field>
63 <field name="res_model">banking.export.sepa</field>
64 <field name="view_type">form</field>
65 <field name="view_mode">tree,form</field>
66</record>
67
68
69<menuitem id="menu_account_banking_sepa"
70 parent="account_banking.menu_finance_banking_actions"
71 action="action_account_banking_sepa"
72 sequence="15"
73 />
74
75<act_window id="act_banking_export_sepa_payment_order"
76 name="Generated SEPA files"
77 domain="[('payment_order_ids', '=', active_id)]"
78 res_model="banking.export.sepa"
79 src_model="payment.order"
80 view_type="form"
81 view_mode="tree,form"
82/>
83
84</data>
85</openerp>
086
=== added directory 'account_banking_sepa_credit_transfer/data'
=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd'
--- account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/data/pain.001.001.02.xsd 2013-06-06 08:07:29 +0000
@@ -0,0 +1,784 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Sep 08 11:58:39-->
3<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">
4<xs:element name="Document" type="Document"/>
5<xs:complexType name="AccountIdentification3Choice">
6<xs:sequence>
7<xs:choice>
8<xs:element name="IBAN" type="IBANIdentifier"/>
9<xs:element name="BBAN" type="BBANIdentifier"/>
10<xs:element name="UPIC" type="UPICIdentifier"/>
11<xs:element name="PrtryAcct" type="SimpleIdentificationInformation2"/>
12</xs:choice>
13</xs:sequence>
14</xs:complexType>
15<xs:simpleType name="AddressType2Code">
16<xs:restriction base="xs:string">
17<xs:enumeration value="ADDR"/>
18<xs:enumeration value="PBOX"/>
19<xs:enumeration value="HOME"/>
20<xs:enumeration value="BIZZ"/>
21<xs:enumeration value="MLTO"/>
22<xs:enumeration value="DLVY"/>
23</xs:restriction>
24</xs:simpleType>
25<xs:complexType name="AmountType2Choice">
26<xs:sequence>
27<xs:choice>
28<xs:element name="InstdAmt" type="CurrencyAndAmount"/>
29<xs:element name="EqvtAmt" type="EquivalentAmount"/>
30</xs:choice>
31</xs:sequence>
32</xs:complexType>
33<xs:simpleType name="BBANIdentifier">
34<xs:restriction base="xs:string">
35<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
36</xs:restriction>
37</xs:simpleType>
38<xs:simpleType name="BEIIdentifier">
39<xs:restriction base="xs:string">
40<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
41</xs:restriction>
42</xs:simpleType>
43<xs:simpleType name="BICIdentifier">
44<xs:restriction base="xs:string">
45<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
46</xs:restriction>
47</xs:simpleType>
48<xs:simpleType name="BaseOneRate">
49<xs:restriction base="xs:decimal">
50<xs:fractionDigits value="10"/>
51<xs:totalDigits value="11"/>
52</xs:restriction>
53</xs:simpleType>
54<xs:simpleType name="BatchBookingIndicator">
55<xs:restriction base="xs:boolean"/>
56</xs:simpleType>
57<xs:complexType name="BranchAndFinancialInstitutionIdentification3">
58<xs:sequence>
59<xs:element name="FinInstnId" type="FinancialInstitutionIdentification5Choice"/>
60<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/>
61</xs:sequence>
62</xs:complexType>
63<xs:complexType name="BranchData">
64<xs:sequence>
65<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/>
66<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
67<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
68</xs:sequence>
69</xs:complexType>
70<xs:simpleType name="CHIPSUniversalIdentifier">
71<xs:restriction base="xs:string">
72<xs:pattern value="CH[0-9]{6,6}"/>
73</xs:restriction>
74</xs:simpleType>
75<xs:complexType name="CashAccount7">
76<xs:sequence>
77<xs:element name="Id" type="AccountIdentification3Choice"/>
78<xs:element name="Tp" type="CashAccountType2" minOccurs="0" maxOccurs="1"/>
79<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/>
80<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
81</xs:sequence>
82</xs:complexType>
83<xs:complexType name="CashAccountType2">
84<xs:sequence>
85<xs:choice>
86<xs:element name="Cd" type="CashAccountType4Code"/>
87<xs:element name="Prtry" type="Max35Text"/>
88</xs:choice>
89</xs:sequence>
90</xs:complexType>
91<xs:simpleType name="CashAccountType4Code">
92<xs:restriction base="xs:string">
93<xs:enumeration value="CASH"/>
94<xs:enumeration value="CHAR"/>
95<xs:enumeration value="COMM"/>
96<xs:enumeration value="TAXE"/>
97<xs:enumeration value="CISH"/>
98<xs:enumeration value="TRAS"/>
99<xs:enumeration value="SACC"/>
100<xs:enumeration value="CACC"/>
101<xs:enumeration value="SVGS"/>
102<xs:enumeration value="ONDP"/>
103<xs:enumeration value="MGLD"/>
104<xs:enumeration value="NREX"/>
105<xs:enumeration value="MOMA"/>
106<xs:enumeration value="LOAN"/>
107<xs:enumeration value="SLRY"/>
108<xs:enumeration value="ODFT"/>
109</xs:restriction>
110</xs:simpleType>
111<xs:simpleType name="ChargeBearerType1Code">
112<xs:restriction base="xs:string">
113<xs:enumeration value="DEBT"/>
114<xs:enumeration value="CRED"/>
115<xs:enumeration value="SHAR"/>
116<xs:enumeration value="SLEV"/>
117</xs:restriction>
118</xs:simpleType>
119<xs:complexType name="Cheque5">
120<xs:sequence>
121<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/>
122<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
123<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
124<xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0" maxOccurs="1"/>
125<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
126<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
127<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
128<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/>
129<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/>
130<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/>
131<xs:element name="PrtLctn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
132</xs:sequence>
133</xs:complexType>
134<xs:simpleType name="ChequeDelivery1Code">
135<xs:restriction base="xs:string">
136<xs:enumeration value="MLDB"/>
137<xs:enumeration value="MLCD"/>
138<xs:enumeration value="MLFA"/>
139<xs:enumeration value="CRDB"/>
140<xs:enumeration value="CRCD"/>
141<xs:enumeration value="CRFA"/>
142<xs:enumeration value="PUDB"/>
143<xs:enumeration value="PUCD"/>
144<xs:enumeration value="PUFA"/>
145<xs:enumeration value="RGDB"/>
146<xs:enumeration value="RGCD"/>
147<xs:enumeration value="RGFA"/>
148</xs:restriction>
149</xs:simpleType>
150<xs:complexType name="ChequeDeliveryMethod1Choice">
151<xs:sequence>
152<xs:choice>
153<xs:element name="Cd" type="ChequeDelivery1Code"/>
154<xs:element name="Prtry" type="Max35Text"/>
155</xs:choice>
156</xs:sequence>
157</xs:complexType>
158<xs:simpleType name="ChequeType2Code">
159<xs:restriction base="xs:string">
160<xs:enumeration value="CCHQ"/>
161<xs:enumeration value="CCCH"/>
162<xs:enumeration value="BCHQ"/>
163<xs:enumeration value="DRFT"/>
164<xs:enumeration value="ELDR"/>
165</xs:restriction>
166</xs:simpleType>
167<xs:simpleType name="ClearingChannel2Code">
168<xs:restriction base="xs:string">
169<xs:enumeration value="RTGS"/>
170<xs:enumeration value="RTNS"/>
171<xs:enumeration value="MPNS"/>
172<xs:enumeration value="BOOK"/>
173</xs:restriction>
174</xs:simpleType>
175<xs:complexType name="ClearingSystemMemberIdentification3Choice">
176<xs:sequence>
177<xs:choice>
178<xs:element name="Id" type="ExternalClearingSystemMemberCode"/>
179<xs:element name="Prtry" type="Max35Text"/>
180</xs:choice>
181</xs:sequence>
182</xs:complexType>
183<xs:simpleType name="CountryCode">
184<xs:restriction base="xs:string">
185<xs:pattern value="[A-Z]{2,2}"/>
186</xs:restriction>
187</xs:simpleType>
188<xs:complexType name="CreditTransferTransactionInformation1">
189<xs:sequence>
190<xs:element name="PmtId" type="PaymentIdentification1"/>
191<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
192<xs:element name="Amt" type="AmountType2Choice"/>
193<xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0" maxOccurs="1"/>
194<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
195<xs:element name="ChqInstr" type="Cheque5" minOccurs="0" maxOccurs="1"/>
196<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
197<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
198<xs:element name="IntrmyAgt1Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
199<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
200<xs:element name="IntrmyAgt2Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
201<xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
202<xs:element name="IntrmyAgt3Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
203<xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
204<xs:element name="CdtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
205<xs:element name="Cdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
206<xs:element name="CdtrAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
207<xs:element name="UltmtCdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
208<xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
209<xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0" maxOccurs="1"/>
210<xs:element name="Purp" type="Purpose1Choice" minOccurs="0" maxOccurs="1"/>
211<xs:element name="RgltryRptg" type="RegulatoryReporting2" minOccurs="0" maxOccurs="10"/>
212<xs:element name="Tax" type="TaxInformation2" minOccurs="0" maxOccurs="1"/>
213<xs:element name="RltdRmtInf" type="RemittanceLocation1" minOccurs="0" maxOccurs="10"/>
214<xs:element name="RmtInf" type="RemittanceInformation1" minOccurs="0" maxOccurs="1"/>
215</xs:sequence>
216</xs:complexType>
217<xs:complexType name="CreditorReferenceInformation1">
218<xs:sequence>
219<xs:element name="CdtrRefTp" type="CreditorReferenceType1" minOccurs="0" maxOccurs="1"/>
220<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/>
221</xs:sequence>
222</xs:complexType>
223<xs:complexType name="CreditorReferenceType1">
224<xs:sequence>
225<xs:choice>
226<xs:element name="Cd" type="DocumentType3Code"/>
227<xs:element name="Prtry" type="Max35Text"/>
228</xs:choice>
229<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
230</xs:sequence>
231</xs:complexType>
232<xs:simpleType name="CurrencyAndAmount_SimpleType">
233<xs:restriction base="xs:decimal">
234<xs:minInclusive value="0"/>
235<xs:fractionDigits value="5"/>
236<xs:totalDigits value="18"/>
237</xs:restriction>
238</xs:simpleType>
239<xs:complexType name="CurrencyAndAmount">
240<xs:simpleContent>
241<xs:extension base="CurrencyAndAmount_SimpleType">
242<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
243</xs:extension>
244</xs:simpleContent>
245</xs:complexType>
246<xs:simpleType name="CurrencyCode">
247<xs:restriction base="xs:string">
248<xs:pattern value="[A-Z]{3,3}"/>
249</xs:restriction>
250</xs:simpleType>
251<xs:complexType name="DateAndPlaceOfBirth">
252<xs:sequence>
253<xs:element name="BirthDt" type="ISODate"/>
254<xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0" maxOccurs="1"/>
255<xs:element name="CityOfBirth" type="Max35Text"/>
256<xs:element name="CtryOfBirth" type="CountryCode"/>
257</xs:sequence>
258</xs:complexType>
259<xs:simpleType name="DecimalNumber">
260<xs:restriction base="xs:decimal">
261<xs:fractionDigits value="17"/>
262<xs:totalDigits value="18"/>
263</xs:restriction>
264</xs:simpleType>
265<xs:complexType name="Document">
266<xs:sequence>
267<xs:element name="pain.001.001.02" type="pain.001.001.02"/>
268</xs:sequence>
269</xs:complexType>
270<xs:simpleType name="DocumentType2Code">
271<xs:restriction base="xs:string">
272<xs:enumeration value="MSIN"/>
273<xs:enumeration value="CNFA"/>
274<xs:enumeration value="DNFA"/>
275<xs:enumeration value="CINV"/>
276<xs:enumeration value="CREN"/>
277<xs:enumeration value="DEBN"/>
278<xs:enumeration value="HIRI"/>
279<xs:enumeration value="SBIN"/>
280<xs:enumeration value="CMCN"/>
281<xs:enumeration value="SOAC"/>
282<xs:enumeration value="DISP"/>
283</xs:restriction>
284</xs:simpleType>
285<xs:simpleType name="DocumentType3Code">
286<xs:restriction base="xs:string">
287<xs:enumeration value="RADM"/>
288<xs:enumeration value="RPIN"/>
289<xs:enumeration value="FXDR"/>
290<xs:enumeration value="DISP"/>
291<xs:enumeration value="PUOR"/>
292<xs:enumeration value="SCOR"/>
293</xs:restriction>
294</xs:simpleType>
295<xs:simpleType name="DunsIdentifier">
296<xs:restriction base="xs:string">
297<xs:pattern value="[0-9]{9,9}"/>
298</xs:restriction>
299</xs:simpleType>
300<xs:simpleType name="EANGLNIdentifier">
301<xs:restriction base="xs:string">
302<xs:pattern value="[0-9]{13,13}"/>
303</xs:restriction>
304</xs:simpleType>
305<xs:complexType name="EquivalentAmount">
306<xs:sequence>
307<xs:element name="Amt" type="CurrencyAndAmount"/>
308<xs:element name="CcyOfTrf" type="CurrencyCode"/>
309</xs:sequence>
310</xs:complexType>
311<xs:complexType name="ExchangeRateInformation1">
312<xs:sequence>
313<xs:element name="XchgRate" type="BaseOneRate" minOccurs="0" maxOccurs="1"/>
314<xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0" maxOccurs="1"/>
315<xs:element name="CtrctId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
316</xs:sequence>
317</xs:complexType>
318<xs:simpleType name="ExchangeRateType1Code">
319<xs:restriction base="xs:string">
320<xs:enumeration value="SPOT"/>
321<xs:enumeration value="SALE"/>
322<xs:enumeration value="AGRD"/>
323</xs:restriction>
324</xs:simpleType>
325<xs:simpleType name="ExternalClearingSystemMemberCode">
326<xs:restriction base="xs:string">
327<xs:minLength value="1"/>
328<xs:maxLength value="35"/>
329</xs:restriction>
330</xs:simpleType>
331<xs:simpleType name="ExternalLocalInstrumentCode">
332<xs:restriction base="xs:string">
333<xs:minLength value="1"/>
334<xs:maxLength value="35"/>
335</xs:restriction>
336</xs:simpleType>
337<xs:simpleType name="ExternalPurposeCode">
338<xs:restriction base="xs:string">
339<xs:minLength value="1"/>
340<xs:maxLength value="35"/>
341</xs:restriction>
342</xs:simpleType>
343<xs:complexType name="FinancialInstitutionIdentification3">
344<xs:sequence>
345<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
346<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice" minOccurs="0" maxOccurs="1"/>
347<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
348<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
349<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
350</xs:sequence>
351</xs:complexType>
352<xs:complexType name="FinancialInstitutionIdentification5Choice">
353<xs:sequence>
354<xs:choice>
355<xs:element name="BIC" type="BICIdentifier"/>
356<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice"/>
357<xs:element name="NmAndAdr" type="NameAndAddress7"/>
358<xs:element name="PrtryId" type="GenericIdentification3"/>
359<xs:element name="CmbndId" type="FinancialInstitutionIdentification3"/>
360</xs:choice>
361</xs:sequence>
362</xs:complexType>
363<xs:complexType name="GenericIdentification3">
364<xs:sequence>
365<xs:element name="Id" type="Max35Text"/>
366<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
367</xs:sequence>
368</xs:complexType>
369<xs:complexType name="GenericIdentification4">
370<xs:sequence>
371<xs:element name="Id" type="Max35Text"/>
372<xs:element name="IdTp" type="Max35Text"/>
373</xs:sequence>
374</xs:complexType>
375<xs:complexType name="GroupHeader1">
376<xs:sequence>
377<xs:element name="MsgId" type="Max35Text"/>
378<xs:element name="CreDtTm" type="ISODateTime"/>
379<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/>
380<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/>
381<xs:element name="NbOfTxs" type="Max15NumericText"/>
382<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/>
383<xs:element name="Grpg" type="Grouping1Code"/>
384<xs:element name="InitgPty" type="PartyIdentification8"/>
385<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
386</xs:sequence>
387</xs:complexType>
388<xs:simpleType name="Grouping1Code">
389<xs:restriction base="xs:string">
390<xs:enumeration value="SNGL"/>
391<xs:enumeration value="GRPD"/>
392<xs:enumeration value="MIXD"/>
393</xs:restriction>
394</xs:simpleType>
395<xs:simpleType name="IBANIdentifier">
396<xs:restriction base="xs:string">
397<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
398</xs:restriction>
399</xs:simpleType>
400<xs:simpleType name="IBEIIdentifier">
401<xs:restriction base="xs:string">
402<xs:pattern value="[A-Z]{2,2}[B-DF-HJ-NP-TV-XZ0-9]{7,7}[0-9]{1,1}"/>
403</xs:restriction>
404</xs:simpleType>
405<xs:simpleType name="ISODate">
406<xs:restriction base="xs:date"/>
407</xs:simpleType>
408<xs:simpleType name="ISODateTime">
409<xs:restriction base="xs:dateTime"/>
410</xs:simpleType>
411<xs:simpleType name="Instruction3Code">
412<xs:restriction base="xs:string">
413<xs:enumeration value="CHQB"/>
414<xs:enumeration value="HOLD"/>
415<xs:enumeration value="PHOB"/>
416<xs:enumeration value="TELB"/>
417</xs:restriction>
418</xs:simpleType>
419<xs:complexType name="InstructionForCreditorAgent1">
420<xs:sequence>
421<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="1"/>
422<xs:element name="InstrInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
423</xs:sequence>
424</xs:complexType>
425<xs:complexType name="LocalInstrument1Choice">
426<xs:sequence>
427<xs:choice>
428<xs:element name="Cd" type="ExternalLocalInstrumentCode"/>
429<xs:element name="Prtry" type="Max35Text"/>
430</xs:choice>
431</xs:sequence>
432</xs:complexType>
433<xs:simpleType name="Max128Text">
434<xs:restriction base="xs:string">
435<xs:minLength value="1"/>
436<xs:maxLength value="128"/>
437</xs:restriction>
438</xs:simpleType>
439<xs:simpleType name="Max140Text">
440<xs:restriction base="xs:string">
441<xs:minLength value="1"/>
442<xs:maxLength value="140"/>
443</xs:restriction>
444</xs:simpleType>
445<xs:simpleType name="Max15NumericText">
446<xs:restriction base="xs:string">
447<xs:pattern value="[0-9]{1,15}"/>
448</xs:restriction>
449</xs:simpleType>
450<xs:simpleType name="Max16Text">
451<xs:restriction base="xs:string">
452<xs:minLength value="1"/>
453<xs:maxLength value="16"/>
454</xs:restriction>
455</xs:simpleType>
456<xs:simpleType name="Max256Text">
457<xs:restriction base="xs:string">
458<xs:minLength value="1"/>
459<xs:maxLength value="256"/>
460</xs:restriction>
461</xs:simpleType>
462<xs:simpleType name="Max34Text">
463<xs:restriction base="xs:string">
464<xs:minLength value="1"/>
465<xs:maxLength value="34"/>
466</xs:restriction>
467</xs:simpleType>
468<xs:simpleType name="Max35Text">
469<xs:restriction base="xs:string">
470<xs:minLength value="1"/>
471<xs:maxLength value="35"/>
472</xs:restriction>
473</xs:simpleType>
474<xs:simpleType name="Max3Text">
475<xs:restriction base="xs:string">
476<xs:minLength value="1"/>
477<xs:maxLength value="3"/>
478</xs:restriction>
479</xs:simpleType>
480<xs:simpleType name="Max70Text">
481<xs:restriction base="xs:string">
482<xs:minLength value="1"/>
483<xs:maxLength value="70"/>
484</xs:restriction>
485</xs:simpleType>
486<xs:complexType name="NameAndAddress3">
487<xs:sequence>
488<xs:element name="Nm" type="Max70Text"/>
489<xs:element name="Adr" type="PostalAddress1"/>
490</xs:sequence>
491</xs:complexType>
492<xs:complexType name="NameAndAddress7">
493<xs:sequence>
494<xs:element name="Nm" type="Max70Text"/>
495<xs:element name="PstlAdr" type="PostalAddress1"/>
496</xs:sequence>
497</xs:complexType>
498<xs:complexType name="OrganisationIdentification2">
499<xs:sequence>
500<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
501<xs:element name="IBEI" type="IBEIIdentifier" minOccurs="0" maxOccurs="1"/>
502<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/>
503<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/>
504<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/>
505<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/>
506<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
507<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
508<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
509</xs:sequence>
510</xs:complexType>
511<xs:complexType name="Party2Choice">
512<xs:sequence>
513<xs:choice>
514<xs:element name="OrgId" type="OrganisationIdentification2"/>
515<xs:element name="PrvtId" type="PersonIdentification3" minOccurs="1" maxOccurs="4"/>
516</xs:choice>
517</xs:sequence>
518</xs:complexType>
519<xs:complexType name="PartyIdentification8">
520<xs:sequence>
521<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
522<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
523<xs:element name="Id" type="Party2Choice" minOccurs="0" maxOccurs="1"/>
524<xs:element name="CtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/>
525</xs:sequence>
526</xs:complexType>
527<xs:simpleType name="PaymentCategoryPurpose1Code">
528<xs:restriction base="xs:string">
529<xs:enumeration value="CORT"/>
530<xs:enumeration value="SALA"/>
531<xs:enumeration value="TREA"/>
532<xs:enumeration value="CASH"/>
533<xs:enumeration value="DIVI"/>
534<xs:enumeration value="GOVT"/>
535<xs:enumeration value="INTE"/>
536<xs:enumeration value="LOAN"/>
537<xs:enumeration value="PENS"/>
538<xs:enumeration value="SECU"/>
539<xs:enumeration value="SSBE"/>
540<xs:enumeration value="SUPP"/>
541<xs:enumeration value="TAXS"/>
542<xs:enumeration value="TRAD"/>
543<xs:enumeration value="VATX"/>
544<xs:enumeration value="HEDG"/>
545<xs:enumeration value="INTC"/>
546<xs:enumeration value="WHLD"/>
547</xs:restriction>
548</xs:simpleType>
549<xs:complexType name="PaymentIdentification1">
550<xs:sequence>
551<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
552<xs:element name="EndToEndId" type="Max35Text"/>
553</xs:sequence>
554</xs:complexType>
555<xs:complexType name="PaymentInstructionInformation1">
556<xs:sequence>
557<xs:element name="PmtInfId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
558<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
559<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
560<xs:element name="ReqdExctnDt" type="ISODate"/>
561<xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
562<xs:element name="Dbtr" type="PartyIdentification8"/>
563<xs:element name="DbtrAcct" type="CashAccount7"/>
564<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification3"/>
565<xs:element name="DbtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
566<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
567<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
568<xs:element name="ChrgsAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
569<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
570<xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation1" minOccurs="1" maxOccurs="unbounded"/>
571</xs:sequence>
572</xs:complexType>
573<xs:simpleType name="PaymentMethod3Code">
574<xs:restriction base="xs:string">
575<xs:enumeration value="CHK"/>
576<xs:enumeration value="TRF"/>
577<xs:enumeration value="TRA"/>
578</xs:restriction>
579</xs:simpleType>
580<xs:complexType name="PaymentTypeInformation1">
581<xs:sequence>
582<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
583<xs:choice>
584<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0" maxOccurs="1"/>
585<xs:element name="ClrChanl" type="ClearingChannel2Code" minOccurs="0" maxOccurs="1"/>
586</xs:choice>
587<xs:element name="LclInstrm" type="LocalInstrument1Choice" minOccurs="0" maxOccurs="1"/>
588<xs:element name="CtgyPurp" type="PaymentCategoryPurpose1Code" minOccurs="0" maxOccurs="1"/>
589</xs:sequence>
590</xs:complexType>
591<xs:simpleType name="PercentageRate">
592<xs:restriction base="xs:decimal">
593<xs:fractionDigits value="10"/>
594<xs:totalDigits value="11"/>
595</xs:restriction>
596</xs:simpleType>
597<xs:complexType name="PersonIdentification3">
598<xs:sequence>
599<xs:choice>
600<xs:element name="DrvrsLicNb" type="Max35Text"/>
601<xs:element name="CstmrNb" type="Max35Text"/>
602<xs:element name="SclSctyNb" type="Max35Text"/>
603<xs:element name="AlnRegnNb" type="Max35Text"/>
604<xs:element name="PsptNb" type="Max35Text"/>
605<xs:element name="TaxIdNb" type="Max35Text"/>
606<xs:element name="IdntyCardNb" type="Max35Text"/>
607<xs:element name="MplyrIdNb" type="Max35Text"/>
608<xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
609<xs:element name="OthrId" type="GenericIdentification4"/>
610</xs:choice>
611<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
612</xs:sequence>
613</xs:complexType>
614<xs:complexType name="PostalAddress1">
615<xs:sequence>
616<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/>
617<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/>
618<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
619<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/>
620<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/>
621<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
622<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
623<xs:element name="Ctry" type="CountryCode"/>
624</xs:sequence>
625</xs:complexType>
626<xs:simpleType name="Priority2Code">
627<xs:restriction base="xs:string">
628<xs:enumeration value="HIGH"/>
629<xs:enumeration value="NORM"/>
630</xs:restriction>
631</xs:simpleType>
632<xs:complexType name="Purpose1Choice">
633<xs:sequence>
634<xs:choice>
635<xs:element name="Cd" type="ExternalPurposeCode"/>
636<xs:element name="Prtry" type="Max35Text"/>
637</xs:choice>
638</xs:sequence>
639</xs:complexType>
640<xs:complexType name="ReferredDocumentAmount1Choice">
641<xs:sequence>
642<xs:choice>
643<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/>
644<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/>
645<xs:element name="RmtdAmt" type="CurrencyAndAmount"/>
646<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/>
647<xs:element name="TaxAmt" type="CurrencyAndAmount"/>
648</xs:choice>
649</xs:sequence>
650</xs:complexType>
651<xs:complexType name="ReferredDocumentInformation1">
652<xs:sequence>
653<xs:element name="RfrdDocTp" type="ReferredDocumentType1" minOccurs="0" maxOccurs="1"/>
654<xs:element name="RfrdDocNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
655</xs:sequence>
656</xs:complexType>
657<xs:complexType name="ReferredDocumentType1">
658<xs:sequence>
659<xs:choice>
660<xs:element name="Cd" type="DocumentType2Code"/>
661<xs:element name="Prtry" type="Max35Text"/>
662</xs:choice>
663<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
664</xs:sequence>
665</xs:complexType>
666<xs:complexType name="RegulatoryAuthority">
667<xs:sequence>
668<xs:element name="AuthrtyNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
669<xs:element name="AuthrtyCtry" type="CountryCode" minOccurs="0" maxOccurs="1"/>
670</xs:sequence>
671</xs:complexType>
672<xs:complexType name="RegulatoryReporting2">
673<xs:sequence>
674<xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0" maxOccurs="1"/>
675<xs:element name="Authrty" type="RegulatoryAuthority" minOccurs="0" maxOccurs="1"/>
676<xs:element name="RgltryDtls" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="1"/>
677</xs:sequence>
678</xs:complexType>
679<xs:simpleType name="RegulatoryReportingType1Code">
680<xs:restriction base="xs:string">
681<xs:enumeration value="CRED"/>
682<xs:enumeration value="DEBT"/>
683<xs:enumeration value="BOTH"/>
684</xs:restriction>
685</xs:simpleType>
686<xs:complexType name="RemittanceInformation1">
687<xs:sequence>
688<xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
689<xs:element name="Strd" type="StructuredRemittanceInformation6" minOccurs="0" maxOccurs="unbounded"/>
690</xs:sequence>
691</xs:complexType>
692<xs:complexType name="RemittanceLocation1">
693<xs:sequence>
694<xs:element name="RmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
695<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/>
696<xs:element name="RmtLctnElctrncAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/>
697<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
698</xs:sequence>
699</xs:complexType>
700<xs:simpleType name="RemittanceLocationMethod1Code">
701<xs:restriction base="xs:string">
702<xs:enumeration value="FAXI"/>
703<xs:enumeration value="EDIC"/>
704<xs:enumeration value="URID"/>
705<xs:enumeration value="EMAL"/>
706<xs:enumeration value="POST"/>
707</xs:restriction>
708</xs:simpleType>
709<xs:simpleType name="ServiceLevel1Code">
710<xs:restriction base="xs:string">
711<xs:enumeration value="SEPA"/>
712<xs:enumeration value="SDVA"/>
713<xs:enumeration value="PRPT"/>
714</xs:restriction>
715</xs:simpleType>
716<xs:complexType name="ServiceLevel2Choice">
717<xs:sequence>
718<xs:choice>
719<xs:element name="Cd" type="ServiceLevel1Code"/>
720<xs:element name="Prtry" type="Max35Text"/>
721</xs:choice>
722</xs:sequence>
723</xs:complexType>
724<xs:complexType name="SimpleIdentificationInformation2">
725<xs:sequence>
726<xs:element name="Id" type="Max34Text"/>
727</xs:sequence>
728</xs:complexType>
729<xs:complexType name="StructuredRegulatoryReporting2">
730<xs:sequence>
731<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/>
732<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
733<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/>
734</xs:sequence>
735</xs:complexType>
736<xs:complexType name="StructuredRemittanceInformation6">
737<xs:sequence>
738<xs:element name="RfrdDocInf" type="ReferredDocumentInformation1" minOccurs="0" maxOccurs="1"/>
739<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
740<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
741<xs:element name="CdtrRefInf" type="CreditorReferenceInformation1" minOccurs="0" maxOccurs="1"/>
742<xs:element name="Invcr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
743<xs:element name="Invcee" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
744<xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
745</xs:sequence>
746</xs:complexType>
747<xs:complexType name="TaxDetails">
748<xs:sequence>
749<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
750<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/>
751</xs:sequence>
752</xs:complexType>
753<xs:complexType name="TaxInformation2">
754<xs:sequence>
755<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
756<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/>
757<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
758<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/>
759<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
760<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
761<xs:element name="TaxDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
762<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/>
763</xs:sequence>
764</xs:complexType>
765<xs:complexType name="TaxType">
766<xs:sequence>
767<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/>
768<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/>
769<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
770<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
771</xs:sequence>
772</xs:complexType>
773<xs:simpleType name="UPICIdentifier">
774<xs:restriction base="xs:string">
775<xs:pattern value="[0-9]{8,17}"/>
776</xs:restriction>
777</xs:simpleType>
778<xs:complexType name="pain.001.001.02">
779<xs:sequence>
780<xs:element name="GrpHdr" type="GroupHeader1"/>
781<xs:element name="PmtInf" type="PaymentInstructionInformation1" minOccurs="1" maxOccurs="unbounded"/>
782</xs:sequence>
783</xs:complexType>
784</xs:schema>
0785
=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd'
--- account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/data/pain.001.001.03.xsd 2013-06-06 08:07:29 +0000
@@ -0,0 +1,921 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
3<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">
4 <xs:element name="Document" type="Document"/>
5 <xs:complexType name="AccountIdentification4Choice">
6 <xs:sequence>
7 <xs:choice>
8 <xs:element name="IBAN" type="IBAN2007Identifier"/>
9 <xs:element name="Othr" type="GenericAccountIdentification1"/>
10 </xs:choice>
11 </xs:sequence>
12 </xs:complexType>
13 <xs:complexType name="AccountSchemeName1Choice">
14 <xs:sequence>
15 <xs:choice>
16 <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
17 <xs:element name="Prtry" type="Max35Text"/>
18 </xs:choice>
19 </xs:sequence>
20 </xs:complexType>
21 <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
22 <xs:restriction base="xs:decimal">
23 <xs:minInclusive value="0"/>
24 <xs:fractionDigits value="5"/>
25 <xs:totalDigits value="18"/>
26 </xs:restriction>
27 </xs:simpleType>
28 <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
29 <xs:simpleContent>
30 <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
31 <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
32 </xs:extension>
33 </xs:simpleContent>
34 </xs:complexType>
35 <xs:simpleType name="ActiveOrHistoricCurrencyCode">
36 <xs:restriction base="xs:string">
37 <xs:pattern value="[A-Z]{3,3}"/>
38 </xs:restriction>
39 </xs:simpleType>
40 <xs:simpleType name="AddressType2Code">
41 <xs:restriction base="xs:string">
42 <xs:enumeration value="ADDR"/>
43 <xs:enumeration value="PBOX"/>
44 <xs:enumeration value="HOME"/>
45 <xs:enumeration value="BIZZ"/>
46 <xs:enumeration value="MLTO"/>
47 <xs:enumeration value="DLVY"/>
48 </xs:restriction>
49 </xs:simpleType>
50 <xs:complexType name="AmountType3Choice">
51 <xs:sequence>
52 <xs:choice>
53 <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
54 <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
55 </xs:choice>
56 </xs:sequence>
57 </xs:complexType>
58 <xs:simpleType name="AnyBICIdentifier">
59 <xs:restriction base="xs:string">
60 <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
61 </xs:restriction>
62 </xs:simpleType>
63 <xs:complexType name="Authorisation1Choice">
64 <xs:sequence>
65 <xs:choice>
66 <xs:element name="Cd" type="Authorisation1Code"/>
67 <xs:element name="Prtry" type="Max128Text"/>
68 </xs:choice>
69 </xs:sequence>
70 </xs:complexType>
71 <xs:simpleType name="Authorisation1Code">
72 <xs:restriction base="xs:string">
73 <xs:enumeration value="AUTH"/>
74 <xs:enumeration value="FDET"/>
75 <xs:enumeration value="FSUM"/>
76 <xs:enumeration value="ILEV"/>
77 </xs:restriction>
78 </xs:simpleType>
79 <xs:simpleType name="BICIdentifier">
80 <xs:restriction base="xs:string">
81 <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
82 </xs:restriction>
83 </xs:simpleType>
84 <xs:simpleType name="BaseOneRate">
85 <xs:restriction base="xs:decimal">
86 <xs:fractionDigits value="10"/>
87 <xs:totalDigits value="11"/>
88 </xs:restriction>
89 </xs:simpleType>
90 <xs:simpleType name="BatchBookingIndicator">
91 <xs:restriction base="xs:boolean"/>
92 </xs:simpleType>
93 <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
94 <xs:sequence>
95 <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
96 <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
97 </xs:sequence>
98 </xs:complexType>
99 <xs:complexType name="BranchData2">
100 <xs:sequence>
101 <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
102 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
103 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
104 </xs:sequence>
105 </xs:complexType>
106 <xs:complexType name="CashAccount16">
107 <xs:sequence>
108 <xs:element name="Id" type="AccountIdentification4Choice"/>
109 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2"/>
110 <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
111 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
112 </xs:sequence>
113 </xs:complexType>
114 <xs:complexType name="CashAccountType2">
115 <xs:sequence>
116 <xs:choice>
117 <xs:element name="Cd" type="CashAccountType4Code"/>
118 <xs:element name="Prtry" type="Max35Text"/>
119 </xs:choice>
120 </xs:sequence>
121 </xs:complexType>
122 <xs:simpleType name="CashAccountType4Code">
123 <xs:restriction base="xs:string">
124 <xs:enumeration value="CASH"/>
125 <xs:enumeration value="CHAR"/>
126 <xs:enumeration value="COMM"/>
127 <xs:enumeration value="TAXE"/>
128 <xs:enumeration value="CISH"/>
129 <xs:enumeration value="TRAS"/>
130 <xs:enumeration value="SACC"/>
131 <xs:enumeration value="CACC"/>
132 <xs:enumeration value="SVGS"/>
133 <xs:enumeration value="ONDP"/>
134 <xs:enumeration value="MGLD"/>
135 <xs:enumeration value="NREX"/>
136 <xs:enumeration value="MOMA"/>
137 <xs:enumeration value="LOAN"/>
138 <xs:enumeration value="SLRY"/>
139 <xs:enumeration value="ODFT"/>
140 </xs:restriction>
141 </xs:simpleType>
142 <xs:complexType name="CategoryPurpose1Choice">
143 <xs:sequence>
144 <xs:choice>
145 <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
146 <xs:element name="Prtry" type="Max35Text"/>
147 </xs:choice>
148 </xs:sequence>
149 </xs:complexType>
150 <xs:simpleType name="ChargeBearerType1Code">
151 <xs:restriction base="xs:string">
152 <xs:enumeration value="DEBT"/>
153 <xs:enumeration value="CRED"/>
154 <xs:enumeration value="SHAR"/>
155 <xs:enumeration value="SLEV"/>
156 </xs:restriction>
157 </xs:simpleType>
158 <xs:complexType name="Cheque6">
159 <xs:sequence>
160 <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
161 <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
162 <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
163 <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
164 <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
165 <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
166 <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
167 <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
168 <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
169 <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
170 <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
171 </xs:sequence>
172 </xs:complexType>
173 <xs:simpleType name="ChequeDelivery1Code">
174 <xs:restriction base="xs:string">
175 <xs:enumeration value="MLDB"/>
176 <xs:enumeration value="MLCD"/>
177 <xs:enumeration value="MLFA"/>
178 <xs:enumeration value="CRDB"/>
179 <xs:enumeration value="CRCD"/>
180 <xs:enumeration value="CRFA"/>
181 <xs:enumeration value="PUDB"/>
182 <xs:enumeration value="PUCD"/>
183 <xs:enumeration value="PUFA"/>
184 <xs:enumeration value="RGDB"/>
185 <xs:enumeration value="RGCD"/>
186 <xs:enumeration value="RGFA"/>
187 </xs:restriction>
188 </xs:simpleType>
189 <xs:complexType name="ChequeDeliveryMethod1Choice">
190 <xs:sequence>
191 <xs:choice>
192 <xs:element name="Cd" type="ChequeDelivery1Code"/>
193 <xs:element name="Prtry" type="Max35Text"/>
194 </xs:choice>
195 </xs:sequence>
196 </xs:complexType>
197 <xs:simpleType name="ChequeType2Code">
198 <xs:restriction base="xs:string">
199 <xs:enumeration value="CCHQ"/>
200 <xs:enumeration value="CCCH"/>
201 <xs:enumeration value="BCHQ"/>
202 <xs:enumeration value="DRFT"/>
203 <xs:enumeration value="ELDR"/>
204 </xs:restriction>
205 </xs:simpleType>
206 <xs:complexType name="ClearingSystemIdentification2Choice">
207 <xs:sequence>
208 <xs:choice>
209 <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
210 <xs:element name="Prtry" type="Max35Text"/>
211 </xs:choice>
212 </xs:sequence>
213 </xs:complexType>
214 <xs:complexType name="ClearingSystemMemberIdentification2">
215 <xs:sequence>
216 <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
217 <xs:element name="MmbId" type="Max35Text"/>
218 </xs:sequence>
219 </xs:complexType>
220 <xs:complexType name="ContactDetails2">
221 <xs:sequence>
222 <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
223 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
224 <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
225 <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
226 <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
227 <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
228 <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
229 </xs:sequence>
230 </xs:complexType>
231 <xs:simpleType name="CountryCode">
232 <xs:restriction base="xs:string">
233 <xs:pattern value="[A-Z]{2,2}"/>
234 </xs:restriction>
235 </xs:simpleType>
236 <xs:simpleType name="CreditDebitCode">
237 <xs:restriction base="xs:string">
238 <xs:enumeration value="CRDT"/>
239 <xs:enumeration value="DBIT"/>
240 </xs:restriction>
241 </xs:simpleType>
242 <xs:complexType name="CreditTransferTransactionInformation10">
243 <xs:sequence>
244 <xs:element name="PmtId" type="PaymentIdentification1"/>
245 <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
246 <xs:element name="Amt" type="AmountType3Choice"/>
247 <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRateInformation1"/>
248 <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
249 <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque6"/>
250 <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
251 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4"/>
252 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount16"/>
253 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4"/>
254 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount16"/>
255 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4"/>
256 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount16"/>
257 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
258 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/>
259 <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification32"/>
260 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount16"/>
261 <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
262 <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
263 <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
264 <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
265 <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
266 <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
267 <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
268 <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/>
269 </xs:sequence>
270 </xs:complexType>
271 <xs:complexType name="CreditorReferenceInformation2">
272 <xs:sequence>
273 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
274 <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
275 </xs:sequence>
276 </xs:complexType>
277 <xs:complexType name="CreditorReferenceType1Choice">
278 <xs:sequence>
279 <xs:choice>
280 <xs:element name="Cd" type="DocumentType3Code"/>
281 <xs:element name="Prtry" type="Max35Text"/>
282 </xs:choice>
283 </xs:sequence>
284 </xs:complexType>
285 <xs:complexType name="CreditorReferenceType2">
286 <xs:sequence>
287 <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
288 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
289 </xs:sequence>
290 </xs:complexType>
291 <xs:complexType name="CustomerCreditTransferInitiationV03">
292 <xs:sequence>
293 <xs:element name="GrpHdr" type="GroupHeader32"/>
294 <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation3"/>
295 </xs:sequence>
296 </xs:complexType>
297 <xs:complexType name="DateAndPlaceOfBirth">
298 <xs:sequence>
299 <xs:element name="BirthDt" type="ISODate"/>
300 <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
301 <xs:element name="CityOfBirth" type="Max35Text"/>
302 <xs:element name="CtryOfBirth" type="CountryCode"/>
303 </xs:sequence>
304 </xs:complexType>
305 <xs:complexType name="DatePeriodDetails">
306 <xs:sequence>
307 <xs:element name="FrDt" type="ISODate"/>
308 <xs:element name="ToDt" type="ISODate"/>
309 </xs:sequence>
310 </xs:complexType>
311 <xs:simpleType name="DecimalNumber">
312 <xs:restriction base="xs:decimal">
313 <xs:fractionDigits value="17"/>
314 <xs:totalDigits value="18"/>
315 </xs:restriction>
316 </xs:simpleType>
317 <xs:complexType name="Document">
318 <xs:sequence>
319 <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/>
320 </xs:sequence>
321 </xs:complexType>
322 <xs:complexType name="DocumentAdjustment1">
323 <xs:sequence>
324 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
325 <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
326 <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
327 <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
328 </xs:sequence>
329 </xs:complexType>
330 <xs:simpleType name="DocumentType3Code">
331 <xs:restriction base="xs:string">
332 <xs:enumeration value="RADM"/>
333 <xs:enumeration value="RPIN"/>
334 <xs:enumeration value="FXDR"/>
335 <xs:enumeration value="DISP"/>
336 <xs:enumeration value="PUOR"/>
337 <xs:enumeration value="SCOR"/>
338 </xs:restriction>
339 </xs:simpleType>
340 <xs:simpleType name="DocumentType5Code">
341 <xs:restriction base="xs:string">
342 <xs:enumeration value="MSIN"/>
343 <xs:enumeration value="CNFA"/>
344 <xs:enumeration value="DNFA"/>
345 <xs:enumeration value="CINV"/>
346 <xs:enumeration value="CREN"/>
347 <xs:enumeration value="DEBN"/>
348 <xs:enumeration value="HIRI"/>
349 <xs:enumeration value="SBIN"/>
350 <xs:enumeration value="CMCN"/>
351 <xs:enumeration value="SOAC"/>
352 <xs:enumeration value="DISP"/>
353 <xs:enumeration value="BOLD"/>
354 <xs:enumeration value="VCHR"/>
355 <xs:enumeration value="AROI"/>
356 <xs:enumeration value="TSUT"/>
357 </xs:restriction>
358 </xs:simpleType>
359 <xs:complexType name="EquivalentAmount2">
360 <xs:sequence>
361 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
362 <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
363 </xs:sequence>
364 </xs:complexType>
365 <xs:complexType name="ExchangeRateInformation1">
366 <xs:sequence>
367 <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
368 <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
369 <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
370 </xs:sequence>
371 </xs:complexType>
372 <xs:simpleType name="ExchangeRateType1Code">
373 <xs:restriction base="xs:string">
374 <xs:enumeration value="SPOT"/>
375 <xs:enumeration value="SALE"/>
376 <xs:enumeration value="AGRD"/>
377 </xs:restriction>
378 </xs:simpleType>
379 <xs:simpleType name="ExternalAccountIdentification1Code">
380 <xs:restriction base="xs:string">
381 <xs:minLength value="1"/>
382 <xs:maxLength value="4"/>
383 </xs:restriction>
384 </xs:simpleType>
385 <xs:simpleType name="ExternalCategoryPurpose1Code">
386 <xs:restriction base="xs:string">
387 <xs:minLength value="1"/>
388 <xs:maxLength value="4"/>
389 </xs:restriction>
390 </xs:simpleType>
391 <xs:simpleType name="ExternalClearingSystemIdentification1Code">
392 <xs:restriction base="xs:string">
393 <xs:minLength value="1"/>
394 <xs:maxLength value="5"/>
395 </xs:restriction>
396 </xs:simpleType>
397 <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
398 <xs:restriction base="xs:string">
399 <xs:minLength value="1"/>
400 <xs:maxLength value="4"/>
401 </xs:restriction>
402 </xs:simpleType>
403 <xs:simpleType name="ExternalLocalInstrument1Code">
404 <xs:restriction base="xs:string">
405 <xs:minLength value="1"/>
406 <xs:maxLength value="35"/>
407 </xs:restriction>
408 </xs:simpleType>
409 <xs:simpleType name="ExternalOrganisationIdentification1Code">
410 <xs:restriction base="xs:string">
411 <xs:minLength value="1"/>
412 <xs:maxLength value="4"/>
413 </xs:restriction>
414 </xs:simpleType>
415 <xs:simpleType name="ExternalPersonIdentification1Code">
416 <xs:restriction base="xs:string">
417 <xs:minLength value="1"/>
418 <xs:maxLength value="4"/>
419 </xs:restriction>
420 </xs:simpleType>
421 <xs:simpleType name="ExternalPurpose1Code">
422 <xs:restriction base="xs:string">
423 <xs:minLength value="1"/>
424 <xs:maxLength value="4"/>
425 </xs:restriction>
426 </xs:simpleType>
427 <xs:simpleType name="ExternalServiceLevel1Code">
428 <xs:restriction base="xs:string">
429 <xs:minLength value="1"/>
430 <xs:maxLength value="4"/>
431 </xs:restriction>
432 </xs:simpleType>
433 <xs:complexType name="FinancialIdentificationSchemeName1Choice">
434 <xs:sequence>
435 <xs:choice>
436 <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
437 <xs:element name="Prtry" type="Max35Text"/>
438 </xs:choice>
439 </xs:sequence>
440 </xs:complexType>
441 <xs:complexType name="FinancialInstitutionIdentification7">
442 <xs:sequence>
443 <xs:element maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/>
444 <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
445 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
446 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
447 <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
448 </xs:sequence>
449 </xs:complexType>
450 <xs:complexType name="GenericAccountIdentification1">
451 <xs:sequence>
452 <xs:element name="Id" type="Max34Text"/>
453 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
454 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
455 </xs:sequence>
456 </xs:complexType>
457 <xs:complexType name="GenericFinancialIdentification1">
458 <xs:sequence>
459 <xs:element name="Id" type="Max35Text"/>
460 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
461 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
462 </xs:sequence>
463 </xs:complexType>
464 <xs:complexType name="GenericOrganisationIdentification1">
465 <xs:sequence>
466 <xs:element name="Id" type="Max35Text"/>
467 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
468 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
469 </xs:sequence>
470 </xs:complexType>
471 <xs:complexType name="GenericPersonIdentification1">
472 <xs:sequence>
473 <xs:element name="Id" type="Max35Text"/>
474 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
475 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
476 </xs:sequence>
477 </xs:complexType>
478 <xs:complexType name="GroupHeader32">
479 <xs:sequence>
480 <xs:element name="MsgId" type="Max35Text"/>
481 <xs:element name="CreDtTm" type="ISODateTime"/>
482 <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
483 <xs:element name="NbOfTxs" type="Max15NumericText"/>
484 <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
485 <xs:element name="InitgPty" type="PartyIdentification32"/>
486 <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/>
487 </xs:sequence>
488 </xs:complexType>
489 <xs:simpleType name="IBAN2007Identifier">
490 <xs:restriction base="xs:string">
491 <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
492 </xs:restriction>
493 </xs:simpleType>
494 <xs:simpleType name="ISODate">
495 <xs:restriction base="xs:date"/>
496 </xs:simpleType>
497 <xs:simpleType name="ISODateTime">
498 <xs:restriction base="xs:dateTime"/>
499 </xs:simpleType>
500 <xs:simpleType name="Instruction3Code">
501 <xs:restriction base="xs:string">
502 <xs:enumeration value="CHQB"/>
503 <xs:enumeration value="HOLD"/>
504 <xs:enumeration value="PHOB"/>
505 <xs:enumeration value="TELB"/>
506 </xs:restriction>
507 </xs:simpleType>
508 <xs:complexType name="InstructionForCreditorAgent1">
509 <xs:sequence>
510 <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
511 <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
512 </xs:sequence>
513 </xs:complexType>
514 <xs:complexType name="LocalInstrument2Choice">
515 <xs:sequence>
516 <xs:choice>
517 <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
518 <xs:element name="Prtry" type="Max35Text"/>
519 </xs:choice>
520 </xs:sequence>
521 </xs:complexType>
522 <xs:simpleType name="Max10Text">
523 <xs:restriction base="xs:string">
524 <xs:minLength value="1"/>
525 <xs:maxLength value="10"/>
526 </xs:restriction>
527 </xs:simpleType>
528 <xs:simpleType name="Max128Text">
529 <xs:restriction base="xs:string">
530 <xs:minLength value="1"/>
531 <xs:maxLength value="128"/>
532 </xs:restriction>
533 </xs:simpleType>
534 <xs:simpleType name="Max140Text">
535 <xs:restriction base="xs:string">
536 <xs:minLength value="1"/>
537 <xs:maxLength value="140"/>
538 </xs:restriction>
539 </xs:simpleType>
540 <xs:simpleType name="Max15NumericText">
541 <xs:restriction base="xs:string">
542 <xs:pattern value="[0-9]{1,15}"/>
543 </xs:restriction>
544 </xs:simpleType>
545 <xs:simpleType name="Max16Text">
546 <xs:restriction base="xs:string">
547 <xs:minLength value="1"/>
548 <xs:maxLength value="16"/>
549 </xs:restriction>
550 </xs:simpleType>
551 <xs:simpleType name="Max2048Text">
552 <xs:restriction base="xs:string">
553 <xs:minLength value="1"/>
554 <xs:maxLength value="2048"/>
555 </xs:restriction>
556 </xs:simpleType>
557 <xs:simpleType name="Max34Text">
558 <xs:restriction base="xs:string">
559 <xs:minLength value="1"/>
560 <xs:maxLength value="34"/>
561 </xs:restriction>
562 </xs:simpleType>
563 <xs:simpleType name="Max35Text">
564 <xs:restriction base="xs:string">
565 <xs:minLength value="1"/>
566 <xs:maxLength value="35"/>
567 </xs:restriction>
568 </xs:simpleType>
569 <xs:simpleType name="Max4Text">
570 <xs:restriction base="xs:string">
571 <xs:minLength value="1"/>
572 <xs:maxLength value="4"/>
573 </xs:restriction>
574 </xs:simpleType>
575 <xs:simpleType name="Max70Text">
576 <xs:restriction base="xs:string">
577 <xs:minLength value="1"/>
578 <xs:maxLength value="70"/>
579 </xs:restriction>
580 </xs:simpleType>
581 <xs:complexType name="NameAndAddress10">
582 <xs:sequence>
583 <xs:element name="Nm" type="Max140Text"/>
584 <xs:element name="Adr" type="PostalAddress6"/>
585 </xs:sequence>
586 </xs:complexType>
587 <xs:simpleType name="NamePrefix1Code">
588 <xs:restriction base="xs:string">
589 <xs:enumeration value="DOCT"/>
590 <xs:enumeration value="MIST"/>
591 <xs:enumeration value="MISS"/>
592 <xs:enumeration value="MADM"/>
593 </xs:restriction>
594 </xs:simpleType>
595 <xs:simpleType name="Number">
596 <xs:restriction base="xs:decimal">
597 <xs:fractionDigits value="0"/>
598 <xs:totalDigits value="18"/>
599 </xs:restriction>
600 </xs:simpleType>
601 <xs:complexType name="OrganisationIdentification4">
602 <xs:sequence>
603 <xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/>
604 <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
605 </xs:sequence>
606 </xs:complexType>
607 <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
608 <xs:sequence>
609 <xs:choice>
610 <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
611 <xs:element name="Prtry" type="Max35Text"/>
612 </xs:choice>
613 </xs:sequence>
614 </xs:complexType>
615 <xs:complexType name="Party6Choice">
616 <xs:sequence>
617 <xs:choice>
618 <xs:element name="OrgId" type="OrganisationIdentification4"/>
619 <xs:element name="PrvtId" type="PersonIdentification5"/>
620 </xs:choice>
621 </xs:sequence>
622 </xs:complexType>
623 <xs:complexType name="PartyIdentification32">
624 <xs:sequence>
625 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
626 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
627 <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/>
628 <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
629 <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
630 </xs:sequence>
631 </xs:complexType>
632 <xs:complexType name="PaymentIdentification1">
633 <xs:sequence>
634 <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
635 <xs:element name="EndToEndId" type="Max35Text"/>
636 </xs:sequence>
637 </xs:complexType>
638 <xs:complexType name="PaymentInstructionInformation3">
639 <xs:sequence>
640 <xs:element name="PmtInfId" type="Max35Text"/>
641 <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
642 <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
643 <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
644 <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
645 <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
646 <xs:element name="ReqdExctnDt" type="ISODate"/>
647 <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
648 <xs:element name="Dbtr" type="PartyIdentification32"/>
649 <xs:element name="DbtrAcct" type="CashAccount16"/>
650 <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
651 <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/>
652 <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
653 <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
654 <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/>
655 <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/>
656 <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransactionInformation10"/>
657 </xs:sequence>
658 </xs:complexType>
659 <xs:simpleType name="PaymentMethod3Code">
660 <xs:restriction base="xs:string">
661 <xs:enumeration value="CHK"/>
662 <xs:enumeration value="TRF"/>
663 <xs:enumeration value="TRA"/>
664 </xs:restriction>
665 </xs:simpleType>
666 <xs:complexType name="PaymentTypeInformation19">
667 <xs:sequence>
668 <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
669 <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
670 <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
671 <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
672 </xs:sequence>
673 </xs:complexType>
674 <xs:simpleType name="PercentageRate">
675 <xs:restriction base="xs:decimal">
676 <xs:fractionDigits value="10"/>
677 <xs:totalDigits value="11"/>
678 </xs:restriction>
679 </xs:simpleType>
680 <xs:complexType name="PersonIdentification5">
681 <xs:sequence>
682 <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
683 <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
684 </xs:sequence>
685 </xs:complexType>
686 <xs:complexType name="PersonIdentificationSchemeName1Choice">
687 <xs:sequence>
688 <xs:choice>
689 <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
690 <xs:element name="Prtry" type="Max35Text"/>
691 </xs:choice>
692 </xs:sequence>
693 </xs:complexType>
694 <xs:simpleType name="PhoneNumber">
695 <xs:restriction base="xs:string">
696 <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
697 </xs:restriction>
698 </xs:simpleType>
699 <xs:complexType name="PostalAddress6">
700 <xs:sequence>
701 <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
702 <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
703 <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
704 <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
705 <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
706 <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
707 <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
708 <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
709 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
710 <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
711 </xs:sequence>
712 </xs:complexType>
713 <xs:simpleType name="Priority2Code">
714 <xs:restriction base="xs:string">
715 <xs:enumeration value="HIGH"/>
716 <xs:enumeration value="NORM"/>
717 </xs:restriction>
718 </xs:simpleType>
719 <xs:complexType name="Purpose2Choice">
720 <xs:sequence>
721 <xs:choice>
722 <xs:element name="Cd" type="ExternalPurpose1Code"/>
723 <xs:element name="Prtry" type="Max35Text"/>
724 </xs:choice>
725 </xs:sequence>
726 </xs:complexType>
727 <xs:complexType name="ReferredDocumentInformation3">
728 <xs:sequence>
729 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
730 <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
731 <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
732 </xs:sequence>
733 </xs:complexType>
734 <xs:complexType name="ReferredDocumentType1Choice">
735 <xs:sequence>
736 <xs:choice>
737 <xs:element name="Cd" type="DocumentType5Code"/>
738 <xs:element name="Prtry" type="Max35Text"/>
739 </xs:choice>
740 </xs:sequence>
741 </xs:complexType>
742 <xs:complexType name="ReferredDocumentType2">
743 <xs:sequence>
744 <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
745 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
746 </xs:sequence>
747 </xs:complexType>
748 <xs:complexType name="RegulatoryAuthority2">
749 <xs:sequence>
750 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
751 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
752 </xs:sequence>
753 </xs:complexType>
754 <xs:complexType name="RegulatoryReporting3">
755 <xs:sequence>
756 <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
757 <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
758 <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
759 </xs:sequence>
760 </xs:complexType>
761 <xs:simpleType name="RegulatoryReportingType1Code">
762 <xs:restriction base="xs:string">
763 <xs:enumeration value="CRED"/>
764 <xs:enumeration value="DEBT"/>
765 <xs:enumeration value="BOTH"/>
766 </xs:restriction>
767 </xs:simpleType>
768 <xs:complexType name="RemittanceAmount1">
769 <xs:sequence>
770 <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
771 <xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
772 <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
773 <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
774 <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
775 <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
776 </xs:sequence>
777 </xs:complexType>
778 <xs:complexType name="RemittanceInformation5">
779 <xs:sequence>
780 <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
781 <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/>
782 </xs:sequence>
783 </xs:complexType>
784 <xs:complexType name="RemittanceLocation2">
785 <xs:sequence>
786 <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
787 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
788 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
789 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
790 </xs:sequence>
791 </xs:complexType>
792 <xs:simpleType name="RemittanceLocationMethod2Code">
793 <xs:restriction base="xs:string">
794 <xs:enumeration value="FAXI"/>
795 <xs:enumeration value="EDIC"/>
796 <xs:enumeration value="URID"/>
797 <xs:enumeration value="EMAL"/>
798 <xs:enumeration value="POST"/>
799 <xs:enumeration value="SMSM"/>
800 </xs:restriction>
801 </xs:simpleType>
802 <xs:complexType name="ServiceLevel8Choice">
803 <xs:sequence>
804 <xs:choice>
805 <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
806 <xs:element name="Prtry" type="Max35Text"/>
807 </xs:choice>
808 </xs:sequence>
809 </xs:complexType>
810 <xs:complexType name="StructuredRegulatoryReporting3">
811 <xs:sequence>
812 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
813 <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
814 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
815 <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
816 <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
817 <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
818 </xs:sequence>
819 </xs:complexType>
820 <xs:complexType name="StructuredRemittanceInformation7">
821 <xs:sequence>
822 <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
823 <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/>
824 <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
825 <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/>
826 <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/>
827 <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
828 </xs:sequence>
829 </xs:complexType>
830 <xs:complexType name="TaxAmount1">
831 <xs:sequence>
832 <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
833 <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
834 <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
835 <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
836 </xs:sequence>
837 </xs:complexType>
838 <xs:complexType name="TaxAuthorisation1">
839 <xs:sequence>
840 <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
841 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
842 </xs:sequence>
843 </xs:complexType>
844 <xs:complexType name="TaxInformation3">
845 <xs:sequence>
846 <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
847 <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
848 <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
849 <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
850 <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
851 <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
852 <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
853 <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
854 <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
855 <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
856 </xs:sequence>
857 </xs:complexType>
858 <xs:complexType name="TaxParty1">
859 <xs:sequence>
860 <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
861 <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
862 <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
863 </xs:sequence>
864 </xs:complexType>
865 <xs:complexType name="TaxParty2">
866 <xs:sequence>
867 <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
868 <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
869 <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
870 <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
871 </xs:sequence>
872 </xs:complexType>
873 <xs:complexType name="TaxPeriod1">
874 <xs:sequence>
875 <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
876 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
877 <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
878 </xs:sequence>
879 </xs:complexType>
880 <xs:complexType name="TaxRecord1">
881 <xs:sequence>
882 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
883 <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
884 <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
885 <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
886 <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
887 <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
888 <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
889 <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
890 <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
891 </xs:sequence>
892 </xs:complexType>
893 <xs:complexType name="TaxRecordDetails1">
894 <xs:sequence>
895 <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
896 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
897 </xs:sequence>
898 </xs:complexType>
899 <xs:simpleType name="TaxRecordPeriod1Code">
900 <xs:restriction base="xs:string">
901 <xs:enumeration value="MM01"/>
902 <xs:enumeration value="MM02"/>
903 <xs:enumeration value="MM03"/>
904 <xs:enumeration value="MM04"/>
905 <xs:enumeration value="MM05"/>
906 <xs:enumeration value="MM06"/>
907 <xs:enumeration value="MM07"/>
908 <xs:enumeration value="MM08"/>
909 <xs:enumeration value="MM09"/>
910 <xs:enumeration value="MM10"/>
911 <xs:enumeration value="MM11"/>
912 <xs:enumeration value="MM12"/>
913 <xs:enumeration value="QTR1"/>
914 <xs:enumeration value="QTR2"/>
915 <xs:enumeration value="QTR3"/>
916 <xs:enumeration value="QTR4"/>
917 <xs:enumeration value="HLF1"/>
918 <xs:enumeration value="HLF2"/>
919 </xs:restriction>
920 </xs:simpleType>
921</xs:schema>
0922
=== added file 'account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd'
--- account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/data/pain.001.001.04.xsd 2013-06-06 08:07:29 +0000
@@ -0,0 +1,968 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!--Generated by SWIFTStandards Workstation (build:R7.1.30.4) on 2012 Jun 07 20:47:19-->
3<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">
4 <xs:element name="Document" type="Document"/>
5 <xs:complexType name="AccountIdentification4Choice">
6 <xs:sequence>
7 <xs:choice>
8 <xs:element name="IBAN" type="IBAN2007Identifier"/>
9 <xs:element name="Othr" type="GenericAccountIdentification1"/>
10 </xs:choice>
11 </xs:sequence>
12 </xs:complexType>
13 <xs:complexType name="AccountSchemeName1Choice">
14 <xs:sequence>
15 <xs:choice>
16 <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
17 <xs:element name="Prtry" type="Max35Text"/>
18 </xs:choice>
19 </xs:sequence>
20 </xs:complexType>
21 <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
22 <xs:restriction base="xs:decimal">
23 <xs:fractionDigits value="5"/>
24 <xs:totalDigits value="18"/>
25 <xs:minInclusive value="0"/>
26 </xs:restriction>
27 </xs:simpleType>
28 <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
29 <xs:simpleContent>
30 <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
31 <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
32 </xs:extension>
33 </xs:simpleContent>
34 </xs:complexType>
35 <xs:simpleType name="ActiveOrHistoricCurrencyCode">
36 <xs:restriction base="xs:string">
37 <xs:pattern value="[A-Z]{3,3}"/>
38 </xs:restriction>
39 </xs:simpleType>
40 <xs:simpleType name="AddressType2Code">
41 <xs:restriction base="xs:string">
42 <xs:enumeration value="ADDR"/>
43 <xs:enumeration value="PBOX"/>
44 <xs:enumeration value="HOME"/>
45 <xs:enumeration value="BIZZ"/>
46 <xs:enumeration value="MLTO"/>
47 <xs:enumeration value="DLVY"/>
48 </xs:restriction>
49 </xs:simpleType>
50 <xs:complexType name="AmountType3Choice">
51 <xs:sequence>
52 <xs:choice>
53 <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
54 <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
55 </xs:choice>
56 </xs:sequence>
57 </xs:complexType>
58 <xs:simpleType name="AnyBICIdentifier">
59 <xs:restriction base="xs:string">
60 <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
61 </xs:restriction>
62 </xs:simpleType>
63 <xs:complexType name="Authorisation1Choice">
64 <xs:sequence>
65 <xs:choice>
66 <xs:element name="Cd" type="Authorisation1Code"/>
67 <xs:element name="Prtry" type="Max128Text"/>
68 </xs:choice>
69 </xs:sequence>
70 </xs:complexType>
71 <xs:simpleType name="Authorisation1Code">
72 <xs:restriction base="xs:string">
73 <xs:enumeration value="AUTH"/>
74 <xs:enumeration value="FDET"/>
75 <xs:enumeration value="FSUM"/>
76 <xs:enumeration value="ILEV"/>
77 </xs:restriction>
78 </xs:simpleType>
79 <xs:simpleType name="BICFIIdentifier">
80 <xs:restriction base="xs:string">
81 <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
82 </xs:restriction>
83 </xs:simpleType>
84 <xs:simpleType name="BaseOneRate">
85 <xs:restriction base="xs:decimal">
86 <xs:fractionDigits value="10"/>
87 <xs:totalDigits value="11"/>
88 </xs:restriction>
89 </xs:simpleType>
90 <xs:simpleType name="BatchBookingIndicator">
91 <xs:restriction base="xs:boolean"/>
92 </xs:simpleType>
93 <xs:complexType name="BranchAndFinancialInstitutionIdentification5">
94 <xs:sequence>
95 <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
96 <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
97 </xs:sequence>
98 </xs:complexType>
99 <xs:complexType name="BranchData2">
100 <xs:sequence>
101 <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
102 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
103 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
104 </xs:sequence>
105 </xs:complexType>
106 <xs:complexType name="CashAccount24">
107 <xs:sequence>
108 <xs:element name="Id" type="AccountIdentification4Choice"/>
109 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
110 <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
111 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
112 </xs:sequence>
113 </xs:complexType>
114 <xs:complexType name="CashAccountType2Choice">
115 <xs:sequence>
116 <xs:choice>
117 <xs:element name="Cd" type="ExternalCashAccountType1Code"/>
118 <xs:element name="Prtry" type="Max35Text"/>
119 </xs:choice>
120 </xs:sequence>
121 </xs:complexType>
122 <xs:complexType name="CategoryPurpose1Choice">
123 <xs:sequence>
124 <xs:choice>
125 <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
126 <xs:element name="Prtry" type="Max35Text"/>
127 </xs:choice>
128 </xs:sequence>
129 </xs:complexType>
130 <xs:simpleType name="ChargeBearerType1Code">
131 <xs:restriction base="xs:string">
132 <xs:enumeration value="DEBT"/>
133 <xs:enumeration value="CRED"/>
134 <xs:enumeration value="SHAR"/>
135 <xs:enumeration value="SLEV"/>
136 </xs:restriction>
137 </xs:simpleType>
138 <xs:complexType name="Cheque7">
139 <xs:sequence>
140 <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
141 <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
142 <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
143 <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
144 <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
145 <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
146 <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
147 <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
148 <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
149 <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
150 <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
151 <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/>
152 </xs:sequence>
153 </xs:complexType>
154 <xs:simpleType name="ChequeDelivery1Code">
155 <xs:restriction base="xs:string">
156 <xs:enumeration value="MLDB"/>
157 <xs:enumeration value="MLCD"/>
158 <xs:enumeration value="MLFA"/>
159 <xs:enumeration value="CRDB"/>
160 <xs:enumeration value="CRCD"/>
161 <xs:enumeration value="CRFA"/>
162 <xs:enumeration value="PUDB"/>
163 <xs:enumeration value="PUCD"/>
164 <xs:enumeration value="PUFA"/>
165 <xs:enumeration value="RGDB"/>
166 <xs:enumeration value="RGCD"/>
167 <xs:enumeration value="RGFA"/>
168 </xs:restriction>
169 </xs:simpleType>
170 <xs:complexType name="ChequeDeliveryMethod1Choice">
171 <xs:sequence>
172 <xs:choice>
173 <xs:element name="Cd" type="ChequeDelivery1Code"/>
174 <xs:element name="Prtry" type="Max35Text"/>
175 </xs:choice>
176 </xs:sequence>
177 </xs:complexType>
178 <xs:simpleType name="ChequeType2Code">
179 <xs:restriction base="xs:string">
180 <xs:enumeration value="CCHQ"/>
181 <xs:enumeration value="CCCH"/>
182 <xs:enumeration value="BCHQ"/>
183 <xs:enumeration value="DRFT"/>
184 <xs:enumeration value="ELDR"/>
185 </xs:restriction>
186 </xs:simpleType>
187 <xs:complexType name="ClearingSystemIdentification2Choice">
188 <xs:sequence>
189 <xs:choice>
190 <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
191 <xs:element name="Prtry" type="Max35Text"/>
192 </xs:choice>
193 </xs:sequence>
194 </xs:complexType>
195 <xs:complexType name="ClearingSystemMemberIdentification2">
196 <xs:sequence>
197 <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
198 <xs:element name="MmbId" type="Max35Text"/>
199 </xs:sequence>
200 </xs:complexType>
201 <xs:complexType name="ContactDetails2">
202 <xs:sequence>
203 <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
204 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
205 <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
206 <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
207 <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
208 <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
209 <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
210 </xs:sequence>
211 </xs:complexType>
212 <xs:simpleType name="CountryCode">
213 <xs:restriction base="xs:string">
214 <xs:pattern value="[A-Z]{2,2}"/>
215 </xs:restriction>
216 </xs:simpleType>
217 <xs:simpleType name="CreditDebitCode">
218 <xs:restriction base="xs:string">
219 <xs:enumeration value="CRDT"/>
220 <xs:enumeration value="DBIT"/>
221 </xs:restriction>
222 </xs:simpleType>
223 <xs:complexType name="CreditTransferTransaction1">
224 <xs:sequence>
225 <xs:element name="PmtId" type="PaymentIdentification1"/>
226 <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
227 <xs:element name="Amt" type="AmountType3Choice"/>
228 <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/>
229 <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
230 <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/>
231 <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
232 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/>
233 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/>
234 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/>
235 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/>
236 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/>
237 <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/>
238 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
239 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/>
240 <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/>
241 <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/>
242 <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/>
243 <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
244 <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
245 <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
246 <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
247 <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
248 <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
249 <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/>
250 </xs:sequence>
251 </xs:complexType>
252 <xs:complexType name="CreditorReferenceInformation2">
253 <xs:sequence>
254 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
255 <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
256 </xs:sequence>
257 </xs:complexType>
258 <xs:complexType name="CreditorReferenceType1Choice">
259 <xs:sequence>
260 <xs:choice>
261 <xs:element name="Cd" type="DocumentType3Code"/>
262 <xs:element name="Prtry" type="Max35Text"/>
263 </xs:choice>
264 </xs:sequence>
265 </xs:complexType>
266 <xs:complexType name="CreditorReferenceType2">
267 <xs:sequence>
268 <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
269 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
270 </xs:sequence>
271 </xs:complexType>
272 <xs:complexType name="CustomerCreditTransferInitiationV04">
273 <xs:sequence>
274 <xs:element name="GrpHdr" type="GroupHeader48"/>
275 <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction6"/>
276 <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
277 </xs:sequence>
278 </xs:complexType>
279 <xs:complexType name="DateAndPlaceOfBirth">
280 <xs:sequence>
281 <xs:element name="BirthDt" type="ISODate"/>
282 <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
283 <xs:element name="CityOfBirth" type="Max35Text"/>
284 <xs:element name="CtryOfBirth" type="CountryCode"/>
285 </xs:sequence>
286 </xs:complexType>
287 <xs:complexType name="DatePeriodDetails">
288 <xs:sequence>
289 <xs:element name="FrDt" type="ISODate"/>
290 <xs:element name="ToDt" type="ISODate"/>
291 </xs:sequence>
292 </xs:complexType>
293 <xs:simpleType name="DecimalNumber">
294 <xs:restriction base="xs:decimal">
295 <xs:fractionDigits value="17"/>
296 <xs:totalDigits value="18"/>
297 </xs:restriction>
298 </xs:simpleType>
299 <xs:complexType name="DiscountAmountAndType1">
300 <xs:sequence>
301 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
302 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
303 </xs:sequence>
304 </xs:complexType>
305 <xs:complexType name="DiscountAmountType1Choice">
306 <xs:sequence>
307 <xs:choice>
308 <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
309 <xs:element name="Prtry" type="Max35Text"/>
310 </xs:choice>
311 </xs:sequence>
312 </xs:complexType>
313 <xs:complexType name="Document">
314 <xs:sequence>
315 <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV04"/>
316 </xs:sequence>
317 </xs:complexType>
318 <xs:complexType name="DocumentAdjustment1">
319 <xs:sequence>
320 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
321 <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
322 <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
323 <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
324 </xs:sequence>
325 </xs:complexType>
326 <xs:simpleType name="DocumentType3Code">
327 <xs:restriction base="xs:string">
328 <xs:enumeration value="RADM"/>
329 <xs:enumeration value="RPIN"/>
330 <xs:enumeration value="FXDR"/>
331 <xs:enumeration value="DISP"/>
332 <xs:enumeration value="PUOR"/>
333 <xs:enumeration value="SCOR"/>
334 </xs:restriction>
335 </xs:simpleType>
336 <xs:simpleType name="DocumentType5Code">
337 <xs:restriction base="xs:string">
338 <xs:enumeration value="MSIN"/>
339 <xs:enumeration value="CNFA"/>
340 <xs:enumeration value="DNFA"/>
341 <xs:enumeration value="CINV"/>
342 <xs:enumeration value="CREN"/>
343 <xs:enumeration value="DEBN"/>
344 <xs:enumeration value="HIRI"/>
345 <xs:enumeration value="SBIN"/>
346 <xs:enumeration value="CMCN"/>
347 <xs:enumeration value="SOAC"/>
348 <xs:enumeration value="DISP"/>
349 <xs:enumeration value="BOLD"/>
350 <xs:enumeration value="VCHR"/>
351 <xs:enumeration value="AROI"/>
352 <xs:enumeration value="TSUT"/>
353 </xs:restriction>
354 </xs:simpleType>
355 <xs:complexType name="EquivalentAmount2">
356 <xs:sequence>
357 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
358 <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
359 </xs:sequence>
360 </xs:complexType>
361 <xs:complexType name="ExchangeRate1">
362 <xs:sequence>
363 <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/>
364 <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
365 <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
366 <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
367 </xs:sequence>
368 </xs:complexType>
369 <xs:simpleType name="ExchangeRateType1Code">
370 <xs:restriction base="xs:string">
371 <xs:enumeration value="SPOT"/>
372 <xs:enumeration value="SALE"/>
373 <xs:enumeration value="AGRD"/>
374 </xs:restriction>
375 </xs:simpleType>
376 <xs:simpleType name="ExternalAccountIdentification1Code">
377 <xs:restriction base="xs:string">
378 <xs:minLength value="1"/>
379 <xs:maxLength value="4"/>
380 </xs:restriction>
381 </xs:simpleType>
382 <xs:simpleType name="ExternalCashAccountType1Code">
383 <xs:restriction base="xs:string">
384 <xs:minLength value="1"/>
385 <xs:maxLength value="4"/>
386 </xs:restriction>
387 </xs:simpleType>
388 <xs:simpleType name="ExternalCategoryPurpose1Code">
389 <xs:restriction base="xs:string">
390 <xs:minLength value="1"/>
391 <xs:maxLength value="4"/>
392 </xs:restriction>
393 </xs:simpleType>
394 <xs:simpleType name="ExternalClearingSystemIdentification1Code">
395 <xs:restriction base="xs:string">
396 <xs:minLength value="1"/>
397 <xs:maxLength value="5"/>
398 </xs:restriction>
399 </xs:simpleType>
400 <xs:simpleType name="ExternalDiscountAmountType1Code">
401 <xs:restriction base="xs:string">
402 <xs:minLength value="1"/>
403 <xs:maxLength value="4"/>
404 </xs:restriction>
405 </xs:simpleType>
406 <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
407 <xs:restriction base="xs:string">
408 <xs:minLength value="1"/>
409 <xs:maxLength value="4"/>
410 </xs:restriction>
411 </xs:simpleType>
412 <xs:simpleType name="ExternalLocalInstrument1Code">
413 <xs:restriction base="xs:string">
414 <xs:minLength value="1"/>
415 <xs:maxLength value="35"/>
416 </xs:restriction>
417 </xs:simpleType>
418 <xs:simpleType name="ExternalOrganisationIdentification1Code">
419 <xs:restriction base="xs:string">
420 <xs:minLength value="1"/>
421 <xs:maxLength value="4"/>
422 </xs:restriction>
423 </xs:simpleType>
424 <xs:simpleType name="ExternalPersonIdentification1Code">
425 <xs:restriction base="xs:string">
426 <xs:minLength value="1"/>
427 <xs:maxLength value="4"/>
428 </xs:restriction>
429 </xs:simpleType>
430 <xs:simpleType name="ExternalPurpose1Code">
431 <xs:restriction base="xs:string">
432 <xs:minLength value="1"/>
433 <xs:maxLength value="4"/>
434 </xs:restriction>
435 </xs:simpleType>
436 <xs:simpleType name="ExternalServiceLevel1Code">
437 <xs:restriction base="xs:string">
438 <xs:minLength value="1"/>
439 <xs:maxLength value="4"/>
440 </xs:restriction>
441 </xs:simpleType>
442 <xs:simpleType name="ExternalTaxAmountType1Code">
443 <xs:restriction base="xs:string">
444 <xs:minLength value="1"/>
445 <xs:maxLength value="4"/>
446 </xs:restriction>
447 </xs:simpleType>
448 <xs:complexType name="FinancialIdentificationSchemeName1Choice">
449 <xs:sequence>
450 <xs:choice>
451 <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
452 <xs:element name="Prtry" type="Max35Text"/>
453 </xs:choice>
454 </xs:sequence>
455 </xs:complexType>
456 <xs:complexType name="FinancialInstitutionIdentification8">
457 <xs:sequence>
458 <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
459 <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
460 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
461 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
462 <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
463 </xs:sequence>
464 </xs:complexType>
465 <xs:complexType name="GenericAccountIdentification1">
466 <xs:sequence>
467 <xs:element name="Id" type="Max34Text"/>
468 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
469 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
470 </xs:sequence>
471 </xs:complexType>
472 <xs:complexType name="GenericFinancialIdentification1">
473 <xs:sequence>
474 <xs:element name="Id" type="Max35Text"/>
475 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
476 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
477 </xs:sequence>
478 </xs:complexType>
479 <xs:complexType name="GenericOrganisationIdentification1">
480 <xs:sequence>
481 <xs:element name="Id" type="Max35Text"/>
482 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
483 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
484 </xs:sequence>
485 </xs:complexType>
486 <xs:complexType name="GenericPersonIdentification1">
487 <xs:sequence>
488 <xs:element name="Id" type="Max35Text"/>
489 <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
490 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
491 </xs:sequence>
492 </xs:complexType>
493 <xs:complexType name="GroupHeader48">
494 <xs:sequence>
495 <xs:element name="MsgId" type="Max35Text"/>
496 <xs:element name="CreDtTm" type="ISODateTime"/>
497 <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
498 <xs:element name="NbOfTxs" type="Max15NumericText"/>
499 <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
500 <xs:element name="InitgPty" type="PartyIdentification43"/>
501 <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/>
502 </xs:sequence>
503 </xs:complexType>
504 <xs:simpleType name="IBAN2007Identifier">
505 <xs:restriction base="xs:string">
506 <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
507 </xs:restriction>
508 </xs:simpleType>
509 <xs:simpleType name="ISODate">
510 <xs:restriction base="xs:date"/>
511 </xs:simpleType>
512 <xs:simpleType name="ISODateTime">
513 <xs:restriction base="xs:dateTime"/>
514 </xs:simpleType>
515 <xs:simpleType name="Instruction3Code">
516 <xs:restriction base="xs:string">
517 <xs:enumeration value="CHQB"/>
518 <xs:enumeration value="HOLD"/>
519 <xs:enumeration value="PHOB"/>
520 <xs:enumeration value="TELB"/>
521 </xs:restriction>
522 </xs:simpleType>
523 <xs:complexType name="InstructionForCreditorAgent1">
524 <xs:sequence>
525 <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
526 <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
527 </xs:sequence>
528 </xs:complexType>
529 <xs:complexType name="LocalInstrument2Choice">
530 <xs:sequence>
531 <xs:choice>
532 <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
533 <xs:element name="Prtry" type="Max35Text"/>
534 </xs:choice>
535 </xs:sequence>
536 </xs:complexType>
537 <xs:simpleType name="Max10Text">
538 <xs:restriction base="xs:string">
539 <xs:minLength value="1"/>
540 <xs:maxLength value="10"/>
541 </xs:restriction>
542 </xs:simpleType>
543 <xs:simpleType name="Max128Text">
544 <xs:restriction base="xs:string">
545 <xs:minLength value="1"/>
546 <xs:maxLength value="128"/>
547 </xs:restriction>
548 </xs:simpleType>
549 <xs:simpleType name="Max140Text">
550 <xs:restriction base="xs:string">
551 <xs:minLength value="1"/>
552 <xs:maxLength value="140"/>
553 </xs:restriction>
554 </xs:simpleType>
555 <xs:simpleType name="Max15NumericText">
556 <xs:restriction base="xs:string">
557 <xs:pattern value="[0-9]{1,15}"/>
558 </xs:restriction>
559 </xs:simpleType>
560 <xs:simpleType name="Max16Text">
561 <xs:restriction base="xs:string">
562 <xs:minLength value="1"/>
563 <xs:maxLength value="16"/>
564 </xs:restriction>
565 </xs:simpleType>
566 <xs:simpleType name="Max2048Text">
567 <xs:restriction base="xs:string">
568 <xs:minLength value="1"/>
569 <xs:maxLength value="2048"/>
570 </xs:restriction>
571 </xs:simpleType>
572 <xs:simpleType name="Max34Text">
573 <xs:restriction base="xs:string">
574 <xs:minLength value="1"/>
575 <xs:maxLength value="34"/>
576 </xs:restriction>
577 </xs:simpleType>
578 <xs:simpleType name="Max350Text">
579 <xs:restriction base="xs:string">
580 <xs:minLength value="1"/>
581 <xs:maxLength value="350"/>
582 </xs:restriction>
583 </xs:simpleType>
584 <xs:simpleType name="Max35Text">
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="Max4Text">
591 <xs:restriction base="xs:string">
592 <xs:minLength value="1"/>
593 <xs:maxLength value="4"/>
594 </xs:restriction>
595 </xs:simpleType>
596 <xs:simpleType name="Max70Text">
597 <xs:restriction base="xs:string">
598 <xs:minLength value="1"/>
599 <xs:maxLength value="70"/>
600 </xs:restriction>
601 </xs:simpleType>
602 <xs:complexType name="NameAndAddress10">
603 <xs:sequence>
604 <xs:element name="Nm" type="Max140Text"/>
605 <xs:element name="Adr" type="PostalAddress6"/>
606 </xs:sequence>
607 </xs:complexType>
608 <xs:simpleType name="NamePrefix1Code">
609 <xs:restriction base="xs:string">
610 <xs:enumeration value="DOCT"/>
611 <xs:enumeration value="MIST"/>
612 <xs:enumeration value="MISS"/>
613 <xs:enumeration value="MADM"/>
614 </xs:restriction>
615 </xs:simpleType>
616 <xs:simpleType name="Number">
617 <xs:restriction base="xs:decimal">
618 <xs:fractionDigits value="0"/>
619 <xs:totalDigits value="18"/>
620 </xs:restriction>
621 </xs:simpleType>
622 <xs:complexType name="OrganisationIdentification8">
623 <xs:sequence>
624 <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
625 <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
626 </xs:sequence>
627 </xs:complexType>
628 <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
629 <xs:sequence>
630 <xs:choice>
631 <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
632 <xs:element name="Prtry" type="Max35Text"/>
633 </xs:choice>
634 </xs:sequence>
635 </xs:complexType>
636 <xs:complexType name="Party11Choice">
637 <xs:sequence>
638 <xs:choice>
639 <xs:element name="OrgId" type="OrganisationIdentification8"/>
640 <xs:element name="PrvtId" type="PersonIdentification5"/>
641 </xs:choice>
642 </xs:sequence>
643 </xs:complexType>
644 <xs:complexType name="PartyIdentification43">
645 <xs:sequence>
646 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
647 <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
648 <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/>
649 <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
650 <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
651 </xs:sequence>
652 </xs:complexType>
653 <xs:complexType name="PaymentIdentification1">
654 <xs:sequence>
655 <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
656 <xs:element name="EndToEndId" type="Max35Text"/>
657 </xs:sequence>
658 </xs:complexType>
659 <xs:complexType name="PaymentInstruction6">
660 <xs:sequence>
661 <xs:element name="PmtInfId" type="Max35Text"/>
662 <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
663 <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
664 <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
665 <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
666 <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
667 <xs:element name="ReqdExctnDt" type="ISODate"/>
668 <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
669 <xs:element name="Dbtr" type="PartyIdentification43"/>
670 <xs:element name="DbtrAcct" type="CashAccount24"/>
671 <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
672 <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/>
673 <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
674 <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
675 <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
676 <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/>
677 <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/>
678 <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction1"/>
679 </xs:sequence>
680 </xs:complexType>
681 <xs:simpleType name="PaymentMethod3Code">
682 <xs:restriction base="xs:string">
683 <xs:enumeration value="CHK"/>
684 <xs:enumeration value="TRF"/>
685 <xs:enumeration value="TRA"/>
686 </xs:restriction>
687 </xs:simpleType>
688 <xs:complexType name="PaymentTypeInformation19">
689 <xs:sequence>
690 <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
691 <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
692 <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
693 <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
694 </xs:sequence>
695 </xs:complexType>
696 <xs:simpleType name="PercentageRate">
697 <xs:restriction base="xs:decimal">
698 <xs:fractionDigits value="10"/>
699 <xs:totalDigits value="11"/>
700 </xs:restriction>
701 </xs:simpleType>
702 <xs:complexType name="PersonIdentification5">
703 <xs:sequence>
704 <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
705 <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
706 </xs:sequence>
707 </xs:complexType>
708 <xs:complexType name="PersonIdentificationSchemeName1Choice">
709 <xs:sequence>
710 <xs:choice>
711 <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
712 <xs:element name="Prtry" type="Max35Text"/>
713 </xs:choice>
714 </xs:sequence>
715 </xs:complexType>
716 <xs:simpleType name="PhoneNumber">
717 <xs:restriction base="xs:string">
718 <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
719 </xs:restriction>
720 </xs:simpleType>
721 <xs:complexType name="PostalAddress6">
722 <xs:sequence>
723 <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
724 <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
725 <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
726 <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
727 <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
728 <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
729 <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
730 <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
731 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
732 <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
733 </xs:sequence>
734 </xs:complexType>
735 <xs:simpleType name="Priority2Code">
736 <xs:restriction base="xs:string">
737 <xs:enumeration value="HIGH"/>
738 <xs:enumeration value="NORM"/>
739 </xs:restriction>
740 </xs:simpleType>
741 <xs:complexType name="Purpose2Choice">
742 <xs:sequence>
743 <xs:choice>
744 <xs:element name="Cd" type="ExternalPurpose1Code"/>
745 <xs:element name="Prtry" type="Max35Text"/>
746 </xs:choice>
747 </xs:sequence>
748 </xs:complexType>
749 <xs:complexType name="ReferredDocumentInformation3">
750 <xs:sequence>
751 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
752 <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
753 <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
754 </xs:sequence>
755 </xs:complexType>
756 <xs:complexType name="ReferredDocumentType1Choice">
757 <xs:sequence>
758 <xs:choice>
759 <xs:element name="Cd" type="DocumentType5Code"/>
760 <xs:element name="Prtry" type="Max35Text"/>
761 </xs:choice>
762 </xs:sequence>
763 </xs:complexType>
764 <xs:complexType name="ReferredDocumentType2">
765 <xs:sequence>
766 <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
767 <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
768 </xs:sequence>
769 </xs:complexType>
770 <xs:complexType name="RegulatoryAuthority2">
771 <xs:sequence>
772 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
773 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
774 </xs:sequence>
775 </xs:complexType>
776 <xs:complexType name="RegulatoryReporting3">
777 <xs:sequence>
778 <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
779 <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
780 <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
781 </xs:sequence>
782 </xs:complexType>
783 <xs:simpleType name="RegulatoryReportingType1Code">
784 <xs:restriction base="xs:string">
785 <xs:enumeration value="CRED"/>
786 <xs:enumeration value="DEBT"/>
787 <xs:enumeration value="BOTH"/>
788 </xs:restriction>
789 </xs:simpleType>
790 <xs:complexType name="RemittanceAmount2">
791 <xs:sequence>
792 <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
793 <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
794 <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
795 <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
796 <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
797 <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
798 </xs:sequence>
799 </xs:complexType>
800 <xs:complexType name="RemittanceInformation7">
801 <xs:sequence>
802 <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
803 <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/>
804 </xs:sequence>
805 </xs:complexType>
806 <xs:complexType name="RemittanceLocation2">
807 <xs:sequence>
808 <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
809 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
810 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
811 <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
812 </xs:sequence>
813 </xs:complexType>
814 <xs:simpleType name="RemittanceLocationMethod2Code">
815 <xs:restriction base="xs:string">
816 <xs:enumeration value="FAXI"/>
817 <xs:enumeration value="EDIC"/>
818 <xs:enumeration value="URID"/>
819 <xs:enumeration value="EMAL"/>
820 <xs:enumeration value="POST"/>
821 <xs:enumeration value="SMSM"/>
822 </xs:restriction>
823 </xs:simpleType>
824 <xs:complexType name="ServiceLevel8Choice">
825 <xs:sequence>
826 <xs:choice>
827 <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
828 <xs:element name="Prtry" type="Max35Text"/>
829 </xs:choice>
830 </xs:sequence>
831 </xs:complexType>
832 <xs:complexType name="StructuredRegulatoryReporting3">
833 <xs:sequence>
834 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
835 <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
836 <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
837 <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
838 <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
839 <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
840 </xs:sequence>
841 </xs:complexType>
842 <xs:complexType name="StructuredRemittanceInformation9">
843 <xs:sequence>
844 <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
845 <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
846 <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
847 <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/>
848 <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/>
849 <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
850 </xs:sequence>
851 </xs:complexType>
852 <xs:complexType name="SupplementaryData1">
853 <xs:sequence>
854 <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
855 <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
856 </xs:sequence>
857 </xs:complexType>
858 <xs:complexType name="SupplementaryDataEnvelope1">
859 <xs:sequence>
860 <xs:any namespace="##any" processContents="lax"/>
861 </xs:sequence>
862 </xs:complexType>
863 <xs:complexType name="TaxAmount1">
864 <xs:sequence>
865 <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
866 <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
867 <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
868 <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
869 </xs:sequence>
870 </xs:complexType>
871 <xs:complexType name="TaxAmountAndType1">
872 <xs:sequence>
873 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
874 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
875 </xs:sequence>
876 </xs:complexType>
877 <xs:complexType name="TaxAmountType1Choice">
878 <xs:sequence>
879 <xs:choice>
880 <xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
881 <xs:element name="Prtry" type="Max35Text"/>
882 </xs:choice>
883 </xs:sequence>
884 </xs:complexType>
885 <xs:complexType name="TaxAuthorisation1">
886 <xs:sequence>
887 <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
888 <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
889 </xs:sequence>
890 </xs:complexType>
891 <xs:complexType name="TaxInformation3">
892 <xs:sequence>
893 <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
894 <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
895 <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
896 <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
897 <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
898 <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
899 <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
900 <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
901 <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
902 <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
903 </xs:sequence>
904 </xs:complexType>
905 <xs:complexType name="TaxParty1">
906 <xs:sequence>
907 <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
908 <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
909 <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
910 </xs:sequence>
911 </xs:complexType>
912 <xs:complexType name="TaxParty2">
913 <xs:sequence>
914 <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
915 <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
916 <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
917 <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
918 </xs:sequence>
919 </xs:complexType>
920 <xs:complexType name="TaxPeriod1">
921 <xs:sequence>
922 <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
923 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
924 <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
925 </xs:sequence>
926 </xs:complexType>
927 <xs:complexType name="TaxRecord1">
928 <xs:sequence>
929 <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
930 <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
931 <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
932 <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
933 <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
934 <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
935 <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
936 <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
937 <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
938 </xs:sequence>
939 </xs:complexType>
940 <xs:complexType name="TaxRecordDetails1">
941 <xs:sequence>
942 <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
943 <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
944 </xs:sequence>
945 </xs:complexType>
946 <xs:simpleType name="TaxRecordPeriod1Code">
947 <xs:restriction base="xs:string">
948 <xs:enumeration value="MM01"/>
949 <xs:enumeration value="MM02"/>
950 <xs:enumeration value="MM03"/>
951 <xs:enumeration value="MM04"/>
952 <xs:enumeration value="MM05"/>
953 <xs:enumeration value="MM06"/>
954 <xs:enumeration value="MM07"/>
955 <xs:enumeration value="MM08"/>
956 <xs:enumeration value="MM09"/>
957 <xs:enumeration value="MM10"/>
958 <xs:enumeration value="MM11"/>
959 <xs:enumeration value="MM12"/>
960 <xs:enumeration value="QTR1"/>
961 <xs:enumeration value="QTR2"/>
962 <xs:enumeration value="QTR3"/>
963 <xs:enumeration value="QTR4"/>
964 <xs:enumeration value="HLF1"/>
965 <xs:enumeration value="HLF2"/>
966 </xs:restriction>
967 </xs:simpleType>
968</xs:schema>
0\ No newline at end of file969\ No newline at end of file
1970
=== added file 'account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml'
--- account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/data/payment_type_sepa_sct.xml 2013-06-06 08:07:29 +0000
@@ -0,0 +1,33 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3<data noupdate="1">
4
5
6<!-- TODO In the suitable_bank_types field, we should restrict to IBAN type and Rib+IBAN of l10n_fr_rib ? -->
7<record id="export_sepa_sct_001_001_04" model="payment.mode.type">
8 <field name="name">SEPA Credit Transfer v04</field>
9 <field name="code">pain.001.001.04</field>
10 <field name="suitable_bank_types"></field>
11 <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
12 <field name="payment_order_type">payment</field>
13</record>
14
15<record id="export_sepa_sct_001_001_03" model="payment.mode.type">
16 <field name="name">SEPA Credit Transfer v03</field>
17 <field name="code">pain.001.001.03</field>
18 <field name="suitable_bank_types"></field>
19 <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
20 <field name="payment_order_type">payment</field>
21</record>
22
23<record id="export_sepa_sct_001_001_02" model="payment.mode.type">
24 <field name="name">SEPA Credit Transfer v02</field>
25 <field name="code">pain.001.001.02</field>
26 <field name="suitable_bank_types"></field>
27 <field name="ir_model_id" ref="model_banking_export_sepa_wizard"/>
28 <field name="payment_order_type">payment</field>
29</record>
30
31
32</data>
33</openerp>
034
=== added directory 'account_banking_sepa_credit_transfer/i18n'
=== added file 'account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot'
--- account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/i18n/account_banking_sepa_credit_transfer.pot 2013-06-06 08:07:29 +0000
@@ -0,0 +1,251 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * account_banking_sepa_credit_transfer
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 6.1\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-06-06 08:01+0000\n"
10"PO-Revision-Date: 2013-06-06 08:01+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: account_banking_sepa_credit_transfer
19#: field:banking.export.sepa,file:0
20#: field:banking.export.sepa.wizard,file_id:0
21msgid "SEPA XML file"
22msgstr ""
23
24#. module: account_banking_sepa_credit_transfer
25#: view:banking.export.sepa:0
26msgid "Payment order"
27msgstr ""
28
29#. module: account_banking_sepa_credit_transfer
30#: selection:banking.export.sepa.wizard,state:0
31msgid "Create"
32msgstr ""
33
34#. module: account_banking_sepa_credit_transfer
35#: help:banking.export.sepa.wizard,msg_identification:0
36msgid "This is the message identification of the entire SEPA XML file. 35 characters max."
37msgstr ""
38
39#. module: account_banking_sepa_credit_transfer
40#: field:banking.export.sepa,filename:0
41#: field:banking.export.sepa.wizard,filename:0
42msgid "Filename"
43msgstr ""
44
45#. module: account_banking_sepa_credit_transfer
46#: view:banking.export.sepa:0
47msgid "General information"
48msgstr ""
49
50#. module: account_banking_sepa_credit_transfer
51#: field:banking.export.sepa,state:0
52#: field:banking.export.sepa.wizard,state:0
53msgid "State"
54msgstr ""
55
56#. module: account_banking_sepa_credit_transfer
57#: selection:banking.export.sepa,state:0
58msgid "Draft"
59msgstr ""
60
61#. module: account_banking_sepa_credit_transfer
62#: field:banking.export.sepa,prefered_exec_date:0
63#: field:banking.export.sepa.wizard,prefered_exec_date:0
64msgid "Prefered execution date"
65msgstr ""
66
67#. module: account_banking_sepa_credit_transfer
68#: selection:banking.export.sepa,charge_bearer:0
69#: selection:banking.export.sepa.wizard,charge_bearer:0
70msgid "Shared"
71msgstr ""
72
73#. module: account_banking_sepa_credit_transfer
74#: field:banking.export.sepa,generation_date:0
75msgid "Generation date"
76msgstr ""
77
78#. module: account_banking_sepa_credit_transfer
79#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard
80msgid "Export SEPA Credit Transfer XML file"
81msgstr ""
82
83#. module: account_banking_sepa_credit_transfer
84#: view:banking.export.sepa:0
85msgid "SEPA Credit Transfer"
86msgstr ""
87
88#. module: account_banking_sepa_credit_transfer
89#: selection:banking.export.sepa.wizard,state:0
90msgid "Finish"
91msgstr ""
92
93#. module: account_banking_sepa_credit_transfer
94#: selection:banking.export.sepa,state:0
95msgid "Reconciled"
96msgstr ""
97
98#. module: account_banking_sepa_credit_transfer
99#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.act_banking_export_sepa_payment_order
100msgid "Generated SEPA files"
101msgstr ""
102
103#. module: account_banking_sepa_credit_transfer
104#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.action_account_banking_sepa
105#: model:ir.ui.menu,name:account_banking_sepa_credit_transfer.menu_account_banking_sepa
106msgid "Generated SEPA XML files"
107msgstr ""
108
109#. module: account_banking_sepa_credit_transfer
110#: selection:banking.export.sepa,state:0
111msgid "Sent"
112msgstr ""
113
114#. module: account_banking_sepa_credit_transfer
115#: view:banking.export.sepa.wizard:0
116msgid "Validate"
117msgstr ""
118
119#. module: account_banking_sepa_credit_transfer
120#: view:banking.export.sepa.wizard:0
121msgid "Generate"
122msgstr ""
123
124#. module: account_banking_sepa_credit_transfer
125#: field:banking.export.sepa,msg_identification:0
126#: field:banking.export.sepa.wizard,msg_identification:0
127msgid "Message identification"
128msgstr ""
129
130#. module: account_banking_sepa_credit_transfer
131#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
132#, python-format
133msgid "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"
134msgstr ""
135
136#. module: account_banking_sepa_credit_transfer
137#: field:banking.export.sepa,total_amount:0
138#: field:banking.export.sepa.wizard,total_amount:0
139msgid "Total amount"
140msgstr ""
141
142#. module: account_banking_sepa_credit_transfer
143#: help:banking.export.sepa,charge_bearer:0
144#: help:banking.export.sepa.wizard,charge_bearer:0
145msgid "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."
146msgstr ""
147
148#. module: account_banking_sepa_credit_transfer
149#: selection:banking.export.sepa,charge_bearer:0
150#: selection:banking.export.sepa.wizard,charge_bearer:0
151msgid "Borne by creditor"
152msgstr ""
153
154#. module: account_banking_sepa_credit_transfer
155#: view:banking.export.sepa:0
156#: field:banking.export.sepa,payment_order_ids:0
157#: field:banking.export.sepa.wizard,payment_order_ids:0
158msgid "Payment orders"
159msgstr ""
160
161#. module: account_banking_sepa_credit_transfer
162#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
163#, python-format
164msgid "This IBAN is not valid : %s"
165msgstr ""
166
167#. module: account_banking_sepa_credit_transfer
168#: view:banking.export.sepa.wizard:0
169msgid "SEPA XML file generation"
170msgstr ""
171
172#. module: account_banking_sepa_credit_transfer
173#: view:banking.export.sepa.wizard:0
174msgid "Reference for further communication"
175msgstr ""
176
177#. module: account_banking_sepa_credit_transfer
178#: view:banking.export.sepa.wizard:0
179msgid "Processing details"
180msgstr ""
181
182#. module: account_banking_sepa_credit_transfer
183#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa
184msgid "SEPA export"
185msgstr ""
186
187#. module: account_banking_sepa_credit_transfer
188#: selection:banking.export.sepa,charge_bearer:0
189#: selection:banking.export.sepa.wizard,charge_bearer:0
190msgid "Borne by debtor"
191msgstr ""
192
193#. module: account_banking_sepa_credit_transfer
194#: field:banking.export.sepa,nb_transactions:0
195#: field:banking.export.sepa.wizard,nb_transactions:0
196msgid "Number of transactions"
197msgstr ""
198
199#. module: account_banking_sepa_credit_transfer
200#: selection:banking.export.sepa,charge_bearer:0
201#: selection:banking.export.sepa.wizard,charge_bearer:0
202msgid "Following service level"
203msgstr ""
204
205#. module: account_banking_sepa_credit_transfer
206#: field:banking.export.sepa,charge_bearer:0
207#: field:banking.export.sepa.wizard,charge_bearer:0
208msgid "Charge bearer"
209msgstr ""
210
211#. module: account_banking_sepa_credit_transfer
212#: help:banking.export.sepa,batch_booking:0
213#: help:banking.export.sepa.wizard,batch_booking:0
214msgid "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."
215msgstr ""
216
217#. module: account_banking_sepa_credit_transfer
218#: help:banking.export.sepa.wizard,prefered_exec_date:0
219msgid "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."
220msgstr ""
221
222#. module: account_banking_sepa_credit_transfer
223#: field:banking.export.sepa.wizard,file:0
224msgid "File"
225msgstr ""
226
227#. module: account_banking_sepa_credit_transfer
228#: view:banking.export.sepa.wizard:0
229msgid "Cancel"
230msgstr ""
231
232#. module: account_banking_sepa_credit_transfer
233#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
234#, python-format
235msgid "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'."
236msgstr ""
237
238#. module: account_banking_sepa_credit_transfer
239#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
240#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
241#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
242#, python-format
243msgid "Error :"
244msgstr ""
245
246#. module: account_banking_sepa_credit_transfer
247#: field:banking.export.sepa,batch_booking:0
248#: field:banking.export.sepa.wizard,batch_booking:0
249msgid "Batch booking"
250msgstr ""
251
0252
=== added file 'account_banking_sepa_credit_transfer/i18n/fr.po'
--- account_banking_sepa_credit_transfer/i18n/fr.po 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/i18n/fr.po 2013-06-06 08:07:29 +0000
@@ -0,0 +1,251 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * account_banking_sepa_credit_transfer
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 6.1\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-06-06 08:01+0000\n"
10"PO-Revision-Date: 2013-06-06 08:01+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: account_banking_sepa_credit_transfer
19#: field:banking.export.sepa,file:0
20#: field:banking.export.sepa.wizard,file_id:0
21msgid "SEPA XML file"
22msgstr "Fichier SEPA XML"
23
24#. module: account_banking_sepa_credit_transfer
25#: view:banking.export.sepa:0
26msgid "Payment order"
27msgstr "Ordre de paiement"
28
29#. module: account_banking_sepa_credit_transfer
30#: selection:banking.export.sepa.wizard,state:0
31msgid "Create"
32msgstr "Créer"
33
34#. module: account_banking_sepa_credit_transfer
35#: help:banking.export.sepa.wizard,msg_identification:0
36msgid "This is the message identification of the entire SEPA XML file. 35 characters max."
37msgstr "Ceci est le libellé d'identification du fichier SEPA XML. 35 caractères maximum."
38
39#. module: account_banking_sepa_credit_transfer
40#: field:banking.export.sepa,filename:0
41#: field:banking.export.sepa.wizard,filename:0
42msgid "Filename"
43msgstr "Nom du fichier"
44
45#. module: account_banking_sepa_credit_transfer
46#: view:banking.export.sepa:0
47msgid "General information"
48msgstr "Informations générales"
49
50#. module: account_banking_sepa_credit_transfer
51#: field:banking.export.sepa,state:0
52#: field:banking.export.sepa.wizard,state:0
53msgid "State"
54msgstr "État"
55
56#. module: account_banking_sepa_credit_transfer
57#: selection:banking.export.sepa,state:0
58msgid "Draft"
59msgstr "Brouillon"
60
61#. module: account_banking_sepa_credit_transfer
62#: field:banking.export.sepa,prefered_exec_date:0
63#: field:banking.export.sepa.wizard,prefered_exec_date:0
64msgid "Prefered execution date"
65msgstr "Date d'exécution demandée"
66
67#. module: account_banking_sepa_credit_transfer
68#: selection:banking.export.sepa,charge_bearer:0
69#: selection:banking.export.sepa.wizard,charge_bearer:0
70msgid "Shared"
71msgstr "Partagé"
72
73#. module: account_banking_sepa_credit_transfer
74#: field:banking.export.sepa,generation_date:0
75msgid "Generation date"
76msgstr "Date de génération"
77
78#. module: account_banking_sepa_credit_transfer
79#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa_wizard
80msgid "Export SEPA Credit Transfer XML file"
81msgstr "Exporte the fichier de virement SEPA XML"
82
83#. module: account_banking_sepa_credit_transfer
84#: view:banking.export.sepa:0
85msgid "SEPA Credit Transfer"
86msgstr "Virement SEPA"
87
88#. module: account_banking_sepa_credit_transfer
89#: selection:banking.export.sepa.wizard,state:0
90msgid "Finish"
91msgstr "Finir"
92
93#. module: account_banking_sepa_credit_transfer
94#: selection:banking.export.sepa,state:0
95msgid "Reconciled"
96msgstr "Réconcilié"
97
98#. module: account_banking_sepa_credit_transfer
99#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.act_banking_export_sepa_payment_order
100msgid "Generated SEPA files"
101msgstr "Fichiers SEPA générés"
102
103#. module: account_banking_sepa_credit_transfer
104#: model:ir.actions.act_window,name:account_banking_sepa_credit_transfer.action_account_banking_sepa
105#: model:ir.ui.menu,name:account_banking_sepa_credit_transfer.menu_account_banking_sepa
106msgid "Generated SEPA XML files"
107msgstr "Fichiers SEPA XML générés"
108
109#. module: account_banking_sepa_credit_transfer
110#: selection:banking.export.sepa,state:0
111msgid "Sent"
112msgstr "Envoyé"
113
114#. module: account_banking_sepa_credit_transfer
115#: view:banking.export.sepa.wizard:0
116msgid "Validate"
117msgstr "Valider"
118
119#. module: account_banking_sepa_credit_transfer
120#: view:banking.export.sepa.wizard:0
121msgid "Generate"
122msgstr "Générer"
123
124#. module: account_banking_sepa_credit_transfer
125#: field:banking.export.sepa,msg_identification:0
126#: field:banking.export.sepa.wizard,msg_identification:0
127msgid "Message identification"
128msgstr "Libellé d'identification"
129
130#. module: account_banking_sepa_credit_transfer
131#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
132#, python-format
133msgid "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"
134msgstr "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"
135
136#. module: account_banking_sepa_credit_transfer
137#: field:banking.export.sepa,total_amount:0
138#: field:banking.export.sepa.wizard,total_amount:0
139msgid "Total amount"
140msgstr "Montant total"
141
142#. module: account_banking_sepa_credit_transfer
143#: help:banking.export.sepa,charge_bearer:0
144#: help:banking.export.sepa.wizard,charge_bearer:0
145msgid "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."
146msgstr "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."
147
148#. module: account_banking_sepa_credit_transfer
149#: selection:banking.export.sepa,charge_bearer:0
150#: selection:banking.export.sepa.wizard,charge_bearer:0
151msgid "Borne by creditor"
152msgstr "Supportés par le destinataire"
153
154#. module: account_banking_sepa_credit_transfer
155#: view:banking.export.sepa:0
156#: field:banking.export.sepa,payment_order_ids:0
157#: field:banking.export.sepa.wizard,payment_order_ids:0
158msgid "Payment orders"
159msgstr "Ordres de paiement"
160
161#. module: account_banking_sepa_credit_transfer
162#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
163#, python-format
164msgid "This IBAN is not valid : %s"
165msgstr "Cet IBAN n'est pas valide : %s"
166
167#. module: account_banking_sepa_credit_transfer
168#: view:banking.export.sepa.wizard:0
169msgid "SEPA XML file generation"
170msgstr "Génération du fichier SEPA XML"
171
172#. module: account_banking_sepa_credit_transfer
173#: view:banking.export.sepa.wizard:0
174msgid "Reference for further communication"
175msgstr "Référence pour communication ultérieure"
176
177#. module: account_banking_sepa_credit_transfer
178#: view:banking.export.sepa.wizard:0
179msgid "Processing details"
180msgstr "Paramètres"
181
182#. module: account_banking_sepa_credit_transfer
183#: model:ir.model,name:account_banking_sepa_credit_transfer.model_banking_export_sepa
184msgid "SEPA export"
185msgstr "Export SEPA"
186
187#. module: account_banking_sepa_credit_transfer
188#: selection:banking.export.sepa,charge_bearer:0
189#: selection:banking.export.sepa.wizard,charge_bearer:0
190msgid "Borne by debtor"
191msgstr "Supportés par l'émetteur"
192
193#. module: account_banking_sepa_credit_transfer
194#: field:banking.export.sepa,nb_transactions:0
195#: field:banking.export.sepa.wizard,nb_transactions:0
196msgid "Number of transactions"
197msgstr "Nombre de transactions"
198
199#. module: account_banking_sepa_credit_transfer
200#: selection:banking.export.sepa,charge_bearer:0
201#: selection:banking.export.sepa.wizard,charge_bearer:0
202msgid "Following service level"
203msgstr "Suivant le niveau de service"
204
205#. module: account_banking_sepa_credit_transfer
206#: field:banking.export.sepa,charge_bearer:0
207#: field:banking.export.sepa.wizard,charge_bearer:0
208msgid "Charge bearer"
209msgstr "Répartition des frais"
210
211#. module: account_banking_sepa_credit_transfer
212#: help:banking.export.sepa,batch_booking:0
213#: help:banking.export.sepa.wizard,batch_booking:0
214msgid "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."
215msgstr "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."
216
217#. module: account_banking_sepa_credit_transfer
218#: help:banking.export.sepa.wizard,prefered_exec_date:0
219msgid "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."
220msgstr "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."
221
222#. module: account_banking_sepa_credit_transfer
223#: field:banking.export.sepa.wizard,file:0
224msgid "File"
225msgstr "Fichier"
226
227#. module: account_banking_sepa_credit_transfer
228#: view:banking.export.sepa.wizard:0
229msgid "Cancel"
230msgstr "Annuler"
231
232#. module: account_banking_sepa_credit_transfer
233#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
234#, python-format
235msgid "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'."
236msgstr "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'."
237
238#. module: account_banking_sepa_credit_transfer
239#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:90
240#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:135
241#: code:addons/account_banking_sepa_credit_transfer/wizard/export_sepa.py:284
242#, python-format
243msgid "Error :"
244msgstr "Erreur :"
245
246#. module: account_banking_sepa_credit_transfer
247#: field:banking.export.sepa,batch_booking:0
248#: field:banking.export.sepa.wizard,batch_booking:0
249msgid "Batch booking"
250msgstr "Débit groupé"
251
0252
=== added directory 'account_banking_sepa_credit_transfer/security'
=== added file 'account_banking_sepa_credit_transfer/security/ir.model.access.csv'
--- account_banking_sepa_credit_transfer/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/security/ir.model.access.csv 2013-06-06 08:07:29 +0000
@@ -0,0 +1,2 @@
1"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2"access_banking_export_sepa","Full access on banking.export.sepa","model_banking_export_sepa","account_payment.group_account_payment",1,1,1,1
03
=== added directory 'account_banking_sepa_credit_transfer/wizard'
=== added file 'account_banking_sepa_credit_transfer/wizard/__init__.py'
--- account_banking_sepa_credit_transfer/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/wizard/__init__.py 2013-06-06 08:07:29 +0000
@@ -0,0 +1,23 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# SEPA Credit Transfer module for OpenERP
5# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
6# @author: Alexis de Lattre <alexis.delattre@akretion.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import export_sepa
024
=== added file 'account_banking_sepa_credit_transfer/wizard/export_sepa.py'
--- account_banking_sepa_credit_transfer/wizard/export_sepa.py 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/wizard/export_sepa.py 2013-06-06 08:07:29 +0000
@@ -0,0 +1,341 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# SEPA Credit Transfer module for OpenERP
5# Copyright (C) 2010-2013 Akretion (http://www.akretion.com)
6# @author: Alexis de Lattre <alexis.delattre@akretion.com>
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23
24from osv import osv, fields
25import base64
26from datetime import datetime, timedelta
27from tools.translate import _
28import tools
29from lxml import etree
30import logging
31import netsvc
32
33_logger = logging.getLogger(__name__)
34
35
36class banking_export_sepa_wizard(osv.osv_memory):
37 _name = 'banking.export.sepa.wizard'
38 _description = 'Export SEPA Credit Transfer XML file'
39 _columns = {
40 'state': fields.selection([('create', 'Create'), ('finish', 'Finish')],
41 'State', readonly=True),
42 'msg_identification': fields.char('Message identification', size=35,
43 # Can't set required=True on the field because it blocks
44 # the launch of the wizard -> I set it as required in the view
45 help='This is the message identification of the entire SEPA XML file. 35 characters max.'),
46 'batch_booking': fields.boolean('Batch booking',
47 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."),
48 'prefered_exec_date': fields.date('Prefered execution date',
49 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.'),
50 'charge_bearer': fields.selection([
51 ('SHAR', 'Shared'),
52 ('CRED', 'Borne by creditor'),
53 ('DEBT', 'Borne by debtor'),
54 ('SLEV', 'Following service level'),
55 ], 'Charge bearer', required=True,
56 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.'),
57 'nb_transactions': fields.related('file_id', 'nb_transactions',
58 type='integer', string='Number of transactions', readonly=True),
59 'total_amount': fields.related('file_id', 'total_amount', type='float',
60 string='Total amount', readonly=True),
61 'file_id': fields.many2one('banking.export.sepa', 'SEPA XML file', readonly=True),
62 'file': fields.related('file_id', 'file', string="File", type='binary',
63 readonly=True),
64 'filename': fields.related('file_id', 'filename', string="Filename",
65 type='char', size=256, readonly=True),
66 'payment_order_ids': fields.many2many('payment.order',
67 'wiz_sepa_payorders_rel', 'wizard_id', 'payment_order_id',
68 'Payment orders', readonly=True),
69 }
70
71 _defaults = {
72 'charge_bearer': 'SLEV',
73 'state': 'create',
74 }
75
76
77 def _limit_size(self, cr, uid, field, max_size, context=None):
78 '''Limit size of strings to respect the PAIN standard'''
79 max_size = int(max_size)
80 return field[0:max_size]
81
82
83 def _validate_iban(self, cr, uid, iban, context=None):
84 '''if IBAN is valid, returns IBAN
85 if IBAN is NOT valid, raises an error message'''
86 partner_bank_obj = self.pool.get('res.partner.bank')
87 if partner_bank_obj.is_iban_valid(cr, uid, iban, context=context):
88 return iban.replace(' ', '')
89 else:
90 raise osv.except_osv(_('Error :'), _("This IBAN is not valid : %s") % iban)
91
92 def create(self, cr, uid, vals, context=None):
93 payment_order_ids = context.get('active_ids', [])
94 vals.update({
95 'payment_order_ids': [[6, 0, payment_order_ids]],
96 })
97 return super(banking_export_sepa_wizard, self).create(cr, uid,
98 vals, context=context)
99
100
101 def create_sepa(self, cr, uid, ids, context=None):
102 '''
103 Creates the SEPA Credit Transfer file. That's the important code !
104 '''
105 payment_order_obj = self.pool.get('payment.order')
106
107 sepa_export = self.browse(cr, uid, ids[0], context=context)
108
109 my_company_name = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.name
110 my_company_iban = self._validate_iban(cr, uid, sepa_export.payment_order_ids[0].mode.bank_id.iban, context=context)
111 my_company_bic = sepa_export.payment_order_ids[0].mode.bank_id.bank.bic
112 #my_company_country_code = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].country_id.code
113 #my_company_city = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].city
114 #my_company_street1 = sepa_export.payment_order_ids[0].mode.bank_id.partner_id.address[0].street
115 pain_flavor = sepa_export.payment_order_ids[0].mode.type.code
116 if pain_flavor == 'pain.001.001.02':
117 bic_xml_tag = 'BIC'
118 name_maxsize = 70
119 root_xml_tag = 'pain.001.001.02'
120 elif pain_flavor == 'pain.001.001.03':
121 bic_xml_tag = 'BIC'
122 # size 70 -> 140 for <Nm> with pain.001.001.03
123 # BUT the European Payment Council, in the document
124 # "SEPA Credit Transfer Scheme Customer-to-bank Implementation guidelines" v6.0
125 # available on http://www.europeanpaymentscouncil.eu/knowledge_bank.cfm
126 # says that 'Nm' should be limited to 70
127 # so we follow the "European Payment Council" and we put 70 and not 140
128 name_maxsize = 70
129 root_xml_tag = 'CstmrCdtTrfInitn'
130 elif pain_flavor == 'pain.001.001.04':
131 bic_xml_tag = 'BICFI'
132 name_maxsize = 140
133 root_xml_tag = 'CstmrCdtTrfInitn'
134 else:
135 raise osv.except_osv(_('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)
136 if sepa_export.batch_booking:
137 my_batch_booking = 'true'
138 else:
139 my_batch_booking = 'false'
140 my_msg_identification = sepa_export.msg_identification
141 if sepa_export.prefered_exec_date:
142 my_requested_exec_date = sepa_export.prefered_exec_date
143 else:
144 my_requested_exec_date = datetime.strftime(datetime.today() + timedelta(days=1), '%Y-%m-%d')
145
146 pain_ns = {
147 'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
148 None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
149 }
150
151 root = etree.Element('Document', nsmap=pain_ns)
152 pain_root = etree.SubElement(root, root_xml_tag)
153 # A. Group header
154 group_header = etree.SubElement(pain_root, 'GrpHdr')
155 message_identification = etree.SubElement(group_header, 'MsgId')
156 message_identification.text = self._limit_size(cr, uid, my_msg_identification, 35, context=context)
157 creation_date_time = etree.SubElement(group_header, 'CreDtTm')
158 creation_date_time.text = datetime.strftime(datetime.today(), '%Y-%m-%dT%H:%M:%S')
159 if pain_flavor == 'pain.001.001.02':
160 # batch_booking is in "Group header" with pain.001.001.02
161 # and in "Payment info" in pain.001.001.03/04
162 batch_booking = etree.SubElement(group_header, 'BtchBookg')
163 batch_booking.text = my_batch_booking
164 nb_of_transactions_grphdr = etree.SubElement(group_header, 'NbOfTxs')
165 control_sum_grphdr = etree.SubElement(group_header, 'CtrlSum')
166 # Grpg removed in pain.001.001.03
167 if pain_flavor == 'pain.001.001.02':
168 grouping = etree.SubElement(group_header, 'Grpg')
169 grouping.text = 'GRPD'
170 initiating_party = etree.SubElement(group_header, 'InitgPty')
171 initiating_party_name = etree.SubElement(initiating_party, 'Nm')
172 initiating_party_name.text = self._limit_size(cr, uid, my_company_name, name_maxsize, context=context)
173 # B. Payment info
174 payment_info = etree.SubElement(pain_root, 'PmtInf')
175 payment_info_identification = etree.SubElement(payment_info, 'PmtInfId')
176 payment_info_identification.text = self._limit_size(cr, uid, my_msg_identification, 35, context=context)
177 payment_method = etree.SubElement(payment_info, 'PmtMtd')
178 payment_method.text = 'TRF'
179 if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
180 # batch_booking is in "Group header" with pain.001.001.02
181 # and in "Payment info" in pain.001.001.03/04
182 batch_booking = etree.SubElement(payment_info, 'BtchBookg')
183 batch_booking.text = my_batch_booking
184 # It may seem surprising, but the
185 # "SEPA Credit Transfer Scheme Customer-to-bank Implementation guidelines"
186 # v6.0 says that control sum and nb_of_transactions should be present
187 # at both "group header" level and "payment info" level
188 # This seems to be confirmed by the tests carried out at
189 # BNP Paribas in PAIN v001.001.03
190 if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
191 nb_of_transactions_pmtinf = etree.SubElement(payment_info, 'NbOfTxs')
192 control_sum_pmtinf = etree.SubElement(payment_info, 'CtrlSum')
193 payment_type_info = etree.SubElement(payment_info, 'PmtTpInf')
194 service_level = etree.SubElement(payment_type_info, 'SvcLvl')
195 service_level_code = etree.SubElement(service_level, 'Cd')
196 service_level_code.text = 'SEPA'
197 requested_exec_date = etree.SubElement(payment_info, 'ReqdExctnDt')
198 requested_exec_date.text = my_requested_exec_date
199 debtor = etree.SubElement(payment_info, 'Dbtr')
200 debtor_name = etree.SubElement(debtor, 'Nm')
201 debtor_name.text = self._limit_size(cr, uid, my_company_name, name_maxsize, context=context)
202# debtor_address = etree.SubElement(debtor, 'PstlAdr')
203# debtor_street = etree.SubElement(debtor_address, 'AdrLine')
204# debtor_street.text = my_company_street1
205# debtor_city = etree.SubElement(debtor_address, 'AdrLine')
206# debtor_city.text = my_company_city
207# debtor_country = etree.SubElement(debtor_address, 'Ctry')
208# debtor_country.text = my_company_country_code
209 debtor_account = etree.SubElement(payment_info, 'DbtrAcct')
210 debtor_account_id = etree.SubElement(debtor_account, 'Id')
211 debtor_account_iban = etree.SubElement(debtor_account_id, 'IBAN')
212 debtor_account_iban.text = my_company_iban
213 debtor_agent = etree.SubElement(payment_info, 'DbtrAgt')
214 debtor_agent_institution = etree.SubElement(debtor_agent, 'FinInstnId')
215 debtor_agent_bic = etree.SubElement(debtor_agent_institution, bic_xml_tag)
216 debtor_agent_bic.text = my_company_bic
217 charge_bearer = etree.SubElement(payment_info, 'ChrgBr')
218 charge_bearer.text = sepa_export.charge_bearer
219
220 transactions_count = 0
221 total_amount = 0.0
222 amount_control_sum = 0.0
223 # Iterate on payment orders
224 for payment_order in sepa_export.payment_order_ids:
225 total_amount = total_amount + payment_order.total
226 # Iterate each payment lines
227 for line in payment_order.line_ids:
228 transactions_count += 1
229 # C. Credit Transfer Transaction Info
230 credit_transfer_transaction_info = etree.SubElement(payment_info, 'CdtTrfTxInf')
231 payment_identification = etree.SubElement(credit_transfer_transaction_info, 'PmtId')
232 instruction_identification = etree.SubElement(payment_identification, 'InstrId')
233 instruction_identification.text = self._limit_size(cr, uid, line.communication, 35, context=context) #otherwise, we can reach the invoice fields via ml_inv_ref
234 end2end_identification = etree.SubElement(payment_identification, 'EndToEndId')
235 end2end_identification.text = self._limit_size(cr, uid, line.communication, 35, context=context)
236 amount = etree.SubElement(credit_transfer_transaction_info, 'Amt')
237 instructed_amount = etree.SubElement(amount, 'InstdAmt', Ccy=line.currency.name)
238 instructed_amount.text = '%.2f' % line.amount_currency
239 amount_control_sum += line.amount_currency
240 creditor_agent = etree.SubElement(credit_transfer_transaction_info, 'CdtrAgt')
241 creditor_agent_institution = etree.SubElement(creditor_agent, 'FinInstnId')
242 creditor_agent_bic = etree.SubElement(creditor_agent_institution, bic_xml_tag)
243 creditor_agent_bic.text = line.bank_id.bank.bic
244 creditor = etree.SubElement(credit_transfer_transaction_info, 'Cdtr')
245 creditor_name = etree.SubElement(creditor, 'Nm')
246 creditor_name.text = self._limit_size(cr, uid, line.partner_id.name, name_maxsize, context=context)
247# I don't think they want it
248# If they want it, we need to implement full spec p26 appendix
249# creditor_address = etree.SubElement(creditor, 'PstlAdr')
250# creditor_street = etree.SubElement(creditor_address, 'AdrLine')
251# creditor_street.text = line.partner_id.address[0].street
252# creditor_city = etree.SubElement(creditor_address, 'AdrLine')
253# creditor_city.text = line.partner_id.address[0].city
254# creditor_country = etree.SubElement(creditor_address, 'Ctry')
255# creditor_country.text = line.partner_id.address[0].country_id.code
256 creditor_account = etree.SubElement(credit_transfer_transaction_info, 'CdtrAcct')
257 creditor_account_id = etree.SubElement(creditor_account, 'Id')
258 creditor_account_iban = etree.SubElement(creditor_account_id, 'IBAN')
259 creditor_account_iban.text = self._validate_iban(cr, uid, line.bank_id.iban, context=context)
260 remittance_info = etree.SubElement(credit_transfer_transaction_info, 'RmtInf')
261 # switch to Structured (Strdr) ? If we do it, beware that the format is not the same between pain 02 and pain 03
262 remittance_info_unstructured = etree.SubElement(remittance_info, 'Ustrd')
263 remittance_info_unstructured.text = self._limit_size(cr, uid, line.communication, 140, context=context)
264
265 if pain_flavor in ['pain.001.001.03', 'pain.001.001.04']:
266 nb_of_transactions_grphdr.text = nb_of_transactions_pmtinf.text = str(transactions_count)
267 control_sum_grphdr.text = control_sum_pmtinf.text = '%.2f' % amount_control_sum
268 else:
269 nb_of_transactions_grphdr.text = str(transactions_count)
270 control_sum_grphdr.text = '%.2f' % amount_control_sum
271
272
273 xml_string = etree.tostring(root, pretty_print=True, encoding='UTF-8', xml_declaration=True)
274 _logger.debug("Generated SEPA XML file below")
275 _logger.debug(xml_string)
276 official_pain_schema = etree.XMLSchema(etree.parse(tools.file_open('account_banking_sepa_credit_transfer/data/%s.xsd' % pain_flavor)))
277
278 try:
279 official_pain_schema.validate(root)
280 except Exception, e:
281 _logger.warning("The XML file is invalid against the XML Schema Definition")
282 _logger.warning(xml_string)
283 _logger.warning(e)
284 raise osv.except_osv(_('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))
285
286 # CREATE the banking.export.sepa record
287 file_id = self.pool.get('banking.export.sepa').create(cr, uid,
288 {
289 'msg_identification': my_msg_identification,
290 'batch_booking': sepa_export.batch_booking,
291 'charge_bearer': sepa_export.charge_bearer,
292 'prefered_exec_date': sepa_export.prefered_exec_date,
293 'total_amount': total_amount,
294 'nb_transactions': transactions_count,
295 'file': base64.encodestring(xml_string),
296 'payment_order_ids': [
297 (6, 0, [x.id for x in sepa_export.payment_order_ids])
298 ],
299 }, context=context)
300
301 self.write(cr, uid, ids, {
302 'file_id': file_id,
303 'state': 'finish',
304 }, context=context)
305
306 action = {
307 'name': 'SEPA XML',
308 'type': 'ir.actions.act_window',
309 'view_type': 'form',
310 'view_mode': 'form,tree',
311 'res_model': self._name,
312 'res_id': ids[0],
313 'target': 'new',
314 }
315 return action
316
317
318 def cancel_sepa(self, cr, uid, ids, context=None):
319 '''
320 Cancel the SEPA PAIN: just drop the file
321 '''
322 sepa_export = self.browse(cr, uid, ids[0], context=context)
323 self.pool.get('banking.export.sepa').unlink(cr, uid, sepa_export.file_id.id, context=context)
324 return {'type': 'ir.actions.act_window_close'}
325
326
327 def save_sepa(self, cr, uid, ids, context=None):
328 '''
329 Save the SEPA PAIN: mark all payments in the file as 'sent'.
330 '''
331 sepa_export = self.browse(cr, uid, ids[0], context=context)
332 sepa_file = self.pool.get('banking.export.sepa').write(cr, uid,
333 sepa_export.file_id.id, {'state': 'sent'}, context=context)
334 wf_service = netsvc.LocalService('workflow')
335 for order in sepa_export.payment_order_ids:
336 wf_service.trg_validate(uid, 'payment.order', order.id, 'sent', cr)
337 return {'type': 'ir.actions.act_window_close'}
338
339
340banking_export_sepa_wizard()
341
0342
=== added file 'account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml'
--- account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml 1970-01-01 00:00:00 +0000
+++ account_banking_sepa_credit_transfer/wizard/export_sepa_view.xml 2013-06-06 08:07:29 +0000
@@ -0,0 +1,48 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3 Copyright (C) 2010-2012 Akretion (http://www.akretion.com)
4 @author: Alexis de Lattre <alexis.delattre@akretion.com>
5 The licence is in the file __openerp__.py
6-->
7<openerp>
8<data>
9
10<record id="banking_export_sepa_wizard_view" model="ir.ui.view">
11 <field name="name">banking.export.sepa.wizard.view</field>
12 <field name="model">banking.export.sepa.wizard</field>
13 <field name="type">form</field>
14 <field name="arch" type="xml">
15 <form string="SEPA XML file generation">
16 <field name="state" invisible="True"/>
17 <group states="create">
18 <separator colspan="4" string="Processing details" />
19 <field name="batch_booking" />
20 <field name="prefered_exec_date" />
21 <field name="charge_bearer" />
22 <separator colspan="4" string="Reference for further communication" />
23 <field name="msg_identification" required="True" />
24 <newline />
25 <button icon="gtk-close" special="cancel" string="Cancel" colspan="2"/>
26 <button icon="gtk-ok" string="Generate" name="create_sepa" type="object" colspan="2"/>
27 </group>
28 <group states="finish">
29 <field name="total_amount" />
30 <!-- Don't display this field, to avoid this bug :
31 https://bugs.launchpad.net/openobject-client-web/+bug/718989
32 Bug desc : in the Gtk client, you have to clic twice on the
33 "Create" button.
34 <field name="nb_transactions" /> -->
35 <newline />
36 <field name="file_id" />
37 <field name="file" filename="filename" />
38 <field name="filename" invisible="True"/>
39 <newline />
40 <button icon="gtk-cancel" string="Cancel" name="cancel_sepa" type="object" colspan="2"/>
41 <button icon="gtk-ok" string="Validate" name="save_sepa" type="object" colspan="2"/>
42 </group>
43 </form>
44 </field>
45</record>
46
47</data>
48</openerp>

Subscribers

People subscribed via source and target branches