easybill 0.2.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +74 -0
  8. data/easybill.gemspec +28 -0
  9. data/lib/easybill.rb +52 -0
  10. data/lib/easybill/client.rb +116 -0
  11. data/lib/easybill/configuration.rb +43 -0
  12. data/lib/easybill/customer.rb +4 -0
  13. data/lib/easybill/document.rb +34 -0
  14. data/lib/easybill/error.rb +3 -0
  15. data/lib/easybill/payment.rb +4 -0
  16. data/lib/easybill/railtie.rb +12 -0
  17. data/lib/easybill/version.rb +3 -0
  18. data/lib/sekken_patches/importer.rb +8 -0
  19. data/spec/easybill/client_spec.rb +189 -0
  20. data/spec/easybill/configuration_spec.rb +30 -0
  21. data/spec/easybill/document_spec.rb +41 -0
  22. data/spec/easybill_spec.rb +14 -0
  23. data/spec/fixtures/fixtures.yml +98 -0
  24. data/spec/fixtures/vcr_cassettes/add_document_payment_-_adds_a_payment_.yml +1677 -0
  25. data/spec/fixtures/vcr_cassettes/create_document_-_raises_Easybill_Error_if_unsuccessful_.yml +1669 -0
  26. data/spec/fixtures/vcr_cassettes/create_document_-_returns_an_Easybill_Document_on_success_.yml +1677 -0
  27. data/spec/fixtures/vcr_cassettes/create_dunning_-_creates_a_warning_.yml +1742 -0
  28. data/spec/fixtures/vcr_cassettes/find_documents_by_document_number_-_finds_documents_.yml +1671 -0
  29. data/spec/fixtures/vcr_cassettes/get_customer_-_raises_Easybill_Error_if_unsuccessful_.yml +1678 -0
  30. data/spec/fixtures/vcr_cassettes/get_customer_-_returns_an_Easybill_Customer_on_success_.yml +1727 -0
  31. data/spec/fixtures/vcr_cassettes/get_customer_by_customer_number_-_raises_Easybill_Error_if_unsuccessful_.yml +1678 -0
  32. data/spec/fixtures/vcr_cassettes/get_customer_by_customer_number_-_returns_an_Easybill_Customer_on_success_.yml +1671 -0
  33. data/spec/fixtures/vcr_cassettes/get_document_payments_-_returns_an_array_of_Easybill_Payment_on_success_.yml +1727 -0
  34. data/spec/fixtures/vcr_cassettes/get_document_pdf_-_returns_a_document_PDF_.yml +1727 -0
  35. data/spec/fixtures/vcr_cassettes/get_document_sent_-_receives_sent_date_.yml +1727 -0
  36. data/spec/fixtures/vcr_cassettes/get_documents_-_returns_an_Easybill_Document_array_on_success_.yml +1729 -0
  37. data/spec/fixtures/vcr_cassettes/get_documents_-_returns_an_empty_array_if_there_are_no_documents_.yml +1675 -0
  38. data/spec/fixtures/vcr_cassettes/local_copy_5c31767ec9fc284da7e4858f3580fb50.yml +1177 -0
  39. data/spec/fixtures/vcr_cassettes/search_customers_-_returns_an_array_of_matching_Easybill_Customers_.yml +2754 -0
  40. data/spec/fixtures/vcr_cassettes/search_customers_-_returns_an_empty_array_when_no_customers_are_found_.yml +1671 -0
  41. data/spec/fixtures/vcr_cassettes/set_customer_-_raises_Easybill_Error_if_unsuccessful_.yml +1700 -0
  42. data/spec/fixtures/vcr_cassettes/set_customer_-_returns_an_Easybill_Customer_on_success_.yml +1687 -0
  43. data/spec/spec_helper.rb +54 -0
  44. data/spec/support/fixture.rb +16 -0
  45. data/spec/support/matchers.rb +6 -0
  46. data/spec/support/method_interceptor.rb +56 -0
  47. data/wsdl/soap.companyposition.xsd +235 -0
  48. data/wsdl/soap.customer.xsd +773 -0
  49. data/wsdl/soap.document.xsd +799 -0
  50. data/wsdl/soap.easybill.wsdl +1087 -0
  51. metadata +219 -0
