From empty
To version 52.1
edited by Daniel Lofqvist
on 2022/04/01 08:48
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +3. Contract billing
Parent
... ... @@ -1,0 +1,1 @@
1 +Main.Contract-financing.Technical-reference.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.XWikiGuest
1 +xwiki:XWiki.ihq
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Tags
... ... @@ -1,0 +1,1 @@
1 +px-custom-page-content
Content
... ... @@ -1,0 +1,143 @@
1 += =
2 +
3 +(% class="jumbotron" %)
4 +(((
5 +(% class="container" %)
6 +(((
7 +//This is a technical overview of the **ContractBilling **file (XML) to be sent to PayEx upon billing of customer contracts. The file contains detailed billing instructions for each customer contract that should be billed.//
8 +)))
9 +)))
10 +
11 +(% class="row" %)
12 +(((
13 +(% class="col-xs-12" %)
14 +(((
15 +{{warning}}
16 +Please note that your Response files might only utilize and/or contain a subset of all elements described below. See the XSD version for your response files to learn more.
17 +{{/warning}}
18 +
19 +----
20 +
21 +== Overview ==
22 +
23 +The Contract billing file contains all customers and contracts that is to billed.
24 +
25 +For each contract, the total amount to bill must be stated including a specification of all the products that is part of the bill/amount.
26 +In addition to the billing instructions, the customer's address should always be included in this file.
27 +
28 +//Below diagram shows the structure of ContractBilling in current version//
29 +
30 +[[image:ContractBilling_[1.X].xsd.png||width="431"]]
31 +)))
32 +)))
33 +
34 +(% class="row" %)
35 +(((
36 +(% class="col-xs-12" %)
37 +(((
38 +
39 +
40 +----
41 +
42 +== ==
43 +
44 +== Name convention ==
45 +
46 +
47 +)))
48 +)))
49 +
50 +ContractBilling_<CompanyNumber>_<DateTime>_<SerialNumber>.xml
51 +
52 +(% class="table-bordered table-striped" %)
53 +|=Names Component|=Description
54 +|CompanyNumber|The company number in our ledger system
55 +|DateTime|Date created, Should be in the format ISO 8601 format, YYYYMMDDThhmmdd
56 +|SerialNumber|Should follow an uninterupted number series, 00001, and so on.
57 +
58 +== Download current XML schema file ==
59 +
60 +(% class="row" %)
61 +(((
62 +(% class="col-xs-12" %)
63 +(((
64 +(% border="0" style="width:1023px" %)
65 +|=(% style="width: 208px; background-color: rgb(237, 237, 237);" %)Fileversion|=(% style="width: 213px; background-color: rgb(237, 237, 237);" %)Version|=(% style="width: 288px; background-color: rgb(237, 237, 237);" %)Releasedate|=(% style="width: 585px; background-color: rgb(237, 237, 237);" %)Comment
66 +|(% style="width:208px" %)[[ContractBilling_[1.0].xsd>>attach:Main.Contract-financing.Technical-reference.WebHome@ContractBilling_[1.0] .xsd]]|(% style="width:213px" %)1.0|(% style="width:288px" %)(% style="left:-5000px; width:1px" %)2018-04-01|(% style="width:585px" %)(% style="left:-5000px; width:1px" %)Initial version
67 +|(% style="width:208px" %)[[ContractBilling_[1.1].xsd>>attach:Main.Contract-financing.Technical-reference.WebHome@ContractBilling_[1.1].xsd||queryString="rev=1.1"]]|(% style="width:213px" %)1.1|(% style="width:288px" %)2021-10-11|(% style="width:585px" %)Added support for RecurringCard
68 +|(% style="width:208px" %)[[ContractBilling_[1.2].xsd>>attach:ContractBilling_[1.2].xsd]]|(% style="width:213px" %)1.2|(% style="width:288px" %)2022-04-05|(% style="width:585px" %)Added support for OffContract.
69 +Added distributionType that alters the default distribution for the billing instruction
70 +|(% style="width:208px" %)[[ContractBilling[1.X].xsd>>attach:ContractBilling_[1.X].xsd]]|(% style="width:213px" %)1.3|(% style="width:288px" %)2022-04-26|(% style="width:585px" %)Added support for new eCurrencyTypes USD and GBP
71 +
72 +== ChangeLog ==
73 +
74 +(% id="HVersion1.1" %)
75 +==== **Version 1.0{{id name="3"/}}** ====
76 +
77 +(% id="HJanuary2C2016" %)
78 +===== April, 2018 =====
79 +
80 +[[ContractBilling_[1.0].xsd>>attach:Main.Contract-financing.Technical-reference.WebHome@ContractBilling_[1.0] .xsd]]
81 +
82 +(% class="box" %)
83 +(((
84 + Initial version
85 +)))
86 +)))
87 +)))
88 +
89 +
90 +(% class="row" %)
91 +(((
92 +(% class="col-xs-12" %)
93 +(((
94 +==== **Version 1.1{{id name="3"/}}** ====
95 +
96 +(% id="HJanuary2C2016" %)
97 +===== October, 2021 =====
98 +
99 +[[ContractBilling_[1.1].xsd>>attach:Main.Contract-financing.Technical-reference.WebHome@ContractBilling_[1.1].xsd||queryString="rev=1.1"]]
100 +
101 +(% class="box" %)
102 +(((
103 +Added support for RecurringCard
104 + Optional elements BillingInfo > PaymentInfo > Clear / Set > Card
105 +)))
106 +)))
107 +)))
108 +
109 +==== ====
110 +
111 +==== **Version 1.2{{id name="3"/}}** ====
112 +
113 +(% id="HJanuary2C2016" %)
114 +===== April, 2022 =====
115 +
116 +[[ContractBilling_[1.2].xsd>>attach:ContractBilling_[1.2].xsd]]
117 +
118 +(% class="box" %)
119 +(((
120 +Added support for OffContract.
121 +Added DistributionType that alters the default distribution for the billing instruction
122 +)))
123 +
124 +
125 +==== **Version 1.3{{id name="3"/}}** (Latest) ====
126 +
127 +(% id="HJanuary2C2016" %)
128 +===== April, 2022 =====
129 +
130 +[[ContractBilling[1.X].xsd>>attach:ContractBilling_[1.X].xsd]]
131 +
132 +(% class="box" %)
133 +(((
134 +(% border="0" style="width:1023px" %)
135 +|(% style="width:585px" %)Added support for new eCurrencyTypes USD and GBP
136 +)))
137 +
138 +
139 +
140 +
141 +
142 +
143 +
ContractBilling_[1.X].xsd.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.ihq
Size
... ... @@ -1,0 +1,1 @@
1 +16.3 KB
Content
ContractBilling_[1.2].xsd
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.ihq
Size
... ... @@ -1,0 +1,1 @@
1 +16.0 KB
Content
... ... @@ -1,0 +1,374 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3 + <xs:element name="ContractBilling">
4 + <xs:complexType>
5 + <xs:sequence>
6 + <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="unbounded">
7 + <xs:complexType>
8 + <xs:sequence>
9 + <xs:element name="CustomerNo" type="Identifier15" nillable="false" minOccurs="1" maxOccurs="1">
10 + <xs:annotation>
11 + <xs:documentation>Unique identifier of customer, Customer number</xs:documentation>
12 + </xs:annotation>
13 + </xs:element>
14 + <xs:element name="BillingInfo" minOccurs="0" maxOccurs="1">
15 + <xs:complexType>
16 + <xs:sequence>
17 + <xs:element name="PaymentInfo" minOccurs="0" maxOccurs="1">
18 + <xs:complexType>
19 + <xs:choice>
20 + <xs:element name="Clear" minOccurs="0" maxOccurs="1" >
21 + <xs:annotation>
22 + <xs:documentation>Erases previously set payment info on customer</xs:documentation>
23 + </xs:annotation>
24 + </xs:element>
25 + <xs:element name="Set" minOccurs="0" maxOccurs="1">
26 + <xs:annotation>
27 + <xs:documentation>Sets differing payment info on customer, fully replaces earlier settings</xs:documentation>
28 + </xs:annotation>
29 + <xs:complexType>
30 + <xs:sequence>
31 + <xs:element name="RecurringCardInfo" type="Card" minOccurs="1" maxOccurs="1">
32 + <xs:annotation>
33 + <xs:documentation>Info about token and expiry date</xs:documentation>
34 + </xs:annotation>
35 + </xs:element>
36 + </xs:sequence>
37 + </xs:complexType>
38 + </xs:element>
39 + </xs:choice>
40 + </xs:complexType>
41 + </xs:element>
42 + </xs:sequence>
43 + </xs:complexType>
44 + </xs:element>
45 + <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="1">
46 + <xs:complexType>
47 + <xs:sequence>
48 + <xs:element name="Name" type="NameAddressString72" minOccurs="1" maxOccurs="1"/>
49 + <xs:element name="RegNo" type="RegNo" minOccurs="1" maxOccurs="1">
50 + <xs:annotation>
51 + <xs:documentation>Customer Social Security No</xs:documentation>
52 + </xs:annotation>
53 + </xs:element>
54 + <xs:element name="LegalAddressInfo" minOccurs="1" maxOccurs="1">
55 + <xs:complexType>
56 + <xs:sequence>
57 + <xs:element name="LegalAddress" type="Address" minOccurs="1" maxOccurs="1"/>
58 + <xs:element name="E-MailAddress" type="Email" minOccurs="0" maxOccurs="1"/>
59 + <xs:element name="Cellphone" type="String15" minOccurs="0" maxOccurs="1"/>
60 + </xs:sequence>
61 + </xs:complexType>
62 + </xs:element>
63 + </xs:sequence>
64 + <xs:attribute name="LegalEntity" type="LegalEntity" use="optional"/>
65 + </xs:complexType>
66 + </xs:element>
67 + <xs:element name="BillingAddress" type="Address" minOccurs="0" maxOccurs="1"/>
68 + <xs:element name="BillInfo" minOccurs="0" maxOccurs="unbounded">
69 + <xs:complexType>
70 + <xs:sequence>
71 + <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1">
72 + <xs:annotation>
73 + <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation>
74 + </xs:annotation>
75 + </xs:element>
76 + <xs:element name="ReferenceInfo" type="ReferenceInfo" minOccurs="1" maxOccurs="1"/>
77 + <xs:element name="DistributionType" type="eDistributionType" minOccurs="0" maxOccurs="1" >
78 + <xs:annotation>
79 + <xs:documentation>If a specific distribution is desired this is used to affect the default for this billing instruction.</xs:documentation>
80 + </xs:annotation>
81 + </xs:element>
82 + <xs:element name="OffContractDebitAmount" type="Money" minOccurs="0" maxOccurs="1">
83 + <xs:annotation>
84 + <xs:documentation>Total sum of off contract debits, must be a positive amount</xs:documentation>
85 + </xs:annotation>
86 + </xs:element>
87 + <xs:element name="OffContractCreditAmount" type="Money" minOccurs="0" maxOccurs="1">
88 + <xs:annotation>
89 + <xs:documentation>Total sum of off contract credits, must be a negative amount</xs:documentation>
90 + </xs:annotation>
91 + </xs:element>
92 + <xs:element name="VatInfo" type="VatInfo" minOccurs="0" maxOccurs="5">
93 + <xs:annotation>
94 + <xs:documentation>Aggregated amount per VATRate</xs:documentation>
95 + </xs:annotation>
96 + </xs:element>
97 + <xs:element name="Product" minOccurs="1" maxOccurs="unbounded">
98 + <xs:complexType>
99 + <xs:sequence>
100 + <xs:element name="AmountInclVat" type="Amount" minOccurs="1" maxOccurs="1"/>
101 + <xs:element name="ProductDescription" type="String90" nillable="false" minOccurs="1" maxOccurs="1">
102 + <xs:annotation>
103 + <xs:documentation>Textual description of the product</xs:documentation>
104 + </xs:annotation>
105 + </xs:element>
106 + <xs:element name="BillingPeriod" type="String35" minOccurs="0" maxOccurs="1">
107 + <xs:annotation>
108 + <xs:documentation>Product billing period</xs:documentation>
109 + </xs:annotation>
110 + </xs:element>
111 + </xs:sequence>
112 + </xs:complexType>
113 + </xs:element>
114 + </xs:sequence>
115 + </xs:complexType>
116 + </xs:element>
117 + </xs:sequence>
118 + </xs:complexType>
119 + </xs:element>
120 + </xs:sequence>
121 + <xs:attribute name="Version" type="Version" use="required">
122 + <xs:annotation>
123 + <xs:documentation>Versions supported by this schema</xs:documentation>
124 + </xs:annotation>
125 + </xs:attribute>
126 + <xs:attribute name="CreatedDateTime" type="xs:dateTime" use="required">
127 + <xs:annotation>
128 + <xs:documentation>Date and time when the file was created</xs:documentation>
129 + </xs:annotation>
130 + </xs:attribute>
131 + <xs:attribute name="CompanyNo" type="CompanyNumber" use="required"/>
132 + <xs:attribute name="CompanyName" type="xs:string" use="required"/>
133 + </xs:complexType>
134 + </xs:element>
135 + <xs:simpleType name="Money">
136 + <xs:restriction base="xs:decimal">
137 + <xs:fractionDigits value="2"/>
138 + <xs:minInclusive value="-100000000"/>
139 + <xs:maxInclusive value="100000000"/>
140 + </xs:restriction>
141 + </xs:simpleType>
142 + <xs:complexType name="Amount">
143 + <xs:sequence>
144 + <xs:element name="AmountInclVat" type="Money" nillable="false" minOccurs="1" maxOccurs="1"/>
145 + </xs:sequence>
146 + <xs:attribute name="Currency" type="eCurrencyType" use="required"/>
147 + </xs:complexType>
148 + <xs:complexType name="Card">
149 + <xs:sequence>
150 + <xs:element name="CardReference" type="String50" minOccurs="1" maxOccurs="1"/>
151 + <xs:element name="ExpiryDate" type="PXExpiryDate" minOccurs="1" maxOccurs="1"/>
152 + </xs:sequence>
153 + </xs:complexType>
154 + <xs:simpleType name="PXExpiryDate">
155 + <xs:restriction base="xs:string">
156 + <xs:length value="5"/>
157 + <xs:pattern value="(0[1-9]|1[012])/(\d{2})"/>
158 + </xs:restriction>
159 + </xs:simpleType>
160 + <xs:simpleType name="Version">
161 + <xs:restriction base="xs:string">
162 + <xs:enumeration value="1.0">
163 + <xs:annotation>
164 + <xs:documentation>Original version</xs:documentation>
165 + </xs:annotation>
166 + </xs:enumeration>
167 + <xs:enumeration value="1.1">
168 + <xs:annotation>
169 + <xs:documentation>PaymentInfo</xs:documentation>
170 + </xs:annotation>
171 + </xs:enumeration>
172 + <xs:enumeration value="1.2">
173 + <xs:annotation>
174 + <xs:documentation>Added support for OffContract.
175 + DistributionType that alters the default distribution for the billing instruction
176 + </xs:documentation>
177 + </xs:annotation>
178 + </xs:enumeration>
179 + </xs:restriction>
180 + </xs:simpleType>
181 + <xs:simpleType name="eCurrencyType">
182 + <xs:restriction base="xs:string">
183 + <xs:enumeration value="SEK"/>
184 + <xs:enumeration value="NOK"/>
185 + <xs:enumeration value="DKK"/>
186 + <xs:enumeration value="EUR"/>
187 + </xs:restriction>
188 + </xs:simpleType>
189 + <xs:simpleType name="Identifier15">
190 + <xs:restriction base="xs:string">
191 + <xs:minLength value="1"/>
192 + <xs:maxLength value="15"/>
193 + <xs:pattern value="[a-zA-Z0-9\-]*"/>
194 + </xs:restriction>
195 + </xs:simpleType>
196 + <xs:simpleType name="ISO3166">
197 + <xs:restriction base="xs:string">
198 + <xs:minLength value="2"/>
199 + <xs:maxLength value="2"/>
200 + <xs:pattern value="[A-Z]*"/>
201 + </xs:restriction>
202 + </xs:simpleType>
203 + <xs:simpleType name="CompanyNumber">
204 + <xs:restriction base="xs:string">
205 + <xs:minLength value="1"/>
206 + <xs:maxLength value="15"/>
207 + <xs:pattern value="[0-9]*"/>
208 + </xs:restriction>
209 + </xs:simpleType>
210 + <xs:simpleType name="String35">
211 + <xs:restriction base="PXString">
212 + <xs:maxLength value="35"/>
213 + </xs:restriction>
214 + </xs:simpleType>
215 + <xs:simpleType name="String90">
216 + <xs:restriction base="PXString">
217 + <xs:minLength value="1"/>
218 + <xs:maxLength value="90"/>
219 + </xs:restriction>
220 + </xs:simpleType>
221 + <xs:simpleType name="Email">
222 + <xs:restriction base="PXString">
223 + <xs:maxLength value="60"/>
224 + <xs:pattern value="[^@]+@[^\.]+\..+"/>
225 + </xs:restriction>
226 + </xs:simpleType>
227 + <xs:simpleType name="String15">
228 + <xs:restriction base="PXString">
229 + <xs:maxLength value="15"/>
230 + </xs:restriction>
231 + </xs:simpleType>
232 + <xs:simpleType name="ZipCode">
233 + <xs:restriction base="xs:string">
234 + <xs:maxLength value="9"/>
235 + <xs:pattern value="[A-Z0-9\-]+"/>
236 + </xs:restriction>
237 + </xs:simpleType>
238 + <xs:simpleType name="String50">
239 + <xs:restriction base="PXString">
240 + <xs:minLength value="1"/>
241 + <xs:maxLength value="50"/>
242 + </xs:restriction>
243 + </xs:simpleType>
244 + <xs:simpleType name="VatRate">
245 + <xs:restriction base="xs:decimal">
246 + <xs:enumeration value="0.00"/>
247 + <xs:enumeration value="6.00"/>
248 + <xs:enumeration value="8.00"/>
249 + <xs:enumeration value="12.00"/>
250 + <xs:enumeration value="13.00"/>
251 + <xs:enumeration value="14.00"/>
252 + <xs:enumeration value="22.00"/>
253 + <xs:enumeration value="23.00"/>
254 + <xs:enumeration value="24.00"/>
255 + <xs:enumeration value="25.00"/>
256 + </xs:restriction>
257 + </xs:simpleType>
258 + <xs:simpleType name="String20">
259 + <xs:restriction base="PXString">
260 + <xs:maxLength value="20"/>
261 + </xs:restriction>
262 + </xs:simpleType>
263 + <xs:simpleType name="NameAddressString35">
264 + <xs:restriction base="PXNameAddressString">
265 + <xs:minLength value="1"/>
266 + <xs:maxLength value="35"/>
267 + </xs:restriction>
268 + </xs:simpleType>
269 + <xs:simpleType name="NameAddressString36">
270 + <xs:restriction base="PXNameAddressString">
271 + <xs:minLength value="1"/>
272 + <xs:maxLength value="36"/>
273 + </xs:restriction>
274 + </xs:simpleType>
275 + <xs:simpleType name="NameAddressString27">
276 + <xs:restriction base="PXNameAddressString">
277 + <xs:minLength value="1"/>
278 + <xs:maxLength value="27"/>
279 + </xs:restriction>
280 + </xs:simpleType>
281 + <xs:simpleType name="PXString">
282 + <xs:restriction base="xs:string">
283 + <xs:pattern value="[a-zA-Z0-9_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-0À-ÖØ-öø-ú&amp;]*"/>
284 + </xs:restriction>
285 + </xs:simpleType>
286 + <xs:simpleType name="PXNameAddressString">
287 + <xs:restriction base="xs:string">
288 + <xs:pattern value="[a-zA-Z0-9_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-0À-ÖØ-öø-úü&amp;]*"/>
289 + </xs:restriction>
290 + </xs:simpleType>
291 + <xs:simpleType name="String74">
292 + <xs:restriction base="xs:string">
293 + <xs:maxLength value="74"/>
294 + </xs:restriction>
295 + </xs:simpleType>
296 + <xs:complexType name="ReferenceInfo">
297 + <xs:sequence>
298 + <xs:element name="ExternalBillId" type="String20" nillable="false" minOccurs="1" maxOccurs="1"/>
299 + </xs:sequence>
300 + </xs:complexType>
301 + <xs:complexType name="RegNo">
302 + <xs:simpleContent>
303 + <xs:extension base="String15">
304 + <xs:attribute name="CountryCode" type="ISO3166"/>
305 + </xs:extension>
306 + </xs:simpleContent>
307 + </xs:complexType>
308 + <xs:simpleType name="LegalEntity">
309 + <xs:restriction base="xs:string">
310 + <xs:enumeration value="Private"/>
311 + </xs:restriction>
312 + </xs:simpleType>
313 + <xs:simpleType name="eDistributionType">
314 + <xs:restriction base="xs:string">
315 + <xs:enumeration value="PostalService">
316 + <xs:annotation>
317 + <xs:documentation>Distribution is made by postal service</xs:documentation>
318 + </xs:annotation>
319 + </xs:enumeration>
320 + <xs:enumeration value="EMail">
321 + <xs:annotation>
322 + <xs:documentation>Distribution is made by E-mail</xs:documentation>
323 + </xs:annotation>
324 + </xs:enumeration>
325 + </xs:restriction>
326 + </xs:simpleType>
327 + <xs:complexType name="VatInfo">
328 + <xs:sequence>
329 + <xs:element name="Amount" type="Amount" minOccurs="1" maxOccurs="1"/>
330 + <xs:element name="VatAmount" type="Money" minOccurs="1" maxOccurs="1"/>
331 + <xs:element name="VatRate" type="VatRate" minOccurs="1" maxOccurs="1"/>
332 + </xs:sequence>
333 + </xs:complexType>
334 + <xs:simpleType name="NameAddressString72">
335 + <xs:restriction base="PXNameAddressString">
336 + <xs:minLength value="1"/>
337 + <xs:maxLength value="72"/>
338 + </xs:restriction>
339 + </xs:simpleType>
340 + <xs:complexType name="Address">
341 + <xs:sequence>
342 + <xs:element name="Addressee" type="NameAddressString72" minOccurs="1" maxOccurs="1">
343 + <xs:annotation>
344 + <xs:documentation>Full name of addressee</xs:documentation>
345 + </xs:annotation>
346 + </xs:element>
347 + <xs:element name="StreetAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1">
348 + <xs:annotation>
349 + <xs:documentation>Street address</xs:documentation>
350 + </xs:annotation>
351 + </xs:element>
352 + <xs:element name="ZipCode" type="ZipCode" nillable="false" minOccurs="1" maxOccurs="1">
353 + <xs:annotation>
354 + <xs:documentation>Zipcode conforming to country standard</xs:documentation>
355 + </xs:annotation>
356 + </xs:element>
357 + <xs:element name="City" type="NameAddressString27" nillable="false" minOccurs="1" maxOccurs="1">
358 + <xs:annotation>
359 + <xs:documentation>City</xs:documentation>
360 + </xs:annotation>
361 + </xs:element>
362 + <xs:element name="CoAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1">
363 + <xs:annotation>
364 + <xs:documentation>Care of address</xs:documentation>
365 + </xs:annotation>
366 + </xs:element>
367 + <xs:element name="CountryCode" type="ISO3166" minOccurs="1" maxOccurs="1">
368 + <xs:annotation>
369 + <xs:documentation>Country code according to ISO 3166</xs:documentation>
370 + </xs:annotation>
371 + </xs:element>
372 + </xs:sequence>
373 + </xs:complexType>
374 +</xs:schema>
ContractBilling_[1.3].xsd
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.ihq
Size
... ... @@ -1,0 +1,1 @@
1 +16.3 KB
Content
... ... @@ -1,0 +1,381 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3 + <xs:element name="ContractBilling">
4 + <xs:complexType>
5 + <xs:sequence>
6 + <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="unbounded">
7 + <xs:complexType>
8 + <xs:sequence>
9 + <xs:element name="CustomerNo" type="Identifier15" nillable="false" minOccurs="1" maxOccurs="1">
10 + <xs:annotation>
11 + <xs:documentation>Unique identifier of customer, Customer number</xs:documentation>
12 + </xs:annotation>
13 + </xs:element>
14 + <xs:element name="BillingInfo" minOccurs="0" maxOccurs="1">
15 + <xs:complexType>
16 + <xs:sequence>
17 + <xs:element name="PaymentInfo" minOccurs="0" maxOccurs="1">
18 + <xs:complexType>
19 + <xs:choice>
20 + <xs:element name="Clear" minOccurs="0" maxOccurs="1" >
21 + <xs:annotation>
22 + <xs:documentation>Erases previously set payment info on customer</xs:documentation>
23 + </xs:annotation>
24 + </xs:element>
25 + <xs:element name="Set" minOccurs="0" maxOccurs="1">
26 + <xs:annotation>
27 + <xs:documentation>Sets differing payment info on customer, fully replaces earlier settings</xs:documentation>
28 + </xs:annotation>
29 + <xs:complexType>
30 + <xs:sequence>
31 + <xs:element name="RecurringCardInfo" type="Card" minOccurs="1" maxOccurs="1">
32 + <xs:annotation>
33 + <xs:documentation>Info about token and expiry date</xs:documentation>
34 + </xs:annotation>
35 + </xs:element>
36 + </xs:sequence>
37 + </xs:complexType>
38 + </xs:element>
39 + </xs:choice>
40 + </xs:complexType>
41 + </xs:element>
42 + </xs:sequence>
43 + </xs:complexType>
44 + </xs:element>
45 + <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="1">
46 + <xs:complexType>
47 + <xs:sequence>
48 + <xs:element name="Name" type="NameAddressString72" minOccurs="1" maxOccurs="1"/>
49 + <xs:element name="RegNo" type="RegNo" minOccurs="1" maxOccurs="1">
50 + <xs:annotation>
51 + <xs:documentation>Customer Social Security No</xs:documentation>
52 + </xs:annotation>
53 + </xs:element>
54 + <xs:element name="LegalAddressInfo" minOccurs="1" maxOccurs="1">
55 + <xs:complexType>
56 + <xs:sequence>
57 + <xs:element name="LegalAddress" type="Address" minOccurs="1" maxOccurs="1"/>
58 + <xs:element name="E-MailAddress" type="Email" minOccurs="0" maxOccurs="1"/>
59 + <xs:element name="Cellphone" type="String15" minOccurs="0" maxOccurs="1"/>
60 + </xs:sequence>
61 + </xs:complexType>
62 + </xs:element>
63 + </xs:sequence>
64 + <xs:attribute name="LegalEntity" type="LegalEntity" use="optional"/>
65 + </xs:complexType>
66 + </xs:element>
67 + <xs:element name="BillingAddress" type="Address" minOccurs="0" maxOccurs="1"/>
68 + <xs:element name="BillInfo" minOccurs="0" maxOccurs="unbounded">
69 + <xs:complexType>
70 + <xs:sequence>
71 + <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1">
72 + <xs:annotation>
73 + <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation>
74 + </xs:annotation>
75 + </xs:element>
76 + <xs:element name="ReferenceInfo" type="ReferenceInfo" minOccurs="1" maxOccurs="1"/>
77 + <xs:element name="DistributionType" type="eDistributionType" minOccurs="0" maxOccurs="1" >
78 + <xs:annotation>
79 + <xs:documentation>If a specific distribution is desired this is used to affect the default for this billing instruction.</xs:documentation>
80 + </xs:annotation>
81 + </xs:element>
82 + <xs:element name="OffContractDebitAmount" type="Money" minOccurs="0" maxOccurs="1">
83 + <xs:annotation>
84 + <xs:documentation>Total sum of off contract debits, must be a positive amount</xs:documentation>
85 + </xs:annotation>
86 + </xs:element>
87 + <xs:element name="OffContractCreditAmount" type="Money" minOccurs="0" maxOccurs="1">
88 + <xs:annotation>
89 + <xs:documentation>Total sum of off contract credits, must be a negative amount</xs:documentation>
90 + </xs:annotation>
91 + </xs:element>
92 + <xs:element name="VatInfo" type="VatInfo" minOccurs="0" maxOccurs="5">
93 + <xs:annotation>
94 + <xs:documentation>Aggregated amount per VATRate</xs:documentation>
95 + </xs:annotation>
96 + </xs:element>
97 + <xs:element name="Product" minOccurs="1" maxOccurs="unbounded">
98 + <xs:complexType>
99 + <xs:sequence>
100 + <xs:element name="AmountInclVat" type="Amount" minOccurs="1" maxOccurs="1"/>
101 + <xs:element name="ProductDescription" type="String90" nillable="false" minOccurs="1" maxOccurs="1">
102 + <xs:annotation>
103 + <xs:documentation>Textual description of the product</xs:documentation>
104 + </xs:annotation>
105 + </xs:element>
106 + <xs:element name="BillingPeriod" type="String35" minOccurs="0" maxOccurs="1">
107 + <xs:annotation>
108 + <xs:documentation>Product billing period</xs:documentation>
109 + </xs:annotation>
110 + </xs:element>
111 + </xs:sequence>
112 + </xs:complexType>
113 + </xs:element>
114 + </xs:sequence>
115 + </xs:complexType>
116 + </xs:element>
117 + </xs:sequence>
118 + </xs:complexType>
119 + </xs:element>
120 + </xs:sequence>
121 + <xs:attribute name="Version" type="Version" use="required">
122 + <xs:annotation>
123 + <xs:documentation>Versions supported by this schema</xs:documentation>
124 + </xs:annotation>
125 + </xs:attribute>
126 + <xs:attribute name="CreatedDateTime" type="xs:dateTime" use="required">
127 + <xs:annotation>
128 + <xs:documentation>Date and time when the file was created</xs:documentation>
129 + </xs:annotation>
130 + </xs:attribute>
131 + <xs:attribute name="CompanyNo" type="CompanyNumber" use="required"/>
132 + <xs:attribute name="CompanyName" type="xs:string" use="required"/>
133 + </xs:complexType>
134 + </xs:element>
135 + <xs:simpleType name="Money">
136 + <xs:restriction base="xs:decimal">
137 + <xs:fractionDigits value="2"/>
138 + <xs:minInclusive value="-100000000"/>
139 + <xs:maxInclusive value="100000000"/>
140 + </xs:restriction>
141 + </xs:simpleType>
142 + <xs:complexType name="Amount">
143 + <xs:sequence>
144 + <xs:element name="AmountInclVat" type="Money" nillable="false" minOccurs="1" maxOccurs="1"/>
145 + </xs:sequence>
146 + <xs:attribute name="Currency" type="eCurrencyType" use="required"/>
147 + </xs:complexType>
148 + <xs:complexType name="Card">
149 + <xs:sequence>
150 + <xs:element name="CardReference" type="String50" minOccurs="1" maxOccurs="1"/>
151 + <xs:element name="ExpiryDate" type="PXExpiryDate" minOccurs="1" maxOccurs="1"/>
152 + </xs:sequence>
153 + </xs:complexType>
154 + <xs:simpleType name="PXExpiryDate">
155 + <xs:restriction base="xs:string">
156 + <xs:length value="5"/>
157 + <xs:pattern value="(0[1-9]|1[012])/(\d{2})"/>
158 + </xs:restriction>
159 + </xs:simpleType>
160 + <xs:simpleType name="Version">
161 + <xs:restriction base="xs:string">
162 + <xs:enumeration value="1.0">
163 + <xs:annotation>
164 + <xs:documentation>Original version</xs:documentation>
165 + </xs:annotation>
166 + </xs:enumeration>
167 + <xs:enumeration value="1.1">
168 + <xs:annotation>
169 + <xs:documentation>PaymentInfo</xs:documentation>
170 + </xs:annotation>
171 + </xs:enumeration>
172 + <xs:enumeration value="1.2">
173 + <xs:annotation>
174 + <xs:documentation>Added support for OffContract.
175 + DistributionType that alters the default distribution for the billing instruction
176 + </xs:documentation>
177 + </xs:annotation>
178 + </xs:enumeration>
179 + <xs:enumeration value="1.3">
180 + <xs:annotation>
181 + <xs:documentation>Added new eCurrencyTypes USD and GBP</xs:documentation>
182 + </xs:annotation>
183 + </xs:enumeration>
184 + </xs:restriction>
185 + </xs:simpleType>
186 + <xs:simpleType name="eCurrencyType">
187 + <xs:restriction base="xs:string">
188 + <xs:enumeration value="SEK"/>
189 + <xs:enumeration value="NOK"/>
190 + <xs:enumeration value="DKK"/>
191 + <xs:enumeration value="EUR"/>
192 + <xs:enumeration value="GBP" />
193 + <xs:enumeration value="USD" />
194 + </xs:restriction>
195 + </xs:simpleType>
196 + <xs:simpleType name="Identifier15">
197 + <xs:restriction base="xs:string">
198 + <xs:minLength value="1"/>
199 + <xs:maxLength value="15"/>
200 + <xs:pattern value="[a-zA-Z0-9\-]*"/>
201 + </xs:restriction>
202 + </xs:simpleType>
203 + <xs:simpleType name="ISO3166">
204 + <xs:restriction base="xs:string">
205 + <xs:minLength value="2"/>
206 + <xs:maxLength value="2"/>
207 + <xs:pattern value="[A-Z]*"/>
208 + </xs:restriction>
209 + </xs:simpleType>
210 + <xs:simpleType name="CompanyNumber">
211 + <xs:restriction base="xs:string">
212 + <xs:minLength value="1"/>
213 + <xs:maxLength value="15"/>
214 + <xs:pattern value="[0-9]*"/>
215 + </xs:restriction>
216 + </xs:simpleType>
217 + <xs:simpleType name="String35">
218 + <xs:restriction base="PXString">
219 + <xs:maxLength value="35"/>
220 + </xs:restriction>
221 + </xs:simpleType>
222 + <xs:simpleType name="String90">
223 + <xs:restriction base="PXString">
224 + <xs:minLength value="1"/>
225 + <xs:maxLength value="90"/>
226 + </xs:restriction>
227 + </xs:simpleType>
228 + <xs:simpleType name="Email">
229 + <xs:restriction base="PXString">
230 + <xs:maxLength value="60"/>
231 + <xs:pattern value="[^@]+@[^\.]+\..+"/>
232 + </xs:restriction>
233 + </xs:simpleType>
234 + <xs:simpleType name="String15">
235 + <xs:restriction base="PXString">
236 + <xs:maxLength value="15"/>
237 + </xs:restriction>
238 + </xs:simpleType>
239 + <xs:simpleType name="ZipCode">
240 + <xs:restriction base="xs:string">
241 + <xs:maxLength value="9"/>
242 + <xs:pattern value="[A-Z0-9\-]+"/>
243 + </xs:restriction>
244 + </xs:simpleType>
245 + <xs:simpleType name="String50">
246 + <xs:restriction base="PXString">
247 + <xs:minLength value="1"/>
248 + <xs:maxLength value="50"/>
249 + </xs:restriction>
250 + </xs:simpleType>
251 + <xs:simpleType name="VatRate">
252 + <xs:restriction base="xs:decimal">
253 + <xs:enumeration value="0.00"/>
254 + <xs:enumeration value="6.00"/>
255 + <xs:enumeration value="8.00"/>
256 + <xs:enumeration value="12.00"/>
257 + <xs:enumeration value="13.00"/>
258 + <xs:enumeration value="14.00"/>
259 + <xs:enumeration value="22.00"/>
260 + <xs:enumeration value="23.00"/>
261 + <xs:enumeration value="24.00"/>
262 + <xs:enumeration value="25.00"/>
263 + </xs:restriction>
264 + </xs:simpleType>
265 + <xs:simpleType name="String20">
266 + <xs:restriction base="PXString">
267 + <xs:maxLength value="20"/>
268 + </xs:restriction>
269 + </xs:simpleType>
270 + <xs:simpleType name="NameAddressString35">
271 + <xs:restriction base="PXNameAddressString">
272 + <xs:minLength value="1"/>
273 + <xs:maxLength value="35"/>
274 + </xs:restriction>
275 + </xs:simpleType>
276 + <xs:simpleType name="NameAddressString36">
277 + <xs:restriction base="PXNameAddressString">
278 + <xs:minLength value="1"/>
279 + <xs:maxLength value="36"/>
280 + </xs:restriction>
281 + </xs:simpleType>
282 + <xs:simpleType name="NameAddressString27">
283 + <xs:restriction base="PXNameAddressString">
284 + <xs:minLength value="1"/>
285 + <xs:maxLength value="27"/>
286 + </xs:restriction>
287 + </xs:simpleType>
288 + <xs:simpleType name="PXString">
289 + <xs:restriction base="xs:string">
290 + <xs:pattern value="[a-zA-Z0-9_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-0À-ÖØ-öø-ú&amp;]*"/>
291 + </xs:restriction>
292 + </xs:simpleType>
293 + <xs:simpleType name="PXNameAddressString">
294 + <xs:restriction base="xs:string">
295 + <xs:pattern value="[a-zA-Z0-9_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-0À-ÖØ-öø-úü&amp;]*"/>
296 + </xs:restriction>
297 + </xs:simpleType>
298 + <xs:simpleType name="String74">
299 + <xs:restriction base="xs:string">
300 + <xs:maxLength value="74"/>
301 + </xs:restriction>
302 + </xs:simpleType>
303 + <xs:complexType name="ReferenceInfo">
304 + <xs:sequence>
305 + <xs:element name="ExternalBillId" type="String20" nillable="false" minOccurs="1" maxOccurs="1"/>
306 + </xs:sequence>
307 + </xs:complexType>
308 + <xs:complexType name="RegNo">
309 + <xs:simpleContent>
310 + <xs:extension base="String15">
311 + <xs:attribute name="CountryCode" type="ISO3166"/>
312 + </xs:extension>
313 + </xs:simpleContent>
314 + </xs:complexType>
315 + <xs:simpleType name="LegalEntity">
316 + <xs:restriction base="xs:string">
317 + <xs:enumeration value="Private"/>
318 + </xs:restriction>
319 + </xs:simpleType>
320 + <xs:simpleType name="eDistributionType">
321 + <xs:restriction base="xs:string">
322 + <xs:enumeration value="PostalService">
323 + <xs:annotation>
324 + <xs:documentation>Distribution is made by postal service</xs:documentation>
325 + </xs:annotation>
326 + </xs:enumeration>
327 + <xs:enumeration value="EMail">
328 + <xs:annotation>
329 + <xs:documentation>Distribution is made by E-mail</xs:documentation>
330 + </xs:annotation>
331 + </xs:enumeration>
332 + </xs:restriction>
333 + </xs:simpleType>
334 + <xs:complexType name="VatInfo">
335 + <xs:sequence>
336 + <xs:element name="Amount" type="Amount" minOccurs="1" maxOccurs="1"/>
337 + <xs:element name="VatAmount" type="Money" minOccurs="1" maxOccurs="1"/>
338 + <xs:element name="VatRate" type="VatRate" minOccurs="1" maxOccurs="1"/>
339 + </xs:sequence>
340 + </xs:complexType>
341 + <xs:simpleType name="NameAddressString72">
342 + <xs:restriction base="PXNameAddressString">
343 + <xs:minLength value="1"/>
344 + <xs:maxLength value="72"/>
345 + </xs:restriction>
346 + </xs:simpleType>
347 + <xs:complexType name="Address">
348 + <xs:sequence>
349 + <xs:element name="Addressee" type="NameAddressString72" minOccurs="1" maxOccurs="1">
350 + <xs:annotation>
351 + <xs:documentation>Full name of addressee</xs:documentation>
352 + </xs:annotation>
353 + </xs:element>
354 + <xs:element name="StreetAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1">
355 + <xs:annotation>
356 + <xs:documentation>Street address</xs:documentation>
357 + </xs:annotation>
358 + </xs:element>
359 + <xs:element name="ZipCode" type="ZipCode" nillable="false" minOccurs="1" maxOccurs="1">
360 + <xs:annotation>
361 + <xs:documentation>Zipcode conforming to country standard</xs:documentation>
362 + </xs:annotation>
363 + </xs:element>
364 + <xs:element name="City" type="NameAddressString27" nillable="false" minOccurs="1" maxOccurs="1">
365 + <xs:annotation>
366 + <xs:documentation>City</xs:documentation>
367 + </xs:annotation>
368 + </xs:element>
369 + <xs:element name="CoAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1">
370 + <xs:annotation>
371 + <xs:documentation>Care of address</xs:documentation>
372 + </xs:annotation>
373 + </xs:element>
374 + <xs:element name="CountryCode" type="ISO3166" minOccurs="1" maxOccurs="1">
375 + <xs:annotation>
376 + <xs:documentation>Country code according to ISO 3166</xs:documentation>
377 + </xs:annotation>
378 + </xs:element>
379 + </xs:sequence>
380 + </xs:complexType>
381 +</xs:schema>