@@ -0,0 +1,799 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+
3
+ <xsd:schema xmlns:document="http://www.easybill.de/webservice/document/"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:commons="http://www.easybill.de/webservice/commons/"
6
+ targetNamespace="http://www.easybill.de/webservice/document/"
7
+ version="1.0">
8
+
9
+ <xsd:import namespace="http://www.easybill.de/webservice/commons/"
10
+ schemaLocation="soap.commons.xsd" />
11
+
12
+ <!-- Faults -->
13
+ <xsd:element name="DocumentPositionNotFoundFault" type="document:DocumentPositionFaultType" />
14
+ <xsd:complexType name="DocumentPositionFaultType">
15
+ <xsd:sequence />
16
+ </xsd:complexType>
17
+
18
+ <xsd:element name="DocumentNotFoundFault" type="document:DocumentNotFoundFaultType" />
19
+ <xsd:complexType name="DocumentNotFoundFaultType">
20
+ <xsd:sequence>
21
+ <xsd:element name="documentID" type="xsd:unsignedLong" />
22
+ </xsd:sequence>
23
+ </xsd:complexType>
24
+
25
+ <!-- DATA -->
26
+
27
+ <xsd:complexType name="documentpositiontype">
28
+ <xsd:sequence>
29
+ <xsd:element name="positionType" minOccurs="1" maxOccurs="1">
30
+ <xsd:simpleType>
31
+ <xsd:restriction base="xsd:string">
32
+ <xsd:enumeration value="POSITION">
33
+ <xsd:annotation>
34
+ <xsd:documentation>Eine Rechnungsposition einfügen</xsd:documentation>
35
+ </xsd:annotation>
36
+ </xsd:enumeration>
37
+ <xsd:enumeration value="TEXT">
38
+ <xsd:annotation>
39
+ <xsd:documentation>Einen allgemeinen Text einfügen (dies ist keine Rechnungsposition)</xsd:documentation>
40
+ </xsd:annotation>
41
+ </xsd:enumeration>
42
+ <xsd:enumeration value="POSITION_NOCALC">
43
+ <xsd:annotation>
44
+ <xsd:documentation>Eine Rechnungsposition einfügen (alternativ Posten der nicht berechnet wird)</xsd:documentation>
45
+ </xsd:annotation>
46
+ </xsd:enumeration>
47
+ </xsd:restriction>
48
+ </xsd:simpleType>
49
+ </xsd:element>
50
+ <xsd:element name="itemNumber" minOccurs="0" maxOccurs="1" nillable="true">
51
+ <xsd:annotation>
52
+ <xsd:documentation>Nummer der Rechnungsposition (siehe Companyposition->itemNumber)</xsd:documentation>
53
+ </xsd:annotation>
54
+ <xsd:simpleType>
55
+ <xsd:restriction base="xsd:string">
56
+ <xsd:maxLength value="20" />
57
+ <xsd:minLength value="1" />
58
+ </xsd:restriction>
59
+ </xsd:simpleType>
60
+ </xsd:element>
61
+ <xsd:element name="itemDescription" minOccurs="1" maxOccurs="1">
62
+ <xsd:annotation>
63
+ <xsd:documentation>Beschreibung der Rechnungsposition (siehe Companyposition->itemDescription)</xsd:documentation>
64
+ </xsd:annotation>
65
+ <xsd:simpleType>
66
+ <xsd:restriction base="xsd:string">
67
+ <xsd:maxLength value="1000" />
68
+ <xsd:minLength value="1" />
69
+ </xsd:restriction>
70
+ </xsd:simpleType>
71
+ </xsd:element>
72
+ <xsd:element name="count" minOccurs="1" maxOccurs="1" type="xsd:float" nillable="true">
73
+ <xsd:annotation>
74
+ <xsd:documentation>Beschreibung der Rechnungsposition (siehe Companyposition->count)</xsd:documentation>
75
+ </xsd:annotation>
76
+ </xsd:element>
77
+ <xsd:element name="unit" minOccurs="1" maxOccurs="1" nillable="true">
78
+ <xsd:annotation>
79
+ <xsd:documentation>Bezeichnung der Einheit (siehe Companyposition->unit)</xsd:documentation>
80
+ </xsd:annotation>
81
+ <xsd:simpleType>
82
+ <xsd:restriction base="xsd:string">
83
+ <xsd:minLength value="1" />
84
+ <xsd:maxLength value="10" />
85
+ </xsd:restriction>
86
+ </xsd:simpleType>
87
+ </xsd:element>
88
+ <xsd:element name="singlePriceNetto" minOccurs="1" maxOccurs="1" type="xsd:float" nillable="true">
89
+ <xsd:annotation>
90
+ <xsd:documentation>Verkaufspreis netto in kleinster Einheit ihrer Währung (z.B. cent bei Euro )</xsd:documentation>
91
+ </xsd:annotation>
92
+ </xsd:element>
93
+ <xsd:element name="ustPercent" minOccurs="1" maxOccurs="1" type="xsd:float" nillable="true">
94
+ <xsd:annotation>
95
+ <xsd:documentation>Umsatzsteuerprozentwert</xsd:documentation>
96
+ </xsd:annotation>
97
+ </xsd:element>
98
+ <xsd:element name="discount" minOccurs="0" maxOccurs="1" type="xsd:float" nillable="true">
99
+ <xsd:annotation>
100
+ <xsd:documentation>Feldwert für Diskont. Art des Rabatts erklärt sich aus discountType.
101
+ Beträge in einer Währung müssen in der kleinsten Einheit sein (z.B. Cent bei Euro)</xsd:documentation>
102
+ </xsd:annotation>
103
+ </xsd:element>
104
+ <xsd:element name="discountType" minOccurs="0" maxOccurs="1">
105
+ <xsd:annotation>
106
+ <xsd:documentation>Art des Diskount (Betrag oder Prozent)</xsd:documentation>
107
+ </xsd:annotation>
108
+ <xsd:simpleType>
109
+ <xsd:restriction base="xsd:string">
110
+ <xsd:enumeration value="AMOUNT">
111
+ <xsd:annotation>
112
+ <xsd:documentation></xsd:documentation>
113
+ </xsd:annotation>
114
+ </xsd:enumeration>
115
+ <xsd:enumeration value="PERCENT">
116
+ <xsd:annotation>
117
+ <xsd:documentation></xsd:documentation>
118
+ </xsd:annotation>
119
+ </xsd:enumeration>
120
+ </xsd:restriction>
121
+ </xsd:simpleType>
122
+ </xsd:element>
123
+ <xsd:element name="companyPositionID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" >
124
+ <xsd:annotation>
125
+ <xsd:documentation>Referenz auf eine Ihrer Rechnungsposten (companyPosition)</xsd:documentation>
126
+ </xsd:annotation>
127
+ </xsd:element>
128
+ <xsd:element name="exportID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
129
+ <xsd:annotation>
130
+ <xsd:documentation>FiBu Konto</xsd:documentation>
131
+ </xsd:annotation>
132
+ </xsd:element>
133
+ <xsd:element name="exportCost1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
134
+ <xsd:annotation>
135
+ <xsd:documentation>Kostenstelle 1</xsd:documentation>
136
+ </xsd:annotation>
137
+ </xsd:element>
138
+ <xsd:element name="exportCost2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
139
+ <xsd:annotation>
140
+ <xsd:documentation>Kostenstelle 2</xsd:documentation>
141
+ </xsd:annotation>
142
+ </xsd:element>
143
+ </xsd:sequence>
144
+ </xsd:complexType>
145
+
146
+
147
+ <xsd:complexType name="documentdescriptiontype">
148
+ <xsd:sequence>
149
+ <xsd:element name="documentType" minOccurs="0" maxOccurs="1">
150
+ <xsd:simpleType>
151
+ <xsd:restriction base="xsd:string">
152
+ <xsd:enumeration value="INVOICE">
153
+ <xsd:annotation>
154
+ <xsd:documentation>Rechnung</xsd:documentation>
155
+ </xsd:annotation>
156
+ </xsd:enumeration>
157
+ <xsd:enumeration value="OFFER">
158
+ <xsd:annotation>
159
+ <xsd:documentation>Angebot</xsd:documentation>
160
+ </xsd:annotation>
161
+ </xsd:enumeration>
162
+ <xsd:enumeration value="CREDIT">
163
+ <xsd:annotation>
164
+ <xsd:documentation>Gutschrift</xsd:documentation>
165
+ </xsd:annotation>
166
+ </xsd:enumeration>
167
+ <xsd:enumeration value="CHARGE">
168
+ <xsd:annotation>
169
+ <xsd:documentation>Auftrag</xsd:documentation>
170
+ </xsd:annotation>
171
+ </xsd:enumeration>
172
+ <xsd:enumeration value="DELIVERY">
173
+ <xsd:annotation>
174
+ <xsd:documentation>Lieferschein</xsd:documentation>
175
+ </xsd:annotation>
176
+ </xsd:enumeration>
177
+ <xsd:enumeration value="ORDER">
178
+ <xsd:annotation>
179
+ <xsd:documentation>Bestellung</xsd:documentation>
180
+ </xsd:annotation>
181
+ </xsd:enumeration>
182
+ <xsd:enumeration value="REMINDER">
183
+ <xsd:annotation>
184
+ <xsd:documentation>Erinnerung</xsd:documentation>
185
+ </xsd:annotation>
186
+ </xsd:enumeration>
187
+ <xsd:enumeration value="DUNNING">
188
+ <xsd:annotation>
189
+ <xsd:documentation>Mahnung</xsd:documentation>
190
+ </xsd:annotation>
191
+ </xsd:enumeration>
192
+ <xsd:enumeration value="STORNO">
193
+ <xsd:annotation>
194
+ <xsd:documentation>Storno</xsd:documentation>
195
+ </xsd:annotation>
196
+ </xsd:enumeration>
197
+ </xsd:restriction>
198
+ </xsd:simpleType>
199
+ </xsd:element>
200
+ <xsd:element name="documentID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1">
201
+ <xsd:annotation>
202
+ <xsd:documentation>Die DocumentID ermöglich die eindeutige Identifikation des Dokumentes. Sie wird nicht beim erstellen eines Dokumentes benötigt</xsd:documentation>
203
+ </xsd:annotation>
204
+ </xsd:element>
205
+ <xsd:element name="customerID" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1">
206
+ <xsd:annotation>
207
+ <xsd:documentation>CustomerID (nicht CustomerNumber) des Kunden, für den die Rechnung erstellt wird.</xsd:documentation>
208
+ </xsd:annotation>
209
+ </xsd:element>
210
+ <xsd:element name="currency" type="xsd:string" minOccurs="1" maxOccurs="1">
211
+ <xsd:annotation>
212
+ <xsd:documentation>Standardisiert nach ISO 4217</xsd:documentation>
213
+ </xsd:annotation>
214
+ </xsd:element>
215
+ <xsd:element name="textPrefix" type="xsd:string" minOccurs="0" maxOccurs="1">
216
+ <xsd:annotation>
217
+ <xsd:documentation>Text im oberen Teil der Rechnung</xsd:documentation>
218
+ </xsd:annotation>
219
+ </xsd:element>
220
+ <xsd:element name="text" type="xsd:string" minOccurs="0" maxOccurs="1">
221
+ <xsd:annotation>
222
+ <xsd:documentation>Text im unteren Teil der Rechnung, neben Summenblock</xsd:documentation>
223
+ </xsd:annotation>
224
+ </xsd:element>
225
+ <xsd:element name="contactLabel" type="xsd:string" minOccurs="0" maxOccurs="1">
226
+ <xsd:annotation>
227
+ <xsd:documentation>Kontaktinformation (Beschriftung)</xsd:documentation>
228
+ </xsd:annotation>
229
+ </xsd:element>
230
+ <xsd:element name="contactText" type="xsd:string" minOccurs="0" maxOccurs="1">
231
+ <xsd:annotation>
232
+ <xsd:documentation>Kontaktinformation (Inhalt)</xsd:documentation>
233
+ </xsd:annotation>
234
+ </xsd:element>
235
+ <xsd:element name="documentPosition" type="document:documentpositiontype" minOccurs="0" maxOccurs="unbounded" />
236
+ <xsd:element name="taxOptions" minOccurs="0" maxOccurs="1" nillable="true" type="commons:taxOptionsType" />
237
+ <xsd:element name="documentDate" minOccurs="0" maxOccurs="1" nillable="true">
238
+ <xsd:annotation>
239
+ <xsd:documentation>Dokumentendatum (Unix-Timestamp)</xsd:documentation>
240
+ </xsd:annotation>
241
+ <xsd:simpleType>
242
+ <xsd:restriction base="xsd:long" />
243
+ </xsd:simpleType>
244
+ </xsd:element>
245
+ <xsd:element name="serviceDate" minOccurs="0" maxOccurs="1" nillable="true">
246
+ <xsd:annotation>
247
+ <xsd:documentation>Leistungsdatum
248
+ (falls nicht angegen, erfolgt die Standardanzeige)</xsd:documentation>
249
+ </xsd:annotation>
250
+ <xsd:simpleType>
251
+ <xsd:restriction base="xsd:string">
252
+ <xsd:minLength value="1" />
253
+ <xsd:maxLength value="100" />
254
+ </xsd:restriction>
255
+ </xsd:simpleType>
256
+ </xsd:element>
257
+ <xsd:element name="documentNumber" minOccurs="0" maxOccurs="1" nillable="true">
258
+ <xsd:annotation>
259
+ <xsd:documentation>Dokumentennummer
260
+ (falls nicht angegen, erfolgt die Standardanzeige)</xsd:documentation>
261
+ </xsd:annotation>
262
+ <xsd:simpleType>
263
+ <xsd:restriction base="xsd:string">
264
+ <xsd:minLength value="1" />
265
+ <xsd:maxLength value="100" />
266
+ </xsd:restriction>
267
+ </xsd:simpleType>
268
+ </xsd:element>
269
+ <xsd:element name="documentTitle" minOccurs="0" maxOccurs="1" nillable="true">
270
+ <xsd:annotation>
271
+ <xsd:documentation>Dokumententitel</xsd:documentation>
272
+ </xsd:annotation>
273
+ <xsd:simpleType>
274
+ <xsd:restriction base="xsd:string">
275
+ <xsd:minLength value="1" />
276
+ <xsd:maxLength value="80" />
277
+ </xsd:restriction>
278
+ </xsd:simpleType>
279
+ </xsd:element>
280
+ <xsd:element name="cashAllowance" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
281
+ <xsd:annotation>
282
+ <xsd:documentation>Skonto als Prozentwert
283
+ (falls nicht angegen, erfolgt die Standardanzeige; Voreinstellung Kunde/Unternehmen)</xsd:documentation>
284
+ </xsd:annotation>
285
+ </xsd:element>
286
+ <xsd:element name="cashAllowanceDays" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:unsignedShort">
287
+ <xsd:annotation>
288
+ <xsd:documentation>Tage in denen der Skonto aktiv ist
289
+ (falls nicht angegen, erfolgt die Standardanzeige; Voreinstellung Kunde/Unternehmen)</xsd:documentation>
290
+ </xsd:annotation>
291
+ </xsd:element>
292
+ <xsd:element name="cashDiscount" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
293
+ <xsd:annotation>
294
+ <xsd:documentation>Rabatt (Prozent oder Betrag abhängig vom Eintrag in 'cashdiscounttype')</xsd:documentation>
295
+ </xsd:annotation>
296
+ </xsd:element>
297
+ <xsd:element name="cashDiscountType" minOccurs="0" maxOccurs="1" nillable="true">
298
+ <xsd:simpleType>
299
+ <xsd:restriction base="xsd:string">
300
+ <xsd:enumeration value="PERCENT">
301
+ <xsd:annotation>
302
+ <xsd:documentation>Nicht steuerbar (Drittland)</xsd:documentation>
303
+ </xsd:annotation>
304
+ </xsd:enumeration>
305
+ <xsd:enumeration value="AMOUNT">
306
+ <xsd:annotation>
307
+ <xsd:documentation>Nicht steuerbar (EU mit UStID-Nr.)</xsd:documentation>
308
+ </xsd:annotation>
309
+ </xsd:enumeration>
310
+ </xsd:restriction>
311
+ </xsd:simpleType>
312
+ </xsd:element>
313
+ <xsd:element name="gracePeriod" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:unsignedShort">
314
+ <xsd:annotation>
315
+ <xsd:documentation>Zahlungsziel (Tage)</xsd:documentation>
316
+ </xsd:annotation>
317
+ </xsd:element>
318
+ <xsd:element name="amount" minOccurs="1" maxOccurs="1" type="xsd:float" nillable="true">
319
+ <xsd:annotation>
320
+ <xsd:documentation>Rechnungsbetrag</xsd:documentation>
321
+ </xsd:annotation>
322
+ </xsd:element>
323
+ <xsd:element name="amountNetto" minOccurs="1" maxOccurs="1" type="xsd:float" nillable="true">
324
+ <xsd:annotation>
325
+ <xsd:documentation>Rechnungsbetrag (netto)</xsd:documentation>
326
+ </xsd:annotation>
327
+ </xsd:element>
328
+
329
+ <xsd:element name="bankTransfer" minOccurs="0" maxOccurs="1" nillable="true">
330
+ <xsd:simpleType>
331
+ <xsd:restriction base="xsd:string">
332
+ <xsd:enumeration value="DE">
333
+ <xsd:annotation>
334
+ <xsd:documentation>Überweisungsträger</xsd:documentation>
335
+ </xsd:annotation>
336
+ </xsd:enumeration>
337
+ <xsd:enumeration value="EU">
338
+ <xsd:annotation>
339
+ <xsd:documentation>Überweisungsträger (EU)</xsd:documentation>
340
+ </xsd:annotation>
341
+ </xsd:enumeration>
342
+ </xsd:restriction>
343
+ </xsd:simpleType>
344
+ </xsd:element>
345
+
346
+ <xsd:element name="refID" minOccurs="0" maxOccurs="1" type="xsd:unsignedLong" nillable="true">
347
+ <xsd:annotation>
348
+ <xsd:documentation>Referenzdokument</xsd:documentation>
349
+ </xsd:annotation>
350
+ </xsd:element>
351
+
352
+ <xsd:element name="stornoID" minOccurs="0" maxOccurs="1" type="xsd:unsignedLong" nillable="true">
353
+ <xsd:annotation>
354
+ <xsd:documentation>Verweis auf das Dokument welches die Stornierung beinhaltet. Nur gefüllt falls Dokument storniert.</xsd:documentation>
355
+ </xsd:annotation>
356
+ </xsd:element>
357
+
358
+
359
+ </xsd:sequence>
360
+ </xsd:complexType>
361
+
362
+
363
+ <xsd:complexType name="CreateDocumentType">
364
+ <xsd:complexContent>
365
+ <xsd:extension base="document:documentdescriptiontype">
366
+ <xsd:sequence>
367
+ <xsd:element name="signDocument" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
368
+ <xsd:annotation>
369
+ <xsd:documentation>Dokument mit einer qualifizierten digitalen Signatur versehen.</xsd:documentation>
370
+ </xsd:annotation>
371
+ </xsd:element>
372
+ <xsd:element name="sendasemail" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
373
+ <xsd:annotation>
374
+ <xsd:documentation>Versende das Dokument als E-Mail an den Kunden.
375
+ Dies setzt vorraus dass der Kunde eine E-Mail Adresse hat.</xsd:documentation>
376
+ </xsd:annotation>
377
+ </xsd:element>
378
+ <xsd:element name="emailSubject" type="xsd:string" minOccurs="0" maxOccurs="1">
379
+ <xsd:annotation>
380
+ <xsd:documentation>E-Mail Betreff</xsd:documentation>
381
+ </xsd:annotation>
382
+ </xsd:element>
383
+ <xsd:element name="emailText" type="xsd:string" minOccurs="0" maxOccurs="1">
384
+ <xsd:annotation>
385
+ <xsd:documentation>E-Mail Text</xsd:documentation>
386
+ </xsd:annotation>
387
+ </xsd:element>
388
+ <xsd:element name="sendaspost" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
389
+ <xsd:annotation>
390
+ <xsd:documentation>Versende das Dokument per Post an den Kunden.</xsd:documentation>
391
+ </xsd:annotation>
392
+ </xsd:element>
393
+ <xsd:element name="sendbyself" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
394
+ <xsd:annotation>
395
+ <xsd:documentation>Dokument selber versendet.</xsd:documentation>
396
+ </xsd:annotation>
397
+ </xsd:element>
398
+ <xsd:element name="templateName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
399
+ <xsd:annotation>
400
+ <xsd:documentation>Name der Druckvorlage</xsd:documentation>
401
+ </xsd:annotation>
402
+ </xsd:element>
403
+ <xsd:element name="suppressResponsePDF" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
404
+ <xsd:annotation>
405
+ <xsd:documentation>PDF nicht zurücksenden (Netzwerkresourcen sparen)</xsd:documentation>
406
+ </xsd:annotation>
407
+ </xsd:element>
408
+ </xsd:sequence>
409
+ </xsd:extension>
410
+ </xsd:complexContent>
411
+ </xsd:complexType>
412
+
413
+ <xsd:element name="CreateDocumentRequest" type="document:CreateDocumentType" />
414
+
415
+ <xsd:complexType name="documentcreatedtype">
416
+ <xsd:sequence>
417
+ <xsd:element name="fileName" type="xsd:string" minOccurs="1" maxOccurs="1">
418
+ <xsd:annotation>
419
+ <xsd:documentation>Name der Datei</xsd:documentation>
420
+ </xsd:annotation>
421
+ </xsd:element>
422
+ <xsd:element name="file" type="xsd:base64Binary" minOccurs="0" maxOccurs="1" >
423
+ <xsd:annotation>
424
+ <xsd:documentation>Base64 gepackter Dateiinhalt</xsd:documentation>
425
+ </xsd:annotation>
426
+ </xsd:element>
427
+ <xsd:element name="signDocument" type="xsd:boolean" minOccurs="0" maxOccurs="1">
428
+ <xsd:annotation>
429
+ <xsd:documentation>Rückmeldung ob das Dokument signiert wurde</xsd:documentation>
430
+ </xsd:annotation>
431
+ </xsd:element>
432
+ <xsd:element name="signexception" type="xsd:string" minOccurs="0" maxOccurs="1" >
433
+ <xsd:annotation>
434
+ <xsd:documentation>Rückmeldung, falls ein Fehler beim signieren aufgetreten ist.</xsd:documentation>
435
+ </xsd:annotation>
436
+ </xsd:element>
437
+ <xsd:element name="sentasemail" type="xsd:boolean" minOccurs="0" maxOccurs="1">
438
+ <xsd:annotation>
439
+ <xsd:documentation>Rückmeldung ob das Dokument in E-Mail Queue eingefügt wurde</xsd:documentation>
440
+ </xsd:annotation>
441
+ </xsd:element>
442
+ <xsd:element name="emailsendexception" type="xsd:string" minOccurs="0" maxOccurs="1" >
443
+ <xsd:annotation>
444
+ <xsd:documentation>Rückmeldung, falls ein Fehler beim versenden aufgetreten ist.</xsd:documentation>
445
+ </xsd:annotation>
446
+ </xsd:element>
447
+ <xsd:element name="sentaspost" type="xsd:boolean" minOccurs="0" maxOccurs="1">
448
+ <xsd:annotation>
449
+ <xsd:documentation>Rückmeldung ob das Dokument in Post Queue eingefügt wurde</xsd:documentation>
450
+ </xsd:annotation>
451
+ </xsd:element>
452
+ <xsd:element name="postsendexception" type="xsd:string" minOccurs="0" maxOccurs="1" >
453
+ <xsd:annotation>
454
+ <xsd:documentation>Rückmeldung, falls ein Fehler beim versenden aufgetreten ist.</xsd:documentation>
455
+ </xsd:annotation>
456
+ </xsd:element>
457
+ <xsd:element name="document" type="document:documentdescriptiontype" minOccurs="0" maxOccurs="1">
458
+ <xsd:annotation>
459
+ <xsd:documentation>Gibt die Details einer Rechnung in maschinenlesbarer Form zurück</xsd:documentation>
460
+ </xsd:annotation>
461
+ </xsd:element>
462
+ </xsd:sequence>
463
+ </xsd:complexType>
464
+ <xsd:element name="CreateDocumentResponse" type="document:documentcreatedtype" />
465
+
466
+
467
+ <!-- Reminder -->
468
+ <xsd:complexType name="createReminderType">
469
+ <xsd:sequence>
470
+ <xsd:element name="invoiceId" minOccurs="1" maxOccurs="1" nillable="false" type="xsd:unsignedLong">
471
+ <xsd:annotation>
472
+ <xsd:documentation>Rechnungs-Id für die die Mahnung genieriert werden soll</xsd:documentation>
473
+ </xsd:annotation>
474
+ </xsd:element>
475
+ <xsd:element name="textPrefix" type="xsd:string" minOccurs="0" maxOccurs="1">
476
+ <xsd:annotation>
477
+ <xsd:documentation>Text im oberen Teil der Rechnung</xsd:documentation>
478
+ </xsd:annotation>
479
+ </xsd:element>
480
+ <xsd:element name="text" type="xsd:string" minOccurs="0" maxOccurs="1">
481
+ <xsd:annotation>
482
+ <xsd:documentation>Text im unteren Teil der Rechnung, neben Summenblock</xsd:documentation>
483
+ </xsd:annotation>
484
+ </xsd:element>
485
+ <xsd:element name="contactLabel" type="xsd:string" minOccurs="0" maxOccurs="1">
486
+ <xsd:annotation>
487
+ <xsd:documentation>Kontaktinformation (Beschriftung)</xsd:documentation>
488
+ </xsd:annotation>
489
+ </xsd:element>
490
+ <xsd:element name="contactText" type="xsd:string" minOccurs="0" maxOccurs="1">
491
+ <xsd:annotation>
492
+ <xsd:documentation>Kontaktinformation (Inhalt)</xsd:documentation>
493
+ </xsd:annotation>
494
+ </xsd:element>
495
+ <xsd:element name="signDocument" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
496
+ <xsd:annotation>
497
+ <xsd:documentation>Dokument mit einer qualifizierten digitalen Signatur versehen.</xsd:documentation>
498
+ </xsd:annotation>
499
+ </xsd:element>
500
+ <xsd:element name="sendasemail" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
501
+ <xsd:annotation>
502
+ <xsd:documentation>Versende das Dokument als E-Mail an den Kunden.
503
+ Dies setzt vorraus dass der Kunde eine E-Mail Adresse hat.</xsd:documentation>
504
+ </xsd:annotation>
505
+ </xsd:element>
506
+ <xsd:element name="emailSubject" type="xsd:string" minOccurs="0" maxOccurs="1">
507
+ <xsd:annotation>
508
+ <xsd:documentation>E-Mail Betreff</xsd:documentation>
509
+ </xsd:annotation>
510
+ </xsd:element>
511
+ <xsd:element name="emailText" type="xsd:string" minOccurs="0" maxOccurs="1">
512
+ <xsd:annotation>
513
+ <xsd:documentation>E-Mail Text</xsd:documentation>
514
+ </xsd:annotation>
515
+ </xsd:element>
516
+ <xsd:element name="sendaspost" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
517
+ <xsd:annotation>
518
+ <xsd:documentation>Versende das Dokument per Post an den Kunden.</xsd:documentation>
519
+ </xsd:annotation>
520
+ </xsd:element>
521
+ <xsd:element name="sendbyself" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
522
+ <xsd:annotation>
523
+ <xsd:documentation>Dokument selber versendet.</xsd:documentation>
524
+ </xsd:annotation>
525
+ </xsd:element>
526
+ <xsd:element name="templateName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
527
+ <xsd:annotation>
528
+ <xsd:documentation>Name der Druckvorlage</xsd:documentation>
529
+ </xsd:annotation>
530
+ </xsd:element>
531
+ <xsd:element name="suppressResponsePDF" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
532
+ <xsd:annotation>
533
+ <xsd:documentation>PDF nicht zurücksenden (Netzwerkresourcen sparen)</xsd:documentation>
534
+ </xsd:annotation>
535
+ </xsd:element>
536
+ </xsd:sequence>
537
+ </xsd:complexType>
538
+
539
+ <xsd:element name="CreateReminderRequest" type="document:createReminderType" />
540
+ <xsd:element name="CreateReminderResponse" type="document:documentcreatedtype" />
541
+
542
+ <xsd:element name="CreateDunningRequest" type="document:createReminderType" />
543
+ <xsd:element name="CreateDunningResponse" type="document:documentcreatedtype" />
544
+
545
+ <!-- Get document -->
546
+ <xsd:complexType name="GetDocumentType">
547
+ <xsd:complexContent>
548
+ <xsd:extension base="document:documentdescriptiontype">
549
+ <xsd:sequence>
550
+ <xsd:element name="payed" minOccurs="0" maxOccurs="1" default="false" nillable="true" type="xsd:boolean">
551
+ <xsd:annotation>
552
+ <xsd:documentation>Ist die Rechnung bezahlt</xsd:documentation>
553
+ </xsd:annotation>
554
+ </xsd:element>
555
+ </xsd:sequence>
556
+ </xsd:extension>
557
+ </xsd:complexContent>
558
+ </xsd:complexType>
559
+
560
+ <!-- Ausbau 2; Abfrage aller Dokumente eines Kunden -->
561
+ <!-- Ausbau 3; Status und Zeitbereich - Kunde optional -->
562
+ <!-- Ausbau 4; Aufnahme von stornierten Dokumenten -->
563
+ <xsd:complexType name="GetDocumentsRequestType">
564
+ <xsd:sequence>
565
+ <xsd:element name="CustomerId" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1">
566
+ <xsd:annotation><xsd:documentation>Nur für diesen Kunden</xsd:documentation></xsd:annotation>
567
+ </xsd:element>
568
+ <xsd:element name="StatusType" minOccurs="0" maxOccurs="1">
569
+ <xsd:annotation><xsd:documentation>Nur dieser Status</xsd:documentation></xsd:annotation>
570
+ <xsd:simpleType>
571
+ <xsd:restriction base="xsd:string">
572
+ <xsd:enumeration value="DUE">
573
+ <xsd:annotation>
574
+ <xsd:documentation>Die Rechnung ist fällig</xsd:documentation>
575
+ </xsd:annotation>
576
+ </xsd:enumeration>
577
+ <xsd:enumeration value="PAYED">
578
+ <xsd:annotation>
579
+ <xsd:documentation>Die Rechnung wurde bezahlt</xsd:documentation>
580
+ </xsd:annotation>
581
+ </xsd:enumeration>
582
+ <xsd:enumeration value="OPEN">
583
+ <xsd:annotation>
584
+ <xsd:documentation>Die Rechnung ist noch fällig und noch nicht bezahlt</xsd:documentation>
585
+ </xsd:annotation>
586
+ </xsd:enumeration>
587
+ <xsd:enumeration value="OFFERS_OPEN">
588
+ <xsd:annotation>
589
+ <xsd:documentation>Angebote die erstellt wurden aber noch nicht beauftragt sind</xsd:documentation>
590
+ </xsd:annotation>
591
+ </xsd:enumeration>
592
+ </xsd:restriction>
593
+ </xsd:simpleType>
594
+ </xsd:element>
595
+ <xsd:element name="LimitPeriod" minOccurs="0" maxOccurs="1">
596
+ <xsd:annotation><xsd:documentation>Nur Dokumente (Dokumentendatum) innerhalb dieses Zeitraumes suchen</xsd:documentation></xsd:annotation>
597
+ <xsd:complexType>
598
+ <xsd:attribute name="from" type="xsd:date" use="required" />
599
+ <xsd:attribute name="until" type="xsd:date" use="required" />
600
+ </xsd:complexType>
601
+ </xsd:element>
602
+ <xsd:element name="Canceled" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="false">
603
+ <xsd:annotation><xsd:documentation>Sollen stornierte Dokumente berücksichtigt werden?</xsd:documentation></xsd:annotation>
604
+ </xsd:element>
605
+ </xsd:sequence>
606
+ </xsd:complexType>
607
+
608
+ <xsd:complexType name="GetDocumentsResponseType">
609
+ <xsd:sequence>
610
+ <xsd:element name="Document" type="document:GetDocumentType" minOccurs="0" maxOccurs="unbounded" />
611
+ </xsd:sequence>
612
+ </xsd:complexType>
613
+
614
+ <xsd:element name="GetDocumentsRequest" type="document:GetDocumentsRequestType" />
615
+ <xsd:element name="GetDocumentsResponse" type="document:GetDocumentsResponseType" />
616
+
617
+ <xsd:element name="GetDocumentRequest" type="xsd:unsignedLong" />
618
+ <xsd:element name="GetDocumentResponse" type="document:GetDocumentType" />
619
+
620
+ <xsd:element name="FindDocumentsByDocumentNumberRequest" type="xsd:string" />
621
+ <xsd:element name="FindDocumentsByDocumentNumberResponse" type="document:GetDocumentsResponseType" />
622
+
623
+ <xsd:complexType name="GetDocumentPDFResponseType">
624
+ <xsd:sequence>
625
+ <xsd:element name="file" type="xsd:base64Binary" minOccurs="1" maxOccurs="1" >
626
+ <xsd:annotation>
627
+ <xsd:documentation>Base64 gepackter Dateiinhalt</xsd:documentation>
628
+ </xsd:annotation>
629
+ </xsd:element>
630
+ <xsd:element name="filename" type="xsd:string" minOccurs="1" maxOccurs="1" />
631
+ </xsd:sequence>
632
+ </xsd:complexType>
633
+
634
+ <xsd:element name="GetDocumentPDFRequest" type="xsd:unsignedLong" >
635
+ <xsd:annotation>
636
+ <xsd:documentation>DocumentId</xsd:documentation>
637
+ </xsd:annotation>
638
+ </xsd:element>
639
+ <xsd:element name="GetDocumentPDFResponse" type="document:GetDocumentPDFResponseType" />
640
+
641
+ <!-- Ausbau 3; payment -->
642
+ <xsd:complexType name="documentpaymenttype">
643
+ <xsd:sequence>
644
+ <xsd:element name="documentID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1">
645
+ <xsd:annotation>
646
+ <xsd:documentation>Die DocumentID ermöglich die eindeutige Identifikation des Dokumentes</xsd:documentation>
647
+ </xsd:annotation>
648
+ </xsd:element>
649
+ <xsd:element name="amount" minOccurs="1" maxOccurs="1" type="xsd:float">
650
+ <xsd:annotation>
651
+ <xsd:documentation>Betrag der bezahlt wurde, in kleinster Einheit ihrer Währung (z.B. cent bei Euro )</xsd:documentation>
652
+ </xsd:annotation>
653
+ </xsd:element>
654
+ <xsd:element name="paymentdate" minOccurs="1" maxOccurs="1" type="xsd:date">
655
+ <xsd:annotation>
656
+ <xsd:documentation>Zahlungsdatum</xsd:documentation>
657
+ </xsd:annotation>
658
+ </xsd:element>
659
+ <xsd:element name="paymenttype" minOccurs="1" maxOccurs="1" type="xsd:string">
660
+ <xsd:annotation>
661
+ <xsd:documentation>Zahlungsart</xsd:documentation>
662
+ </xsd:annotation>
663
+ </xsd:element>
664
+ <xsd:element name="notice" minOccurs="0" maxOccurs="1" type="xsd:string" nillable="true">
665
+ <xsd:annotation>
666
+ <xsd:documentation>allgemeine Information</xsd:documentation>
667
+ </xsd:annotation>
668
+ </xsd:element>
669
+ <xsd:element name="payed" minOccurs="0" maxOccurs="1" type="xsd:boolean" nillable="true">
670
+ <xsd:annotation>
671
+ <xsd:documentation>Wurde die Rechnung vollständig bezahlt</xsd:documentation>
672
+ </xsd:annotation>
673
+ </xsd:element>
674
+ </xsd:sequence>
675
+ </xsd:complexType>
676
+
677
+ <xsd:element name="AddDocumentPaymentRequest" type="document:documentpaymenttype" />
678
+ <xsd:element name="AddDocumentPaymentResponse" type="xsd:boolean" />
679
+
680
+ <xsd:element name="GetDocumentPaymentsRequest" type="xsd:unsignedLong">
681
+ <xsd:annotation>
682
+ <xsd:documentation>Gibt alle Zahlungen eines Dokuments zurück - Anfrage Parameter DokumentId </xsd:documentation>
683
+ </xsd:annotation>
684
+ </xsd:element>
685
+
686
+ <xsd:complexType name="GetDocumentPaymentsType">
687
+ <xsd:sequence>
688
+ <xsd:element name="Payment" type="document:documentpaymenttype" minOccurs="0" maxOccurs="unbounded"/>
689
+ <xsd:element name="payed" type="xsd:boolean" minOccurs="0" maxOccurs="1" nillable="true"/>
690
+ <xsd:element name="toPay" type="xsd:float" minOccurs="0" maxOccurs="1" nillable="true">
691
+ <xsd:annotation>
692
+ <xsd:documentation>Betrag der noch zu bezahlen ist, in kleinster Einheit ihrer Währung (z.B. cent bei Euro )</xsd:documentation>
693
+ </xsd:annotation>
694
+ </xsd:element>
695
+ </xsd:sequence>
696
+ </xsd:complexType>
697
+
698
+ <xsd:element name="GetDocumentPaymentsResponse" type="document:GetDocumentPaymentsType" />
699
+
700
+ <!-- Cancel / Credit / Storno / Gutschrift -->
701
+ <xsd:complexType name="CreditCancelRequestType">
702
+ <xsd:sequence>
703
+ <xsd:element name="documentID" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1" nillable="false">
704
+ <xsd:annotation>
705
+ <xsd:documentation>Die DocumentID ermöglich die eindeutige Identifikation des Dokumentes.</xsd:documentation>
706
+ </xsd:annotation>
707
+ </xsd:element>
708
+ <xsd:element name="emailSubject" type="xsd:string" minOccurs="0" maxOccurs="1">
709
+ <xsd:annotation>
710
+ <xsd:documentation>E-Mail Betreff</xsd:documentation>
711
+ </xsd:annotation>
712
+ </xsd:element>
713
+ <xsd:element name="emailText" type="xsd:string" minOccurs="0" maxOccurs="1">
714
+ <xsd:annotation>
715
+ <xsd:documentation>E-Mail Text</xsd:documentation>
716
+ </xsd:annotation>
717
+ </xsd:element>
718
+ <xsd:element name="sendasemail" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
719
+ <xsd:annotation>
720
+ <xsd:documentation>Versende das Dokument als E-Mail an den Kunden.
721
+ Dies setzt vorraus dass der Kunde eine E-Mail Adresse hat.</xsd:documentation>
722
+ </xsd:annotation>
723
+ </xsd:element>
724
+ <xsd:element name="sendaspost" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
725
+ <xsd:annotation>
726
+ <xsd:documentation>Versende das Dokument per Post an den Kunden.</xsd:documentation>
727
+ </xsd:annotation>
728
+ </xsd:element>
729
+ <xsd:element name="sendbyself" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:boolean">
730
+ <xsd:annotation>
731
+ <xsd:documentation>Dokument selber versendet.</xsd:documentation>
732
+ </xsd:annotation>
733
+ </xsd:element>
734
+
735
+ </xsd:sequence>
736
+ </xsd:complexType>
737
+
738
+ <!-- Cancel / Storno -->
739
+ <xsd:element name="ToCancelDocumentRequest" type="document:CreditCancelRequestType" />
740
+ <xsd:element name="ToCancelDocumentResponse" type="document:GetDocumentType" />
741
+
742
+ <!-- Credit / Gutschrift -->
743
+ <xsd:element name="ToCreditDocumentRequest" type="document:CreditCancelRequestType" />
744
+ <xsd:element name="ToCreditDocumentResponse" type="document:GetDocumentType" />
745
+
746
+ <xsd:complexType name="DocumentSentType">
747
+ <xsd:annotation>
748
+ <xsd:documentation>Wann wurde das Dokument versendet</xsd:documentation>
749
+ </xsd:annotation>
750
+ <xsd:sequence>
751
+ <xsd:element name="Sent" minOccurs="0" maxOccurs="unbounded">
752
+ <xsd:annotation>
753
+ <xsd:documentation>Einzelversand des Dokuments</xsd:documentation>
754
+ </xsd:annotation>
755
+ <xsd:complexType>
756
+ <xsd:sequence>
757
+ <xsd:element name="sentDate" type="xsd:date" minOccurs="0" maxOccurs="1" nillable="true">
758
+ <xsd:annotation>
759
+ <xsd:documentation>Versanddatum falls Leer - Versand noch nicht durchgeführt</xsd:documentation>
760
+ </xsd:annotation>
761
+ </xsd:element>
762
+ <xsd:element name="sendType" minOccurs="1" maxOccurs="1" >
763
+ <xsd:annotation>
764
+ <xsd:documentation>Versandart</xsd:documentation>
765
+ </xsd:annotation>
766
+ <xsd:simpleType>
767
+ <xsd:restriction base="xsd:string">
768
+ <xsd:enumeration value="EMAIL">
769
+ <xsd:annotation>
770
+ <xsd:documentation>Versendet als E-Mail</xsd:documentation>
771
+ </xsd:annotation>
772
+ </xsd:enumeration>
773
+ <xsd:enumeration value="POST">
774
+ <xsd:annotation>
775
+ <xsd:documentation>Versendet als Postwurfsendung</xsd:documentation>
776
+ </xsd:annotation>
777
+ </xsd:enumeration>
778
+ <xsd:enumeration value="FAX">
779
+ <xsd:annotation>
780
+ <xsd:documentation>Versendet als Fax</xsd:documentation>
781
+ </xsd:annotation>
782
+ </xsd:enumeration>
783
+ </xsd:restriction>
784
+ </xsd:simpleType>
785
+ </xsd:element>
786
+ </xsd:sequence>
787
+ </xsd:complexType>
788
+ </xsd:element>
789
+ </xsd:sequence>
790
+ </xsd:complexType>
791
+
792
+ <xsd:element name="GetDocumentSentRequest" type="xsd:unsignedLong">
793
+ <xsd:annotation>
794
+ <xsd:documentation>Gibt alle Versandzeiten eines Dokuments zurück - Anfrage Parameter DokumentId </xsd:documentation>
795
+ </xsd:annotation>
796
+ </xsd:element>
797
+ <xsd:element name="GetDocumentSentResponse" type="document:DocumentSentType" />
798
+
799
+ </xsd:schema>