quickbooks 0.4.0 → 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +23 -0
  3. data/License.txt +54 -0
  4. data/Manifest.txt +73 -0
  5. data/README.txt +79 -0
  6. data/Rakefile +17 -78
  7. data/lib/quickbooks.rb +153 -7
  8. data/lib/quickbooks/adaptability.rb +67 -0
  9. data/lib/quickbooks/adapters/http_adapter.rb +94 -0
  10. data/lib/quickbooks/adapters/https_adapter.rb +57 -0
  11. data/lib/quickbooks/adapters/ole_adapter.rb +141 -110
  12. data/lib/quickbooks/adapters/spew_adapter.rb +39 -0
  13. data/lib/quickbooks/adapters/tcp_adapter.rb +71 -0
  14. data/lib/quickbooks/adapters/test_adapter.rb +62 -0
  15. data/lib/quickbooks/element.rb +385 -0
  16. data/lib/quickbooks/element_collection.rb +105 -0
  17. data/lib/quickbooks/extlib.rb +8 -0
  18. data/lib/quickbooks/extlib/assertions.rb +8 -0
  19. data/lib/quickbooks/extlib/class.rb +98 -0
  20. data/lib/quickbooks/extlib/days_and_times.rb +10 -0
  21. data/lib/quickbooks/extlib/days_and_times/duration.rb +362 -0
  22. data/lib/quickbooks/extlib/days_and_times/numeric.rb +48 -0
  23. data/lib/quickbooks/extlib/days_and_times/object.rb +19 -0
  24. data/lib/quickbooks/extlib/days_and_times/time.rb +137 -0
  25. data/lib/quickbooks/extlib/hash.rb +327 -0
  26. data/lib/quickbooks/extlib/hook.rb +366 -0
  27. data/lib/quickbooks/extlib/inflection.rb +436 -0
  28. data/lib/quickbooks/extlib/logger.rb +202 -0
  29. data/lib/quickbooks/extlib/object.rb +162 -0
  30. data/lib/quickbooks/extlib/pathname.rb +15 -0
  31. data/lib/quickbooks/extlib/rubygems.rb +38 -0
  32. data/lib/quickbooks/extlib/string.rb +32 -0
  33. data/lib/quickbooks/extlib/time.rb +41 -0
  34. data/lib/quickbooks/model.rb +503 -121
  35. data/lib/quickbooks/option.rb +95 -0
  36. data/lib/quickbooks/property.rb +69 -0
  37. data/lib/quickbooks/ruby_ext.rb +251 -0
  38. data/lib/quickbooks/type.rb +75 -0
  39. data/lib/quickbooks/types.rb +58 -0
  40. data/lib/quickbooks/version.rb +10 -0
  41. data/lib/quickbooks/xsd.rb +243 -0
  42. data/lib/quickbooks/xsd/attribute.rb +57 -0
  43. data/lib/quickbooks/xsd/choice.rb +94 -0
  44. data/lib/quickbooks/xsd/complex_type.rb +77 -0
  45. data/lib/quickbooks/xsd/element.rb +214 -0
  46. data/lib/quickbooks/xsd/group.rb +94 -0
  47. data/lib/quickbooks/xsd/restriction.rb +51 -0
  48. data/lib/quickbooks/xsd/sequence.rb +85 -0
  49. data/lib/quickbooks/xsd/simple_type.rb +87 -0
  50. data/lib/quickbooks/xsd/union.rb +70 -0
  51. data/lib/quickbooks/xsd/validation.rb +89 -0
  52. data/lib/quickbooks/xsd/xml_parse.rb +80 -0
  53. data/quickbooks.gemspec +36 -0
  54. data/source/qbxml21_demo.xsd +2223 -0
  55. data/source/qbxmlops_demo.xsd +483 -0
  56. data/source/qbxmltypes.xsd +160 -0
  57. data/spec/association_spec.rb +5 -0
  58. data/spec/element_collection_spec.rb +8 -0
  59. data/spec/find_spec.rb +30 -0
  60. data/spec/lib/quickbooks/element_spec.rb +83 -0
  61. data/spec/lib/quickbooks/elements/sales_order_add_spec.rb +14 -0
  62. data/spec/lib/quickbooks/elements/vendor_add_spec.rb +78 -0
  63. data/spec/lib/quickbooks/model_spec.rb +89 -0
  64. data/spec/lib/quickbooks/models/customer_spec.rb +52 -0
  65. data/spec/lib/quickbooks/models/invoice_spec.rb +12 -0
  66. data/spec/lib/quickbooks/models/sales_order_line_spec.rb +0 -0
  67. data/spec/lib/quickbooks/models/sales_order_spec.rb +145 -0
  68. data/spec/lib/quickbooks/xsd/choice_spec.rb +18 -0
  69. data/spec/pending_spec.rb +11 -0
  70. data/spec/quickbooks_spec.rb +38 -0
  71. data/spec/repeatable_spec.rb +20 -0
  72. data/spec/requires_spec.rb +10 -0
  73. data/spec/spec_helper.rb +5 -0
  74. data/spec/validation_spec.rb +24 -0
  75. metadata +133 -285
  76. metadata.gz.sig +0 -0
  77. data/LICENSE +0 -16
  78. data/README +0 -49
  79. data/doc/classes/Array.html +0 -368
  80. data/doc/classes/Array.src/M000026.html +0 -18
  81. data/doc/classes/Array.src/M000027.html +0 -21
  82. data/doc/classes/Array.src/M000028.html +0 -18
  83. data/doc/classes/Array.src/M000029.html +0 -19
  84. data/doc/classes/Array.src/M000030.html +0 -18
  85. data/doc/classes/Array.src/M000031.html +0 -23
  86. data/doc/classes/Array.src/M000032.html +0 -18
  87. data/doc/classes/Array.src/M000033.html +0 -18
  88. data/doc/classes/Array.src/M000034.html +0 -18
  89. data/doc/classes/Array.src/M000035.html +0 -19
  90. data/doc/classes/Array.src/M000036.html +0 -18
  91. data/doc/classes/Array.src/M000037.html +0 -23
  92. data/doc/classes/Array.src/M000038.html +0 -18
  93. data/doc/classes/Array.src/M000039.html +0 -21
  94. data/doc/classes/Array.src/M000040.html +0 -18
  95. data/doc/classes/Array.src/M000041.html +0 -18
  96. data/doc/classes/Class.html +0 -171
  97. data/doc/classes/Class.src/M000042.html +0 -18
  98. data/doc/classes/Class.src/M000043.html +0 -18
  99. data/doc/classes/Hash.html +0 -516
  100. data/doc/classes/Hash.src/M000001.html +0 -18
  101. data/doc/classes/Hash.src/M000002.html +0 -21
  102. data/doc/classes/Hash.src/M000003.html +0 -18
  103. data/doc/classes/Hash.src/M000004.html +0 -21
  104. data/doc/classes/Hash.src/M000005.html +0 -18
  105. data/doc/classes/Hash.src/M000006.html +0 -20
  106. data/doc/classes/Hash.src/M000007.html +0 -18
  107. data/doc/classes/Hash.src/M000008.html +0 -22
  108. data/doc/classes/Hash.src/M000009.html +0 -18
  109. data/doc/classes/Hash.src/M000010.html +0 -21
  110. data/doc/classes/Hash.src/M000011.html +0 -24
  111. data/doc/classes/Hash.src/M000012.html +0 -18
  112. data/doc/classes/Hash.src/M000013.html +0 -21
  113. data/doc/classes/Hash.src/M000014.html +0 -18
  114. data/doc/classes/Hash.src/M000015.html +0 -21
  115. data/doc/classes/Hash.src/M000016.html +0 -18
  116. data/doc/classes/Hash.src/M000017.html +0 -21
  117. data/doc/classes/Hash.src/M000018.html +0 -27
  118. data/doc/classes/Hash.src/M000019.html +0 -20
  119. data/doc/classes/Hash.src/M000020.html +0 -18
  120. data/doc/classes/Hash.src/M000021.html +0 -18
  121. data/doc/classes/Hash.src/M000022.html +0 -18
  122. data/doc/classes/Hash.src/M000023.html +0 -18
  123. data/doc/classes/Hash.src/M000024.html +0 -18
  124. data/doc/classes/Hash.src/M000025.html +0 -28
  125. data/doc/classes/Object.html +0 -278
  126. data/doc/classes/Object.src/M000044.html +0 -24
  127. data/doc/classes/Object.src/M000045.html +0 -19
  128. data/doc/classes/Object.src/M000046.html +0 -24
  129. data/doc/classes/Object.src/M000047.html +0 -18
  130. data/doc/classes/Object.src/M000048.html +0 -19
  131. data/doc/classes/Object.src/M000049.html +0 -18
  132. data/doc/classes/Object.src/M000050.html +0 -18
  133. data/doc/classes/Object.src/M000051.html +0 -18
  134. data/doc/classes/Qbxml.html +0 -131
  135. data/doc/classes/Qbxml/Request.html +0 -224
  136. data/doc/classes/Qbxml/Request.src/M000132.html +0 -66
  137. data/doc/classes/Qbxml/Request.src/M000133.html +0 -19
  138. data/doc/classes/Qbxml/Request.src/M000134.html +0 -83
  139. data/doc/classes/Qbxml/RequestSet.html +0 -199
  140. data/doc/classes/Qbxml/RequestSet.src/M000135.html +0 -22
  141. data/doc/classes/Qbxml/RequestSet.src/M000136.html +0 -26
  142. data/doc/classes/Qbxml/RequestSet.src/M000137.html +0 -18
  143. data/doc/classes/Qbxml/RequestSet.src/M000138.html +0 -22
  144. data/doc/classes/Qbxml/Response.html +0 -302
  145. data/doc/classes/Qbxml/Response.src/M000123.html +0 -24
  146. data/doc/classes/Qbxml/Response.src/M000124.html +0 -19
  147. data/doc/classes/Qbxml/Response.src/M000125.html +0 -55
  148. data/doc/classes/Qbxml/Response.src/M000126.html +0 -18
  149. data/doc/classes/Qbxml/Response.src/M000127.html +0 -18
  150. data/doc/classes/Qbxml/Response.src/M000128.html +0 -18
  151. data/doc/classes/Qbxml/Response.src/M000129.html +0 -18
  152. data/doc/classes/Qbxml/Response.src/M000130.html +0 -18
  153. data/doc/classes/Qbxml/Response.src/M000131.html +0 -63
  154. data/doc/classes/Qbxml/ResponseSet.html +0 -244
  155. data/doc/classes/Qbxml/ResponseSet.src/M000116.html +0 -22
  156. data/doc/classes/Qbxml/ResponseSet.src/M000117.html +0 -26
  157. data/doc/classes/Qbxml/ResponseSet.src/M000118.html +0 -24
  158. data/doc/classes/Qbxml/ResponseSet.src/M000119.html +0 -20
  159. data/doc/classes/Qbxml/ResponseSet.src/M000120.html +0 -27
  160. data/doc/classes/Qbxml/ResponseSet.src/M000121.html +0 -18
  161. data/doc/classes/Qbxml/ResponseSet.src/M000122.html +0 -18
  162. data/doc/classes/Quickbooks.html +0 -196
  163. data/doc/classes/Quickbooks/Address.html +0 -139
  164. data/doc/classes/Quickbooks/Address.src/M000115.html +0 -19
  165. data/doc/classes/Quickbooks/Base.html +0 -567
  166. data/doc/classes/Quickbooks/Base.src/M000095.html +0 -18
  167. data/doc/classes/Quickbooks/Base.src/M000096.html +0 -20
  168. data/doc/classes/Quickbooks/Base.src/M000097.html +0 -19
  169. data/doc/classes/Quickbooks/Base.src/M000098.html +0 -18
  170. data/doc/classes/Quickbooks/Base.src/M000099.html +0 -19
  171. data/doc/classes/Quickbooks/Base.src/M000100.html +0 -30
  172. data/doc/classes/Quickbooks/Base.src/M000101.html +0 -22
  173. data/doc/classes/Quickbooks/Base.src/M000102.html +0 -30
  174. data/doc/classes/Quickbooks/Base.src/M000103.html +0 -19
  175. data/doc/classes/Quickbooks/Base.src/M000104.html +0 -19
  176. data/doc/classes/Quickbooks/Base.src/M000105.html +0 -18
  177. data/doc/classes/Quickbooks/Base.src/M000106.html +0 -18
  178. data/doc/classes/Quickbooks/Base.src/M000107.html +0 -19
  179. data/doc/classes/Quickbooks/Base.src/M000108.html +0 -18
  180. data/doc/classes/Quickbooks/Base.src/M000109.html +0 -45
  181. data/doc/classes/Quickbooks/Base.src/M000110.html +0 -18
  182. data/doc/classes/Quickbooks/Base.src/M000111.html +0 -18
  183. data/doc/classes/Quickbooks/Base.src/M000112.html +0 -20
  184. data/doc/classes/Quickbooks/BillAddress.html +0 -113
  185. data/doc/classes/Quickbooks/CreditCardInfo.html +0 -113
  186. data/doc/classes/Quickbooks/Customer.html +0 -113
  187. data/doc/classes/Quickbooks/CustomerTypeRef.html +0 -113
  188. data/doc/classes/Quickbooks/Deleted.html +0 -113
  189. data/doc/classes/Quickbooks/ItemSalesTaxRef.html +0 -113
  190. data/doc/classes/Quickbooks/JobTypeRef.html +0 -113
  191. data/doc/classes/Quickbooks/ListDeleted.html +0 -139
  192. data/doc/classes/Quickbooks/ListDeleted.src/M000114.html +0 -18
  193. data/doc/classes/Quickbooks/ListItem.html +0 -170
  194. data/doc/classes/Quickbooks/ListItem.src/M000093.html +0 -20
  195. data/doc/classes/Quickbooks/ListItem.src/M000094.html +0 -18
  196. data/doc/classes/Quickbooks/Model.html +0 -462
  197. data/doc/classes/Quickbooks/Model.src/M000073.html +0 -24
  198. data/doc/classes/Quickbooks/Model.src/M000074.html +0 -19
  199. data/doc/classes/Quickbooks/Model.src/M000075.html +0 -18
  200. data/doc/classes/Quickbooks/Model.src/M000076.html +0 -18
  201. data/doc/classes/Quickbooks/Model.src/M000077.html +0 -18
  202. data/doc/classes/Quickbooks/Model.src/M000078.html +0 -22
  203. data/doc/classes/Quickbooks/Model.src/M000079.html +0 -32
  204. data/doc/classes/Quickbooks/Model.src/M000080.html +0 -32
  205. data/doc/classes/Quickbooks/Model.src/M000081.html +0 -18
  206. data/doc/classes/Quickbooks/Model.src/M000082.html +0 -18
  207. data/doc/classes/Quickbooks/Model.src/M000083.html +0 -22
  208. data/doc/classes/Quickbooks/Model.src/M000084.html +0 -23
  209. data/doc/classes/Quickbooks/Model.src/M000085.html +0 -18
  210. data/doc/classes/Quickbooks/Model.src/M000086.html +0 -21
  211. data/doc/classes/Quickbooks/Model.src/M000087.html +0 -26
  212. data/doc/classes/Quickbooks/Model.src/M000088.html +0 -26
  213. data/doc/classes/Quickbooks/Model.src/M000089.html +0 -26
  214. data/doc/classes/Quickbooks/Model.src/M000090.html +0 -21
  215. data/doc/classes/Quickbooks/Model.src/M000091.html +0 -23
  216. data/doc/classes/Quickbooks/OleAdapter.html +0 -129
  217. data/doc/classes/Quickbooks/OleAdapter/Connection.html +0 -343
  218. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000058.html +0 -18
  219. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000059.html +0 -19
  220. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000060.html +0 -24
  221. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000061.html +0 -18
  222. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000062.html +0 -18
  223. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000063.html +0 -21
  224. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000064.html +0 -24
  225. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000065.html +0 -20
  226. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000066.html +0 -24
  227. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000067.html +0 -24
  228. data/doc/classes/Quickbooks/OleAdapter/Ole.html +0 -209
  229. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000068.html +0 -21
  230. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000069.html +0 -22
  231. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000070.html +0 -18
  232. data/doc/classes/Quickbooks/ParentRef.html +0 -113
  233. data/doc/classes/Quickbooks/PreferredPaymentMethodRef.html +0 -113
  234. data/doc/classes/Quickbooks/PriceLevelRef.html +0 -113
  235. data/doc/classes/Quickbooks/QbxmlDebugAdapter.html +0 -111
  236. data/doc/classes/Quickbooks/QbxmlDebugAdapter/Connection.html +0 -139
  237. data/doc/classes/Quickbooks/QbxmlDebugAdapter/Connection.src/M000057.html +0 -18
  238. data/doc/classes/Quickbooks/Ref.html +0 -146
  239. data/doc/classes/Quickbooks/Ref.src/M000113.html +0 -18
  240. data/doc/classes/Quickbooks/SalesRepRef.html +0 -113
  241. data/doc/classes/Quickbooks/SalesTaxCodeRef.html +0 -113
  242. data/doc/classes/Quickbooks/ShipAddress.html +0 -113
  243. data/doc/classes/Quickbooks/TermsRef.html +0 -113
  244. data/doc/classes/Quickbooks/Transaction.html +0 -154
  245. data/doc/classes/Quickbooks/Transaction.src/M000071.html +0 -19
  246. data/doc/classes/Quickbooks/Transaction.src/M000072.html +0 -18
  247. data/doc/classes/Quickbooks/TxnDeleted.html +0 -139
  248. data/doc/classes/Quickbooks/TxnDeleted.src/M000092.html +0 -18
  249. data/doc/classes/String.html +0 -203
  250. data/doc/classes/String.src/M000052.html +0 -18
  251. data/doc/classes/String.src/M000053.html +0 -18
  252. data/doc/classes/String.src/M000054.html +0 -18
  253. data/doc/classes/String.src/M000055.html +0 -18
  254. data/doc/classes/String.src/M000056.html +0 -18
  255. data/doc/created.rid +0 -1
  256. data/doc/files/LICENSE.html +0 -129
  257. data/doc/files/README.html +0 -225
  258. data/doc/files/lib/qbxml/request_rb.html +0 -110
  259. data/doc/files/lib/qbxml/response_rb.html +0 -109
  260. data/doc/files/lib/qbxml/support_rb.html +0 -101
  261. data/doc/files/lib/qbxml_rb.html +0 -122
  262. data/doc/files/lib/quickbooks/adapters/ole_adapter_rb.html +0 -108
  263. data/doc/files/lib/quickbooks/adapters/qbxml_debug_adapter_rb.html +0 -108
  264. data/doc/files/lib/quickbooks/base_rb.html +0 -327
  265. data/doc/files/lib/quickbooks/model_rb.html +0 -108
  266. data/doc/files/lib/quickbooks/models/common/address_rb.html +0 -101
  267. data/doc/files/lib/quickbooks/models/common/all_refs_rb.html +0 -101
  268. data/doc/files/lib/quickbooks/models/customer/credit_card_info_rb.html +0 -101
  269. data/doc/files/lib/quickbooks/models/customer_rb.html +0 -110
  270. data/doc/files/lib/quickbooks/models/deleted_rb.html +0 -101
  271. data/doc/files/lib/quickbooks/models/list_item_rb.html +0 -101
  272. data/doc/files/lib/quickbooks/models/transaction_rb.html +0 -101
  273. data/doc/files/lib/quickbooks/ruby_magic_rb.html +0 -120
  274. data/doc/files/lib/quickbooks_rb.html +0 -125
  275. data/doc/fr_class_index.html +0 -64
  276. data/doc/fr_file_index.html +0 -45
  277. data/doc/fr_method_index.html +0 -164
  278. data/doc/index.html +0 -24
  279. data/doc/rdoc-style.css +0 -208
  280. data/lib/qbxml.rb +0 -3
  281. data/lib/qbxml/request.rb +0 -207
  282. data/lib/qbxml/response.rb +0 -197
  283. data/lib/qbxml/support.rb +0 -130
  284. data/lib/quickbooks/adapters/qbxml_debug_adapter.rb +0 -10
  285. data/lib/quickbooks/base.rb +0 -277
  286. data/lib/quickbooks/models/common/address.rb +0 -14
  287. data/lib/quickbooks/models/common/all_refs.rb +0 -37
  288. data/lib/quickbooks/models/customer.rb +0 -70
  289. data/lib/quickbooks/models/customer/credit_card_info.rb +0 -5
  290. data/lib/quickbooks/models/deleted.rb +0 -22
  291. data/lib/quickbooks/models/list_item.rb +0 -41
  292. data/lib/quickbooks/models/transaction.rb +0 -49
  293. data/lib/quickbooks/ruby_magic.rb +0 -213
@@ -0,0 +1,87 @@
1
+ module Quickbooks
2
+ class XSD
3
+ class Type
4
+ end
5
+ class SimpleType < Type
6
+ attr_reader :name
7
+ attr_accessor :restriction, :type
8
+
9
+ def name
10
+ @name || (@type ? @type.name : (@restriction && @restriction.base))
11
+ end
12
+
13
+ def initialize(attributes={})
14
+ @name = attributes.delete('name')
15
+ @type = attributes.delete(:type)
16
+ @restriction = attributes.delete(:restriction)
17
+ warn "!! Unhandled simple type attributes: #{attributes.keys.join(', ')}" if !attributes.empty?
18
+ end
19
+
20
+ def <<(something)
21
+ case something
22
+ when Union
23
+ self.type = something
24
+ else
25
+ warn "Something (#{something.inspect}) not handled by #{inspect}"
26
+ end
27
+ end
28
+
29
+ def merge(attributes)
30
+ self.class.new({'name' => @name, :type => @type}.merge(attributes))
31
+ end
32
+
33
+ def merge!(simple_type)
34
+ @name = simple_type.name || @name
35
+ @type = simple_type.type || @type
36
+ self
37
+ end
38
+
39
+ def clone
40
+ self.class.new('name' => @name, :type => @type ? @type.clone : nil, :restriction => @restriction ? @restriction.clone : nil)
41
+ end
42
+
43
+ def inspect
44
+ "(#{(type || restriction).inspect})"
45
+ end
46
+
47
+ def validate(object,required=true)
48
+ # Validate the object's contents
49
+ puts "#{$DEBUG<<"\t"}Validating #{object.to_s} CONFORMS TO #SimpleType" if $DEBUG
50
+ r = Valean.new(nil, required, :exists => true)
51
+ r << type.validate(object) if type
52
+ r << restriction.validate(object) if restriction
53
+ $DEBUG.chop! if $DEBUG
54
+ puts "#{$DEBUG}\t- #{r}" if $DEBUG
55
+ r
56
+ end
57
+
58
+ def find(key)
59
+ children.select {|i| i.name == key}[0]
60
+ end
61
+
62
+ def include?(key_or_xsd)
63
+ key_or_xsd.is_a?(String) ?
64
+ children.collect {|e| e.name}.include?(key_or_xsd) :
65
+ (key_or_xsd == self || (type ? type.include?(key_or_xsd) : false))
66
+ end
67
+
68
+ def index(key)
69
+ children.collect {|e| e.name}.index(key.to_s)
70
+ end
71
+
72
+ # Reports whether the named Quickbooks::XSD::Element or other xsd object is allowed more than once in its parent.
73
+ def repeatable?(key)
74
+ type ? type.repeatable?(key) : false
75
+ end
76
+
77
+ # Reports whether the named Quickbooks::XSD::Element or other xsd object is required within its container.
78
+ def required?(key_or_xsd)
79
+ key_or_xsd == self || (type ? type.required?(key_or_xsd) : false)
80
+ end
81
+
82
+ def children
83
+ type ? type.children : []
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,70 @@
1
+ module Quickbooks
2
+ class XSD
3
+ class Union
4
+ attr_accessor :type
5
+
6
+ def initialize(attributes)
7
+ @items = attributes.delete(:items)
8
+ puts "More attributes for Union: #{attributes.inspect}" unless attributes.empty?
9
+ end
10
+
11
+ def items
12
+ @items ||= []
13
+ end
14
+
15
+ def <<(something)
16
+ items << something
17
+ end
18
+
19
+ def clone
20
+ self.class.new(:items => items.map {|i| i.clone})
21
+ end
22
+
23
+ def inspect
24
+ "#{@items.map {|i| i.inspect}.join(' or ')}"
25
+ end
26
+
27
+ def validate(object,required=true)
28
+ # Validate the object's contents
29
+ puts "#{$DEBUG<<"\t"}Validating #{object.to_s} CONFORMS TO #Union" if $DEBUG
30
+ r = Valean.new
31
+ r.invalid!("invalid value") unless items.collect {|i| i.validate(object)}.any? {|i| i.exists? && i.valid?}
32
+ $DEBUG.chop! if $DEBUG
33
+ puts "#{$DEBUG}\t- #{r}" if $DEBUG
34
+ r
35
+ end
36
+
37
+ def find(key)
38
+ children.select {|i| i.name == key}[0]
39
+ end
40
+
41
+ def include?(key_or_xsd)
42
+ key_or_xsd.is_a?(String) ?
43
+ children.collect {|e| e.name}.include?(key_or_xsd) :
44
+ (key_or_xsd == self || items.any? {|i| i.include?(key_or_xsd)})
45
+ end
46
+
47
+ def index(key)
48
+ children.collect {|e| e.name}.index(key.to_s)
49
+ end
50
+
51
+ # Reports whether the named Quickbooks::XSD::Element or other xsd object is allowed more than once in its parent.
52
+ def repeatable?(key=nil)
53
+ items.any? {|i| i.include?(key) && i.repeatable?(key)}
54
+ end
55
+
56
+ # Reports whether the named Quickbooks::XSD::Element or other xsd object is required within its container.
57
+ def required?(key_or_xsd)
58
+ key_or_xsd.is_a?(String) ?
59
+ items.any? {|i| i.include?(key_or_xsd) && i.required?(key_or_xsd)} :
60
+ (key_or_xsd == self || items.select {|i| i.include?(key_or_xsd)}.any? {|i| i.required?(key_or_xsd)})
61
+ end
62
+
63
+ def children
64
+ children = []
65
+ items.map {|i| i.is_a?(Quickbooks::XSD::Element) ? children << i : children.concat(i.children)}
66
+ children
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,89 @@
1
+ class Class
2
+ def bit_accessor(*names)
3
+ names.each do |name,xname|
4
+ class_eval "def #{name}?; !!@#{name}; end"
5
+ class_eval "def #{xname}?; !@#{name}; end"
6
+ class_eval "def #{name}!; @#{name} = true; end"
7
+ class_eval "def #{xname}!(msg=nil)\n @#{name} = false\n errors << (name ? \"\#{name}: \#{msg}\" : msg) if msg\nend"
8
+ end
9
+ end
10
+ end
11
+
12
+ class Valean
13
+ class << self
14
+ def perfect!(name, required=false)
15
+ Valean.new(name, required, :exists => true)
16
+ end
17
+ end
18
+
19
+ bit_accessor [:required, :optional], [:exists, :missing], [:valid, :invalid]
20
+ attr_reader :name
21
+ # Valean.new => (required, exists, valid)
22
+ # Valean.new(true) => (required, missing, valid)
23
+ # Valean.new(false) => (optional, missing, valid)
24
+ # Valean.new(false, :exists => true) => (optional, exists, valid)
25
+ def initialize(name=nil, required=nil, others={})
26
+ @name = name
27
+ if required.nil?
28
+ @required = true
29
+ @exists = true
30
+ else
31
+ @required = required
32
+ end
33
+ @valid = true
34
+ others.each do |k,v|
35
+ instance_variable_set("@#{k}", v)
36
+ end
37
+ end
38
+
39
+ def <<(other)
40
+ puts "Importing #{other} into #{self} (#{required?}):" if $DEBUG
41
+ @exists = false if other.missing? && other.required?
42
+ @valid = false if other.invalid?
43
+ errors.concat(other.errors.map {|i| name ? "#{name}: #{i}" : i})
44
+ puts "#{self}" if $DEBUG
45
+ self
46
+ end
47
+
48
+ def errors
49
+ @errors ||= []
50
+ end
51
+
52
+ def ensure(*bits)
53
+ bits.all? {|bit| send("#{bit}?")}
54
+ end
55
+
56
+ def perfect?
57
+ v = valid? ? true : false
58
+ required? ?
59
+ (exists? ? v : false) :
60
+ (exists? ? v : true)
61
+ end
62
+
63
+ def to_s
64
+ re = required? ? 'required' : 'optional'
65
+ ex = exists? ? 'exists' : 'missing'
66
+ va = valid? ? 'valid' : 'invalid'
67
+ # (invalid) - required, exists but invalid
68
+ # (perfect) - required, exists and valid
69
+ # (missing) - required but missing
70
+ # (invalid) - optional, exists but invalid
71
+ # (great) - optional, exists and valid
72
+ # (fine) - optional but missing
73
+ required? ?
74
+ (exists? ? (valid? ? '(perfect)' : '(invalid)') : '(missing)') :
75
+ (exists? ? (valid? ? '(great)' : '(invalid)') : '(fine)')
76
+ # valid? ? ((required? && exists?) ? "(perfect)" : "(fine)") : (exists? ? "(#{re}, invalid)" : "(#{re}, missing)")
77
+ end
78
+ alias :inspect :to_s
79
+ end
80
+
81
+ module Validation
82
+ def validate_these(objects)
83
+ puts "#{$DEBUG<<"\t"}Validating Objects..." if $DEBUG
84
+ r = objects.inject(Valean.new(nil, true, :exists => true)) {|r,object| r << validate(object); r}
85
+ $DEBUG.chop! if $DEBUG
86
+ puts "#{$DEBUG}\t- #{r}" if $DEBUG
87
+ r
88
+ end
89
+ end
@@ -0,0 +1,80 @@
1
+ require 'rexml/light/node'
2
+ require 'rexml/document'
3
+ class REXMLUtilityNode # :nodoc:
4
+ attr_accessor :name, :attributes, :children
5
+
6
+ def initialize(name, attributes = {})
7
+ @name = name.tr("-", "_")
8
+ @attributes = undasherize_keys(attributes)
9
+ @children = []
10
+ @text = false
11
+ end
12
+
13
+ def add_node(node)
14
+ @text = true if node.is_a? String
15
+ @children << node
16
+ end
17
+
18
+ def to_hash
19
+ if @text
20
+ return { name => typecast_value( translate_xml_entities( inner_html ) ) }
21
+ else
22
+ #change repeating groups into an array
23
+ # group by the first key of each element of the array to find repeating groups
24
+ groups = @children.group_by { |c| c.name }
25
+
26
+ hash = {}
27
+ groups.each do |key, values|
28
+ if values.size == 1
29
+ hash.merge! values.first
30
+ else
31
+ hash.merge! key => values.map { |element| element.to_hash[key] }
32
+ end
33
+ end
34
+
35
+ # merge the arrays, including attributes
36
+ hash.merge! attributes unless attributes.empty?
37
+
38
+ { name => hash }
39
+ end
40
+ end
41
+
42
+ def typecast_value(value)
43
+ return value unless attributes["type"]
44
+
45
+ case attributes["type"]
46
+ when "integer" then value.to_i
47
+ when "boolean" then value.strip == "true"
48
+ when "datetime" then ::Time.parse(value).utc
49
+ when "date" then ::Date.parse(value)
50
+ else value
51
+ end
52
+ end
53
+
54
+ def translate_xml_entities(value)
55
+ value.gsub(/&lt;/, "<").
56
+ gsub(/&gt;/, ">").
57
+ gsub(/&quot;/, '"').
58
+ gsub(/&apos;/, "'").
59
+ gsub(/&amp;/, "&")
60
+ end
61
+
62
+ def undasherize_keys(params)
63
+ params.keys.each do |key, vvalue|
64
+ params[key.tr("-", "_")] = params.delete(key)
65
+ end
66
+ params
67
+ end
68
+
69
+ def inner_html
70
+ @children.join
71
+ end
72
+
73
+ def to_html
74
+ "<#{name}#{attributes.to_xml_attributes}>#{inner_html}</#{name}>"
75
+ end
76
+
77
+ def to_s
78
+ to_html
79
+ end
80
+ end
@@ -0,0 +1,36 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{quickbooks}
5
+ s.version = "0.9.9"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["BehindLogic"]
9
+ s.cert_chain = ["/Users/dcparker/.gem/gem-public_cert.pem"]
10
+ s.date = %q{2009-12-16}
11
+ s.description = %q{The only comprehensive Ruby interface to Quickbooks. THIS IS A DEMO VERSION. Visit behindlogic.com for the full version, which works with all versions of QuickBooks.}
12
+ s.email = ["gems@behindlogic.com"]
13
+ s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt"]
14
+ s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "lib/quickbooks.rb", "lib/quickbooks/adaptability.rb", "lib/quickbooks/adapters/http_adapter.rb", "lib/quickbooks/adapters/https_adapter.rb", "lib/quickbooks/adapters/ole_adapter.rb", "lib/quickbooks/adapters/spew_adapter.rb", "lib/quickbooks/adapters/tcp_adapter.rb", "lib/quickbooks/adapters/test_adapter.rb", "lib/quickbooks/adapters/xmpp_adapter.rb", "lib/quickbooks/element.rb", "lib/quickbooks/element_collection.rb", "lib/quickbooks/extlib.rb", "lib/quickbooks/extlib/assertions.rb", "lib/quickbooks/extlib/class.rb", "lib/quickbooks/extlib/days_and_times.rb", "lib/quickbooks/extlib/days_and_times/duration.rb", "lib/quickbooks/extlib/days_and_times/numeric.rb", "lib/quickbooks/extlib/days_and_times/object.rb", "lib/quickbooks/extlib/days_and_times/time.rb", "lib/quickbooks/extlib/hash.rb", "lib/quickbooks/extlib/hook.rb", "lib/quickbooks/extlib/inflection.rb", "lib/quickbooks/extlib/logger.rb", "lib/quickbooks/extlib/object.rb", "lib/quickbooks/extlib/pathname.rb", "lib/quickbooks/extlib/rubygems.rb", "lib/quickbooks/extlib/string.rb", "lib/quickbooks/extlib/time.rb", "lib/quickbooks/model.rb", "lib/quickbooks/option.rb", "lib/quickbooks/property.rb", "lib/quickbooks/ruby_ext.rb", "lib/quickbooks/type.rb", "lib/quickbooks/types.rb", "lib/quickbooks/version.rb", "lib/quickbooks/xsd.rb", "lib/quickbooks/xsd/attribute.rb", "lib/quickbooks/xsd/choice.rb", "lib/quickbooks/xsd/complex_type.rb", "lib/quickbooks/xsd/element.rb", "lib/quickbooks/xsd/group.rb", "lib/quickbooks/xsd/restriction.rb", "lib/quickbooks/xsd/sequence.rb", "lib/quickbooks/xsd/simple_type.rb", "lib/quickbooks/xsd/union.rb", "lib/quickbooks/xsd/validation.rb", "lib/quickbooks/xsd/xml_parse.rb", "quickbooks.gemspec", "source/qbxml21_demo.xsd", "source/qbxmlops_demo.xsd", "source/qbxmltypes.xsd", "spec/association_spec.rb", "spec/element_collection_spec.rb", "spec/find_spec.rb", "spec/lib/quickbooks/element_spec.rb", "spec/lib/quickbooks/elements/sales_order_add_spec.rb", "spec/lib/quickbooks/elements/vendor_add_spec.rb", "spec/lib/quickbooks/model_spec.rb", "spec/lib/quickbooks/models/customer_spec.rb", "spec/lib/quickbooks/models/invoice_spec.rb", "spec/lib/quickbooks/models/sales_order_line_spec.rb", "spec/lib/quickbooks/models/sales_order_spec.rb", "spec/lib/quickbooks/xsd/choice_spec.rb", "spec/pending_spec.rb", "spec/quickbooks_spec.rb", "spec/repeatable_spec.rb", "spec/requires_spec.rb", "spec/spec_helper.rb", "spec/validation_spec.rb"]
15
+ s.homepage = %q{http://behindlogic.com}
16
+ s.rdoc_options = ["--main", "README.txt"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = %q{quickbooks}
19
+ s.rubygems_version = %q{1.3.5}
20
+ s.signing_key = %q{/Users/dcparker/.gem/gem-private_key.pem}
21
+ s.summary = %q{The only comprehensive Ruby interface to Quickbooks}
22
+ s.test_files = ["spec/association_spec.rb", "spec/element_collection_spec.rb", "spec/find_spec.rb", "spec/lib/quickbooks/element_spec.rb", "spec/lib/quickbooks/elements/sales_order_add_spec.rb", "spec/lib/quickbooks/elements/vendor_add_spec.rb", "spec/lib/quickbooks/model_spec.rb", "spec/lib/quickbooks/models/customer_spec.rb", "spec/lib/quickbooks/models/invoice_spec.rb", "spec/lib/quickbooks/models/sales_order_line_spec.rb", "spec/lib/quickbooks/models/sales_order_spec.rb", "spec/lib/quickbooks/xsd/choice_spec.rb", "spec/pending_spec.rb", "spec/quickbooks_spec.rb", "spec/repeatable_spec.rb", "spec/requires_spec.rb", "spec/validation_spec.rb"]
23
+
24
+ if s.respond_to? :specification_version then
25
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
+ s.specification_version = 3
27
+
28
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
+ s.add_development_dependency(%q<hoe>, [">= 1.8.3"])
30
+ else
31
+ s.add_dependency(%q<hoe>, [">= 1.8.3"])
32
+ end
33
+ else
34
+ s.add_dependency(%q<hoe>, [">= 1.8.3"])
35
+ end
36
+ end
@@ -0,0 +1,2223 @@
1
+ <!-- ============================================================================= -->
2
+ <!-- qbXML version 2.1 -->
3
+ <!-- -->
4
+ <!-- -->
5
+ <!-- Unpublished work. INTUIT CONFIDENTIAL. -->
6
+ <!-- Copyright 2001 Intuit Inc. All rights reserved. -->
7
+ <!-- -->
8
+ <!-- Use is subject to a qbXML Developer Agreement available at: -->
9
+ <!-- http://developer.intuit.com/legal/qbXML_021201.asp -->
10
+ <!-- and the terms specified at: -->
11
+ <!-- http://developer.intuit.com/legal/devsite_tos.html -->
12
+ <!-- -->
13
+ <!-- NOTICE: THE API IS A PRELIMINARY SPECIFICATION, AND IS SUBJECT TO CHANGE. -->
14
+ <!-- IT IS NOT FOR USE IN PRODUCTION. ANY USE OF THE API -->
15
+ <!-- IS AT YOUR OWN RISK. -->
16
+ <!-- -->
17
+ <!-- ============================================================================= -->
18
+ <!-- -->
19
+ <!-- qbxml21.xsd -->
20
+ <!-- -->
21
+ <!-- Unpublished work. INTUIT CONFIDENTIAL. -->
22
+ <!-- Copyright 2001 Intuit Inc. All rights reserved. -->
23
+ <!-- Use is subject to the terms specified at: -->
24
+ <!-- http://developer.intuit.com/legal/devsite_tos.html -->
25
+ <!-- -->
26
+ <!-- ============================================================================= -->
27
+
28
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
29
+
30
+ <!-- ============================================================================= -->
31
+ <!-- Elements -->
32
+ <!-- ============================================================================= -->
33
+
34
+ <xsd:element name="ListID" type="IDTYPE"/>
35
+ <xsd:element name="FullName" type="STRTYPE"/>
36
+ <xsd:element name="IsActive" type="BOOLTYPE"/>
37
+ <xsd:element name="AccountType">
38
+ <xsd:simpleType>
39
+ <xsd:restriction base="ENUMTYPE">
40
+ <xsd:enumeration value="AccountsPayable"/>
41
+ <xsd:enumeration value="AccountsReceivable"/>
42
+ <xsd:enumeration value="Bank"/>
43
+ <xsd:enumeration value="CostOfGoodsSold"/>
44
+ <xsd:enumeration value="CreditCard"/>
45
+ <xsd:enumeration value="Equity"/>
46
+ <xsd:enumeration value="Expense"/>
47
+ <xsd:enumeration value="FixedAsset"/>
48
+ <xsd:enumeration value="Income"/>
49
+ <xsd:enumeration value="LongTermLiability"/>
50
+ <xsd:enumeration value="OtherAsset"/>
51
+ <xsd:enumeration value="OtherCurrentAsset"/>
52
+ <xsd:enumeration value="OtherCurrentLiability"/>
53
+ <xsd:enumeration value="OtherExpense"/>
54
+ <xsd:enumeration value="OtherIncome"/>
55
+ <xsd:enumeration value="NonPosting"/>
56
+ </xsd:restriction>
57
+ </xsd:simpleType>
58
+ </xsd:element>
59
+ <xsd:element name="DetailAccountType">
60
+ <xsd:simpleType>
61
+ <xsd:restriction base="ENUMTYPE">
62
+ <xsd:enumeration value="AR"/>
63
+ <xsd:enumeration value="AllowanceForBadDebts"/>
64
+ <xsd:enumeration value="Checking"/>
65
+ <xsd:enumeration value="Savings"/>
66
+ <xsd:enumeration value="MoneyMarket"/>
67
+ <xsd:enumeration value="CashOnHand"/>
68
+ <xsd:enumeration value="TrustAccounts"/>
69
+ <xsd:enumeration value="RentsHeldInTrust"/>
70
+ <xsd:enumeration value="EmployeeCashAdvances"/>
71
+ <xsd:enumeration value="PrepaidExpenses"/>
72
+ <xsd:enumeration value="Retainage"/>
73
+ <xsd:enumeration value="UndepositedFunds"/>
74
+ <xsd:enumeration value="DevelopmentCosts"/>
75
+ <xsd:enumeration value="Inventory"/>
76
+ <xsd:enumeration value="LoansToOfficers"/>
77
+ <xsd:enumeration value="LoansToStockholders"/>
78
+ <xsd:enumeration value="LoansToOthers"/>
79
+ <xsd:enumeration value="OtherCurrentAssets"/>
80
+ <xsd:enumeration value="InvestmentUSGovObligations"/>
81
+ <xsd:enumeration value="InvestmentTaxExemptSecurities"/>
82
+ <xsd:enumeration value="InvestmentMortgageOrRealEstateLoans"/>
83
+ <xsd:enumeration value="InvestmentOther"/>
84
+ <xsd:enumeration value="Buildings"/>
85
+ <xsd:enumeration value="FurnitureAndFixtures"/>
86
+ <xsd:enumeration value="LeaseholdImprovements"/>
87
+ <xsd:enumeration value="MachineryAndEquipment"/>
88
+ <xsd:enumeration value="OtherFixedAssets"/>
89
+ <xsd:enumeration value="Vehicles"/>
90
+ <xsd:enumeration value="AccumulatedDepreciation"/>
91
+ <xsd:enumeration value="DepletableAssets"/>
92
+ <xsd:enumeration value="AccumulatedDepletion"/>
93
+ <xsd:enumeration value="IntangibleAssets"/>
94
+ <xsd:enumeration value="AccumulatedAmortization"/>
95
+ <xsd:enumeration value="Land"/>
96
+ <xsd:enumeration value="Goodwill"/>
97
+ <xsd:enumeration value="LeaseBuyout"/>
98
+ <xsd:enumeration value="Licenses"/>
99
+ <xsd:enumeration value="OrganizationalCosts"/>
100
+ <xsd:enumeration value="SecurityDeposits"/>
101
+ <xsd:enumeration value="OtherLongTermAssets"/>
102
+ <xsd:enumeration value="AccumulatedAmortizationOfOtherAssets"/>
103
+ <xsd:enumeration value="AP"/>
104
+ <xsd:enumeration value="CreditCard"/>
105
+ <xsd:enumeration value="InsurancePayable"/>
106
+ <xsd:enumeration value="PayrollClearing"/>
107
+ <xsd:enumeration value="PayrollTaxPayable"/>
108
+ <xsd:enumeration value="SalesTaxPayable"/>
109
+ <xsd:enumeration value="FederalIncomeTaxPayable"/>
110
+ <xsd:enumeration value="StateOrLocalIncomeTaxPayable"/>
111
+ <xsd:enumeration value="TrustAccountsLiab"/>
112
+ <xsd:enumeration value="RentsInTrustLiab"/>
113
+ <xsd:enumeration value="LineOfCredit"/>
114
+ <xsd:enumeration value="LoanPayable"/>
115
+ <xsd:enumeration value="PrepaidExpensesPayable"/>
116
+ <xsd:enumeration value="OtherCurrentLiab"/>
117
+ <xsd:enumeration value="NotesPayable"/>
118
+ <xsd:enumeration value="ShareholderNotesPayable"/>
119
+ <xsd:enumeration value="OtherLongTermLiab"/>
120
+ <xsd:enumeration value="AccumulatedAdjustment"/>
121
+ <xsd:enumeration value="CommonStock"/>
122
+ <xsd:enumeration value="PreferredStock"/>
123
+ <xsd:enumeration value="PaidInCapitalOrSurplus"/>
124
+ <xsd:enumeration value="TreasuryStock"/>
125
+ <xsd:enumeration value="OpeningBalanceEquity"/>
126
+ <xsd:enumeration value="OwnersEquity"/>
127
+ <xsd:enumeration value="PartnersEquity"/>
128
+ <xsd:enumeration value="PartnerContributions"/>
129
+ <xsd:enumeration value="PartnerDistributions"/>
130
+ <xsd:enumeration value="RetainedEarnings"/>
131
+ <xsd:enumeration value="ServiceOrFeeIncome"/>
132
+ <xsd:enumeration value="SalesOfProductIncome"/>
133
+ <xsd:enumeration value="NonProfitIncome"/>
134
+ <xsd:enumeration value="OtherPrimaryIncome"/>
135
+ <xsd:enumeration value="DiscountsOrRefundsGiven"/>
136
+ <xsd:enumeration value="InterestEarned"/>
137
+ <xsd:enumeration value="TaxExemptInterest"/>
138
+ <xsd:enumeration value="DividendIncome"/>
139
+ <xsd:enumeration value="OtherInvestmentIncome"/>
140
+ <xsd:enumeration value="OtherMiscIncome"/>
141
+ <xsd:enumeration value="CostOfLaborCOS"/>
142
+ <xsd:enumeration value="SuppliesAndMaterialsCOGS"/>
143
+ <xsd:enumeration value="ShippingFreightAndDeliveryCOS"/>
144
+ <xsd:enumeration value="EquipmentRentalCOS"/>
145
+ <xsd:enumeration value="OtherCostsOfServiceCOS"/>
146
+ <xsd:enumeration value="Auto"/>
147
+ <xsd:enumeration value="CharitableContributions"/>
148
+ <xsd:enumeration value="TaxesPaid"/>
149
+ <xsd:enumeration value="PayrollExpenses"/>
150
+ <xsd:enumeration value="LegalAndProfessionalFees"/>
151
+ <xsd:enumeration value="DuesAndSubscriptions"/>
152
+ <xsd:enumeration value="Insurance"/>
153
+ <xsd:enumeration value="OfficeOrGeneralAdministrativeExpenses"/>
154
+ <xsd:enumeration value="Utilities"/>
155
+ <xsd:enumeration value="RentOrLeaseOfBuildings"/>
156
+ <xsd:enumeration value="RepairAndMaintenance"/>
157
+ <xsd:enumeration value="TravelMeals"/>
158
+ <xsd:enumeration value="EntertainmentMeals"/>
159
+ <xsd:enumeration value="PromotionalMeals"/>
160
+ <xsd:enumeration value="Travel"/>
161
+ <xsd:enumeration value="Entertainment"/>
162
+ <xsd:enumeration value="AdvertisingOrPromotional"/>
163
+ <xsd:enumeration value="BankCharges"/>
164
+ <xsd:enumeration value="BadDebts"/>
165
+ <xsd:enumeration value="InterestPaid"/>
166
+ <xsd:enumeration value="CostOfLabor"/>
167
+ <xsd:enumeration value="SuppliesAndMaterials"/>
168
+ <xsd:enumeration value="ShippingFreightAndDelivery"/>
169
+ <xsd:enumeration value="EquipmentRental"/>
170
+ <xsd:enumeration value="OtherMiscServiceCost"/>
171
+ <xsd:enumeration value="Depreciation"/>
172
+ <xsd:enumeration value="Amortization"/>
173
+ <xsd:enumeration value="PenaltiesAndSettlements"/>
174
+ <xsd:enumeration value="OtherMiscExpense"/>
175
+ </xsd:restriction>
176
+ </xsd:simpleType>
177
+ </xsd:element>
178
+ <xsd:element name="OpenBalance" type="AMTTYPE"/>
179
+ <xsd:element name="OpenBalanceDate" type="DATETYPE"/>
180
+ <xsd:element name="MaxReturned">
181
+ <xsd:simpleType>
182
+ <xsd:restriction base="INTTYPE">
183
+ <xsd:minInclusive value="1"/>
184
+ </xsd:restriction>
185
+ </xsd:simpleType>
186
+ </xsd:element>
187
+ <xsd:element name="ActiveStatus" default="ActiveOnly">
188
+ <xsd:simpleType>
189
+ <xsd:restriction base="ENUMTYPE">
190
+ <xsd:enumeration value="ActiveOnly"/>
191
+ <xsd:enumeration value="InactiveOnly"/>
192
+ <xsd:enumeration value="All"/>
193
+ </xsd:restriction>
194
+ </xsd:simpleType>
195
+ </xsd:element>
196
+ <xsd:element name="FromModifiedDate" type="DATETIMETYPE"/>
197
+ <xsd:element name="ToModifiedDate" type="DATETIMETYPE"/>
198
+ <xsd:element name="MatchCriterion">
199
+ <xsd:simpleType>
200
+ <xsd:restriction base="ENUMTYPE">
201
+ <xsd:enumeration value="StartsWith"/>
202
+ <xsd:enumeration value="Contains"/>
203
+ <xsd:enumeration value="EndsWith"/>
204
+ </xsd:restriction>
205
+ </xsd:simpleType>
206
+ </xsd:element>
207
+ <xsd:element name="Name" type="STRTYPE"/>
208
+ <xsd:element name="FromName" type="STRTYPE"/>
209
+ <xsd:element name="ToName" type="STRTYPE"/>
210
+ <xsd:element name="OwnerID" type="GUIDTYPE"/>
211
+ <xsd:element name="Suffix" type="STRTYPE"/>
212
+ <xsd:element name="CreditLimit" type="AMTTYPE"/>
213
+ <xsd:element name="JobStatus" default="None">
214
+ <xsd:simpleType>
215
+ <xsd:restriction base="ENUMTYPE">
216
+ <xsd:enumeration value="None"/>
217
+ <xsd:enumeration value="Pending"/>
218
+ <xsd:enumeration value="Awarded"/>
219
+ <xsd:enumeration value="InProgress"/>
220
+ <xsd:enumeration value="Closed"/>
221
+ <xsd:enumeration value="NotAwarded"/>
222
+ </xsd:restriction>
223
+ </xsd:simpleType>
224
+ </xsd:element>
225
+ <xsd:element name="JobStartDate" type="DATETYPE"/>
226
+ <xsd:element name="JobProjectedEndDate" type="DATETYPE"/>
227
+ <xsd:element name="JobEndDate" type="DATETYPE"/>
228
+ <xsd:element name="IsStatementWithParent" type="BOOLTYPE"/>
229
+ <xsd:element name="DeliveryMethod" default="Print">
230
+ <xsd:simpleType>
231
+ <xsd:restriction base="ENUMTYPE">
232
+ <xsd:enumeration value="Print"/>
233
+ <xsd:enumeration value="Fax"/>
234
+ <xsd:enumeration value="Email"/>
235
+ </xsd:restriction>
236
+ </xsd:simpleType>
237
+ </xsd:element>
238
+ <xsd:element name="Amount" type="AMTTYPE"/>
239
+ <xsd:element name="Price" type="PRICETYPE"/>
240
+ <xsd:element name="PricePercent" type="PERCENTTYPE"/>
241
+ <xsd:element name="SalesPrice" type="PRICETYPE"/>
242
+ <xsd:element name="PurchaseCost" type="PRICETYPE"/>
243
+ <xsd:element name="TxnDate" type="DATETYPE"/>
244
+ <xsd:element name="IsPending" type="BOOLTYPE"/>
245
+ <xsd:element name="DueDate" type="DATETYPE"/>
246
+ <xsd:element name="ShipDate" type="DATETYPE"/>
247
+ <xsd:element name="IsToBePrinted" type="BOOLTYPE"/>
248
+ <xsd:element name="Quantity" type="QUANTYPE"/>
249
+ <xsd:element name="ServiceDate" type="DATETYPE"/>
250
+ <xsd:element name="TxnID" type="IDTYPE"/>
251
+ <xsd:element name="TxnLineID" type="IDTYPE"/>
252
+ <xsd:element name="RefNumber" type="STRTYPE"/>
253
+ <xsd:element name="FromTxnDate" type="DATETYPE"/>
254
+ <xsd:element name="ToTxnDate" type="DATETYPE"/>
255
+ <xsd:element name="DateMacro">
256
+ <xsd:simpleType>
257
+ <xsd:restriction base="ENUMTYPE">
258
+ <xsd:enumeration value="ThisWeekToDate"/>
259
+ <xsd:enumeration value="ThisMonthToDate"/>
260
+ <xsd:enumeration value="ThisFiscalQuarterToDate"/>
261
+ <xsd:enumeration value="ThisFiscalYearToDate"/>
262
+ <xsd:enumeration value="LastWeek"/>
263
+ <xsd:enumeration value="LastMonth"/>
264
+ <xsd:enumeration value="LastFiscalQuarter"/>
265
+ <xsd:enumeration value="LastFiscalYear"/>
266
+ </xsd:restriction>
267
+ </xsd:simpleType>
268
+ </xsd:element>
269
+ <xsd:element name="ListIDWithChildren" type="IDTYPE"/>
270
+ <xsd:element name="FullNameWithChildren" type="STRTYPE"/>
271
+ <xsd:element name="FromRefNumber" type="STRTYPE"/>
272
+ <xsd:element name="ToRefNumber" type="STRTYPE"/>
273
+ <xsd:element name="PaidStatus" default="All">
274
+ <xsd:simpleType>
275
+ <xsd:restriction base="ENUMTYPE">
276
+ <xsd:enumeration value="All"/>
277
+ <xsd:enumeration value="PaidOnly"/>
278
+ <xsd:enumeration value="NotPaidOnly"/>
279
+ </xsd:restriction>
280
+ </xsd:simpleType>
281
+ </xsd:element>
282
+ <xsd:element name="IncludeLineItems" type="BOOLTYPE"/>
283
+ <xsd:element name="IncludeLinkedTxns" type="BOOLTYPE"/>
284
+ <xsd:element name="ListDelType">
285
+ <xsd:simpleType>
286
+ <xsd:restriction base="ENUMTYPE">
287
+ <xsd:enumeration value="Account"/>
288
+ <xsd:enumeration value="Customer"/>
289
+ <xsd:enumeration value="Employee"/>
290
+ <xsd:enumeration value="OtherName"/>
291
+ <xsd:enumeration value="Vendor"/>
292
+ <xsd:enumeration value="StandardTerms"/>
293
+ <xsd:enumeration value="DateDrivenTerms"/>
294
+ <xsd:enumeration value="Class"/>
295
+ <xsd:enumeration value="SalesRep"/>
296
+ <xsd:enumeration value="CustomerType"/>
297
+ <xsd:enumeration value="VendorType"/>
298
+ <xsd:enumeration value="JobType"/>
299
+ <xsd:enumeration value="CustomerMsg"/>
300
+ <xsd:enumeration value="PaymentMethod"/>
301
+ <xsd:enumeration value="ShipMethod"/>
302
+ <xsd:enumeration value="SalesTaxCode"/>
303
+ <xsd:enumeration value="ToDo"/>
304
+ <xsd:enumeration value="ItemService"/>
305
+ <xsd:enumeration value="ItemNonInventory"/>
306
+ <xsd:enumeration value="ItemOtherCharge"/>
307
+ <xsd:enumeration value="ItemInventory"/>
308
+ <xsd:enumeration value="ItemInventoryAssembly"/>
309
+ <xsd:enumeration value="ItemSubtotal"/>
310
+ <xsd:enumeration value="ItemDiscount"/>
311
+ <xsd:enumeration value="ItemPayment"/>
312
+ <xsd:enumeration value="ItemSalesTax"/>
313
+ <xsd:enumeration value="ItemSalesTaxGroup"/>
314
+ <xsd:enumeration value="ItemGroup"/>
315
+ </xsd:restriction>
316
+ </xsd:simpleType>
317
+ </xsd:element>
318
+ <xsd:element name="FromDeletedDate" type="DATETIMETYPE"/>
319
+ <xsd:element name="ToDeletedDate" type="DATETIMETYPE"/>
320
+ <xsd:element name="TxnDelType">
321
+ <xsd:simpleType>
322
+ <xsd:restriction base="ENUMTYPE">
323
+ <xsd:enumeration value="Bill"/>
324
+ <xsd:enumeration value="BillPaymentCheck"/>
325
+ <xsd:enumeration value="BillPaymentCreditCard"/>
326
+ <xsd:enumeration value="Charge"/>
327
+ <xsd:enumeration value="Check"/>
328
+ <xsd:enumeration value="CreditCardCharge"/>
329
+ <xsd:enumeration value="CreditCardCredit"/>
330
+ <xsd:enumeration value="CreditMemo"/>
331
+ <xsd:enumeration value="Deposit"/>
332
+ <xsd:enumeration value="Estimate"/>
333
+ <xsd:enumeration value="Invoice"/>
334
+ <xsd:enumeration value="InventoryAdjustment"/>
335
+ <xsd:enumeration value="JournalEntry"/>
336
+ <xsd:enumeration value="PurchaseOrder"/>
337
+ <xsd:enumeration value="ReceivePayment"/>
338
+ <xsd:enumeration value="SalesOrder"/>
339
+ <xsd:enumeration value="SalesReceipt"/>
340
+ <xsd:enumeration value="TimeTracking"/>
341
+ <xsd:enumeration value="VendorCredit"/>
342
+ </xsd:restriction>
343
+ </xsd:simpleType>
344
+ </xsd:element>
345
+ <xsd:element name="TxnVoidType">
346
+ <xsd:simpleType>
347
+ <xsd:restriction base="ENUMTYPE">
348
+ <xsd:enumeration value="Bill"/>
349
+ <xsd:enumeration value="BillPaymentCheck"/>
350
+ <xsd:enumeration value="BillPaymentCreditCard"/>
351
+ <xsd:enumeration value="Charge"/>
352
+ <xsd:enumeration value="Check"/>
353
+ <xsd:enumeration value="CreditCardCharge"/>
354
+ <xsd:enumeration value="CreditCardCredit"/>
355
+ <xsd:enumeration value="CreditMemo"/>
356
+ <xsd:enumeration value="Deposit"/>
357
+ <xsd:enumeration value="Invoice"/>
358
+ <xsd:enumeration value="InventoryAdjustment"/>
359
+ <xsd:enumeration value="JournalEntry"/>
360
+ <xsd:enumeration value="SalesReceipt"/>
361
+ <xsd:enumeration value="VendorCredit"/>
362
+ </xsd:restriction>
363
+ </xsd:simpleType>
364
+ </xsd:element>
365
+ <xsd:element name="TimeCreated" type="DATETIMETYPE"/>
366
+ <xsd:element name="TimeModified" type="DATETIMETYPE"/>
367
+ <xsd:element name="Sublevel" type="INTTYPE"/>
368
+ <xsd:element name="SpecialAccountType">
369
+ <xsd:simpleType>
370
+ <xsd:restriction base="ENUMTYPE">
371
+ <xsd:enumeration value="AccountsPayable"/>
372
+ <xsd:enumeration value="AccountsReceivable"/>
373
+ <xsd:enumeration value="CondenseItemAdjustmentExpenses"/>
374
+ <xsd:enumeration value="CostOfGoodsSold"/>
375
+ <xsd:enumeration value="DirectDepositLiabilities"/>
376
+ <xsd:enumeration value="Estimates"/>
377
+ <xsd:enumeration value="InventoryAssets"/>
378
+ <xsd:enumeration value="OpeningBalanceEquity"/>
379
+ <xsd:enumeration value="PayrollExpenses"/>
380
+ <xsd:enumeration value="PayrollLiabilities"/>
381
+ <xsd:enumeration value="PurchaseOrders"/>
382
+ <xsd:enumeration value="RetainedEarnings"/>
383
+ <xsd:enumeration value="SalesOrders"/>
384
+ <xsd:enumeration value="SalesTaxPayable"/>
385
+ <xsd:enumeration value="UncategorizedExpenses"/>
386
+ <xsd:enumeration value="UncategorizedIncome"/>
387
+ <xsd:enumeration value="UndepositedFunds"/>
388
+ </xsd:restriction>
389
+ </xsd:simpleType>
390
+ </xsd:element>
391
+ <xsd:element name="LastCheckNumber" type="STRTYPE"/>
392
+ <xsd:element name="Balance" type="AMTTYPE"/>
393
+ <xsd:element name="TotalBalance" type="AMTTYPE"/>
394
+ <xsd:element name="TaxLineID" type="INTTYPE"/>
395
+ <xsd:element name="CashFlowClassification">
396
+ <xsd:simpleType>
397
+ <xsd:restriction base="ENUMTYPE">
398
+ <xsd:enumeration value="None"/>
399
+ <xsd:enumeration value="Operating"/>
400
+ <xsd:enumeration value="Investing"/>
401
+ <xsd:enumeration value="Financing"/>
402
+ <xsd:enumeration value="NotApplicable"/>
403
+ </xsd:restriction>
404
+ </xsd:simpleType>
405
+ </xsd:element>
406
+ <xsd:element name="DataExtType">
407
+ <xsd:simpleType>
408
+ <xsd:restriction base="ENUMTYPE">
409
+ <xsd:enumeration value="INTTYPE"/>
410
+ <xsd:enumeration value="AMTTYPE"/>
411
+ <xsd:enumeration value="PRICETYPE"/>
412
+ <xsd:enumeration value="QUANTYPE"/>
413
+ <xsd:enumeration value="PERCENTTYPE"/>
414
+ <xsd:enumeration value="DATETIMETYPE"/>
415
+ <xsd:enumeration value="STR255TYPE"/>
416
+ <xsd:enumeration value="STR1024TYPE"/>
417
+ </xsd:restriction>
418
+ </xsd:simpleType>
419
+ </xsd:element>
420
+ <xsd:element name="DataExtValue" type="STRTYPE"/>
421
+ <xsd:element name="IsFinanceCharge" type="BOOLTYPE"/>
422
+ <xsd:element name="SalesTaxPercentage" type="PERCENTTYPE"/>
423
+ <xsd:element name="SalesTaxTotal" type="AMTTYPE"/>
424
+ <xsd:element name="AppliedAmount" type="AMTTYPE"/>
425
+ <xsd:element name="BalanceRemaining" type="AMTTYPE"/>
426
+ <xsd:element name="IsPaid" type="BOOLTYPE"/>
427
+ <xsd:element name="SuggestedDiscountAmount" type="AMTTYPE"/>
428
+ <xsd:element name="SuggestedDiscountDate" type="DATETYPE"/>
429
+ <xsd:element name="TxnType">
430
+ <xsd:simpleType>
431
+ <xsd:restriction base="ENUMTYPE">
432
+ <xsd:enumeration value="Bill"/>
433
+ <xsd:enumeration value="BillPaymentCheck"/>
434
+ <xsd:enumeration value="BillPaymentCreditCard"/>
435
+ <xsd:enumeration value="Charge"/>
436
+ <xsd:enumeration value="Check"/>
437
+ <xsd:enumeration value="CreditCardCharge"/>
438
+ <xsd:enumeration value="CreditCardCredit"/>
439
+ <xsd:enumeration value="CreditMemo"/>
440
+ <xsd:enumeration value="Deposit"/>
441
+ <xsd:enumeration value="Estimate"/>
442
+ <xsd:enumeration value="Invoice"/>
443
+ <xsd:enumeration value="InventoryAdjustment"/>
444
+ <xsd:enumeration value="JournalEntry"/>
445
+ <xsd:enumeration value="LiabilityAdjustment"/>
446
+ <xsd:enumeration value="PurchaseOrder"/>
447
+ <xsd:enumeration value="ReceivePayment"/>
448
+ <xsd:enumeration value="SalesOrder"/>
449
+ <xsd:enumeration value="SalesReceipt"/>
450
+ <xsd:enumeration value="SalesTaxPaymentCheck"/>
451
+ <xsd:enumeration value="Transfer"/>
452
+ <xsd:enumeration value="VendorCredit"/>
453
+ </xsd:restriction>
454
+ </xsd:simpleType>
455
+ </xsd:element>
456
+ <xsd:element name="IsPrintItemsInGroup" type="BOOLTYPE"/>
457
+ <xsd:element name="TotalAmount" type="AMTTYPE"/>
458
+ <xsd:element name="TxnNumber" type="INTTYPE"/>
459
+ <xsd:element name="Subtotal" type="AMTTYPE"/>
460
+ <xsd:element name="TimeDeleted" type="DATETIMETYPE"/>
461
+ <xsd:element name="EditSequence" type="STRTYPE"/>
462
+ <xsd:element name="CompanyName" type="STRTYPE"/>
463
+ <xsd:element name="Salutation" type="STRTYPE"/>
464
+ <xsd:element name="FirstName" type="STRTYPE"/>
465
+ <xsd:element name="MiddleName" type="STRTYPE"/>
466
+ <xsd:element name="LastName" type="STRTYPE"/>
467
+ <xsd:element name="Addr1" type="STRTYPE"/>
468
+ <xsd:element name="Addr2" type="STRTYPE"/>
469
+ <xsd:element name="Addr3" type="STRTYPE"/>
470
+ <xsd:element name="Addr4" type="STRTYPE"/>
471
+ <xsd:element name="City" type="STRTYPE"/>
472
+ <xsd:element name="State" type="STRTYPE"/>
473
+ <xsd:element name="PostalCode" type="STRTYPE"/>
474
+ <xsd:element name="Country" type="STRTYPE"/>
475
+ <xsd:element name="Fax" type="STRTYPE"/>
476
+ <xsd:element name="Phone" type="STRTYPE"/>
477
+ <xsd:element name="AltPhone" type="STRTYPE"/>
478
+ <xsd:element name="Email" type="STRTYPE"/>
479
+ <xsd:element name="Mobile" type="STRTYPE"/>
480
+ <xsd:element name="Pager" type="STRTYPE"/>
481
+ <xsd:element name="Desc" type="STRTYPE"/>
482
+ <xsd:element name="SalesDesc" type="STRTYPE"/>
483
+ <xsd:element name="PurchaseDesc" type="STRTYPE"/>
484
+ <xsd:element name="TaxLineName" type="STRTYPE"/>
485
+ <xsd:element name="DataExtName" type="STRTYPE"/>
486
+ <xsd:element name="AccountNumber" type="STRTYPE"/>
487
+ <xsd:element name="BankNumber" type="STRTYPE"/>
488
+ <xsd:element name="PrintAs" type="STRTYPE"/>
489
+ <xsd:element name="ResaleNumber" type="STRTYPE"/>
490
+ <xsd:element name="JobDesc" type="STRTYPE"/>
491
+ <xsd:element name="PONumber" type="STRTYPE"/>
492
+ <xsd:element name="FOB" type="STRTYPE"/>
493
+ <xsd:element name="Memo" type="STRTYPE"/>
494
+ <xsd:element name="CheckNumber" type="STRTYPE"/>
495
+ <xsd:element name="Notes" type="STRTYPE"/>
496
+ <xsd:element name="Contact" type="STRTYPE"/>
497
+ <xsd:element name="AltContact" type="STRTYPE"/>
498
+ <xsd:element name="Rate" type="PRICETYPE"/>
499
+ <xsd:element name="RatePercent" type="PERCENTTYPE"/>
500
+
501
+
502
+ <!-- ============================================================================= -->
503
+ <!-- Macros -->
504
+ <!-- ============================================================================= -->
505
+
506
+ <xsd:group name="GenericListRef">
507
+ <xsd:sequence>
508
+ <xsd:element ref="ListID" minOccurs="0"/>
509
+ <xsd:element ref="FullName" minOccurs="0"/>
510
+ </xsd:sequence>
511
+ </xsd:group>
512
+ <xsd:element name="ParentRef">
513
+ <xsd:complexType>
514
+ <xsd:sequence>
515
+ <xsd:group ref="GenericListRef"/>
516
+ </xsd:sequence>
517
+ </xsd:complexType>
518
+ </xsd:element>
519
+ <xsd:element name="NameFilter">
520
+ <xsd:complexType>
521
+ <xsd:sequence>
522
+ <xsd:element ref="MatchCriterion"/>
523
+ <xsd:element ref="Name"/>
524
+ </xsd:sequence>
525
+ </xsd:complexType>
526
+ </xsd:element>
527
+ <xsd:element name="NameRangeFilter">
528
+ <xsd:complexType>
529
+ <xsd:sequence>
530
+ <xsd:element ref="FromName" minOccurs="0"/>
531
+ <xsd:element ref="ToName" minOccurs="0"/>
532
+ </xsd:sequence>
533
+ </xsd:complexType>
534
+ </xsd:element>
535
+ <xsd:group name="ListFilter">
536
+ <xsd:sequence>
537
+ <xsd:element ref="MaxReturned" minOccurs="0"/>
538
+ <xsd:element ref="ActiveStatus" minOccurs="0"/>
539
+ <xsd:element ref="FromModifiedDate" minOccurs="0"/>
540
+ <xsd:element ref="ToModifiedDate" minOccurs="0"/>
541
+ <xsd:choice minOccurs="0">
542
+ <xsd:element ref="NameFilter"/>
543
+ <xsd:element ref="NameRangeFilter"/>
544
+ </xsd:choice>
545
+ </xsd:sequence>
546
+ </xsd:group>
547
+ <xsd:group name="AccountListFilter">
548
+ <xsd:sequence>
549
+ <xsd:group ref="ListFilter"/>
550
+ <xsd:element ref="AccountType" minOccurs="0" maxOccurs="unbounded"/>
551
+ </xsd:sequence>
552
+ </xsd:group>
553
+ <xsd:group name="PersonName">
554
+ <xsd:sequence>
555
+ <xsd:element name="Salutation" minOccurs="0">
556
+ <xsd:simpleType>
557
+ <xsd:restriction base="STRTYPE">
558
+ <xsd:maxLength value="15"/>
559
+ </xsd:restriction>
560
+ </xsd:simpleType>
561
+ </xsd:element>
562
+ <xsd:element name="FirstName" minOccurs="0">
563
+ <xsd:simpleType>
564
+ <xsd:restriction base="STRTYPE">
565
+ <xsd:maxLength value="25"/>
566
+ </xsd:restriction>
567
+ </xsd:simpleType>
568
+ </xsd:element>
569
+ <xsd:element name="MiddleName" minOccurs="0">
570
+ <xsd:simpleType>
571
+ <xsd:restriction base="STRTYPE">
572
+ <xsd:maxLength value="5"/>
573
+ </xsd:restriction>
574
+ </xsd:simpleType>
575
+ </xsd:element>
576
+ <xsd:element name="LastName" minOccurs="0">
577
+ <xsd:simpleType>
578
+ <xsd:restriction base="STRTYPE">
579
+ <xsd:maxLength value="25"/>
580
+ </xsd:restriction>
581
+ </xsd:simpleType>
582
+ </xsd:element>
583
+ <xsd:element ref="Suffix" minOccurs="0"/>
584
+ </xsd:sequence>
585
+ </xsd:group>
586
+ <xsd:group name="AddressData">
587
+ <xsd:sequence>
588
+ <xsd:element name="Addr1" minOccurs="0">
589
+ <xsd:simpleType>
590
+ <xsd:restriction base="STRTYPE">
591
+ <xsd:maxLength value="41"/>
592
+ </xsd:restriction>
593
+ </xsd:simpleType>
594
+ </xsd:element>
595
+ <xsd:element name="Addr2" minOccurs="0">
596
+ <xsd:simpleType>
597
+ <xsd:restriction base="STRTYPE">
598
+ <xsd:maxLength value="41"/>
599
+ </xsd:restriction>
600
+ </xsd:simpleType>
601
+ </xsd:element>
602
+ <xsd:element name="Addr3" minOccurs="0">
603
+ <xsd:simpleType>
604
+ <xsd:restriction base="STRTYPE">
605
+ <xsd:maxLength value="41"/>
606
+ </xsd:restriction>
607
+ </xsd:simpleType>
608
+ </xsd:element>
609
+ <xsd:element name="Addr4" minOccurs="0">
610
+ <xsd:simpleType>
611
+ <xsd:restriction base="STRTYPE">
612
+ <xsd:maxLength value="41"/>
613
+ </xsd:restriction>
614
+ </xsd:simpleType>
615
+ </xsd:element>
616
+ <xsd:element name="City" minOccurs="0">
617
+ <xsd:simpleType>
618
+ <xsd:restriction base="STRTYPE">
619
+ <xsd:maxLength value="31"/>
620
+ </xsd:restriction>
621
+ </xsd:simpleType>
622
+ </xsd:element>
623
+ <xsd:element name="State" minOccurs="0">
624
+ <xsd:simpleType>
625
+ <xsd:restriction base="STRTYPE">
626
+ <xsd:maxLength value="21"/>
627
+ </xsd:restriction>
628
+ </xsd:simpleType>
629
+ </xsd:element>
630
+ <xsd:element name="PostalCode" minOccurs="0">
631
+ <xsd:simpleType>
632
+ <xsd:restriction base="STRTYPE">
633
+ <xsd:maxLength value="13"/>
634
+ </xsd:restriction>
635
+ </xsd:simpleType>
636
+ </xsd:element>
637
+ <xsd:element name="Country" minOccurs="0">
638
+ <xsd:simpleType>
639
+ <xsd:restriction base="STRTYPE">
640
+ <xsd:maxLength value="31"/>
641
+ </xsd:restriction>
642
+ </xsd:simpleType>
643
+ </xsd:element>
644
+ </xsd:sequence>
645
+ </xsd:group>
646
+ <xsd:element name="BillAddress">
647
+ <xsd:complexType>
648
+ <xsd:sequence>
649
+ <xsd:group ref="AddressData"/>
650
+ </xsd:sequence>
651
+ </xsd:complexType>
652
+ </xsd:element>
653
+ <xsd:element name="ShipAddress">
654
+ <xsd:complexType>
655
+ <xsd:sequence>
656
+ <xsd:group ref="AddressData"/>
657
+ </xsd:sequence>
658
+ </xsd:complexType>
659
+ </xsd:element>
660
+ <xsd:group name="CommInfo">
661
+ <xsd:sequence>
662
+ <xsd:element name="Phone" minOccurs="0">
663
+ <xsd:simpleType>
664
+ <xsd:restriction base="STRTYPE">
665
+ <xsd:maxLength value="21"/>
666
+ </xsd:restriction>
667
+ </xsd:simpleType>
668
+ </xsd:element>
669
+ <xsd:element name="Mobile" minOccurs="0">
670
+ <xsd:simpleType>
671
+ <xsd:restriction base="STRTYPE">
672
+ <xsd:maxLength value="21"/>
673
+ </xsd:restriction>
674
+ </xsd:simpleType>
675
+ </xsd:element>
676
+ <xsd:element name="Pager" minOccurs="0">
677
+ <xsd:simpleType>
678
+ <xsd:restriction base="STRTYPE">
679
+ <xsd:maxLength value="21"/>
680
+ </xsd:restriction>
681
+ </xsd:simpleType>
682
+ </xsd:element>
683
+ <xsd:element name="AltPhone" minOccurs="0">
684
+ <xsd:simpleType>
685
+ <xsd:restriction base="STRTYPE">
686
+ <xsd:maxLength value="21"/>
687
+ </xsd:restriction>
688
+ </xsd:simpleType>
689
+ </xsd:element>
690
+ <xsd:element name="Fax" minOccurs="0">
691
+ <xsd:simpleType>
692
+ <xsd:restriction base="STRTYPE">
693
+ <xsd:maxLength value="21"/>
694
+ </xsd:restriction>
695
+ </xsd:simpleType>
696
+ </xsd:element>
697
+ <xsd:element name="Email" minOccurs="0">
698
+ <xsd:simpleType>
699
+ <xsd:restriction base="STRTYPE">
700
+ <xsd:maxLength value="99"/>
701
+ </xsd:restriction>
702
+ </xsd:simpleType>
703
+ </xsd:element>
704
+ <xsd:element name="Contact" minOccurs="0">
705
+ <xsd:simpleType>
706
+ <xsd:restriction base="STRTYPE">
707
+ <xsd:maxLength value="41"/>
708
+ </xsd:restriction>
709
+ </xsd:simpleType>
710
+ </xsd:element>
711
+ <xsd:element name="AltContact" minOccurs="0">
712
+ <xsd:simpleType>
713
+ <xsd:restriction base="STRTYPE">
714
+ <xsd:maxLength value="41"/>
715
+ </xsd:restriction>
716
+ </xsd:simpleType>
717
+ </xsd:element>
718
+ </xsd:sequence>
719
+ </xsd:group>
720
+ <xsd:group name="ListRef">
721
+ <xsd:sequence>
722
+ <xsd:element ref="ListID" minOccurs="0"/>
723
+ <xsd:element name="FullName" minOccurs="0">
724
+ <xsd:simpleType>
725
+ <xsd:restriction base="STRTYPE">
726
+ <xsd:maxLength value="159"/>
727
+ </xsd:restriction>
728
+ </xsd:simpleType>
729
+ </xsd:element>
730
+ </xsd:sequence>
731
+ </xsd:group>
732
+ <xsd:element name="CustomerTypeRef">
733
+ <xsd:complexType>
734
+ <xsd:sequence>
735
+ <xsd:group ref="ListRef"/>
736
+ </xsd:sequence>
737
+ </xsd:complexType>
738
+ </xsd:element>
739
+ <xsd:group name="SimpleListRef">
740
+ <xsd:sequence>
741
+ <xsd:element ref="ListID" minOccurs="0"/>
742
+ <xsd:element name="FullName" minOccurs="0">
743
+ <xsd:simpleType>
744
+ <xsd:restriction base="STRTYPE">
745
+ <xsd:maxLength value="31"/>
746
+ </xsd:restriction>
747
+ </xsd:simpleType>
748
+ </xsd:element>
749
+ </xsd:sequence>
750
+ </xsd:group>
751
+ <xsd:element name="TermsRef">
752
+ <xsd:complexType>
753
+ <xsd:sequence>
754
+ <xsd:group ref="SimpleListRef"/>
755
+ </xsd:sequence>
756
+ </xsd:complexType>
757
+ </xsd:element>
758
+ <xsd:group name="SalesRepListRef">
759
+ <xsd:sequence>
760
+ <xsd:element ref="ListID" minOccurs="0"/>
761
+ <xsd:element name="FullName" minOccurs="0">
762
+ <xsd:simpleType>
763
+ <xsd:restriction base="STRTYPE">
764
+ <xsd:maxLength value="5"/>
765
+ </xsd:restriction>
766
+ </xsd:simpleType>
767
+ </xsd:element>
768
+ </xsd:sequence>
769
+ </xsd:group>
770
+ <xsd:element name="SalesRepRef">
771
+ <xsd:complexType>
772
+ <xsd:sequence>
773
+ <xsd:group ref="SalesRepListRef"/>
774
+ </xsd:sequence>
775
+ </xsd:complexType>
776
+ </xsd:element>
777
+ <xsd:group name="SalesTaxCodeListRef">
778
+ <xsd:sequence>
779
+ <xsd:element ref="ListID" minOccurs="0"/>
780
+ <xsd:element name="FullName" minOccurs="0">
781
+ <xsd:simpleType>
782
+ <xsd:restriction base="STRTYPE">
783
+ <xsd:maxLength value="3"/>
784
+ </xsd:restriction>
785
+ </xsd:simpleType>
786
+ </xsd:element>
787
+ </xsd:sequence>
788
+ </xsd:group>
789
+ <xsd:element name="SalesTaxCodeRef">
790
+ <xsd:complexType>
791
+ <xsd:sequence>
792
+ <xsd:group ref="SalesTaxCodeListRef"/>
793
+ </xsd:sequence>
794
+ </xsd:complexType>
795
+ </xsd:element>
796
+ <xsd:element name="ItemSalesTaxRef">
797
+ <xsd:complexType>
798
+ <xsd:sequence>
799
+ <xsd:group ref="SimpleListRef"/>
800
+ </xsd:sequence>
801
+ </xsd:complexType>
802
+ </xsd:element>
803
+ <xsd:element name="JobTypeRef">
804
+ <xsd:complexType>
805
+ <xsd:sequence>
806
+ <xsd:group ref="ListRef"/>
807
+ </xsd:sequence>
808
+ </xsd:complexType>
809
+ </xsd:element>
810
+ <xsd:group name="ListCoreMod">
811
+ <xsd:sequence>
812
+ <xsd:element ref="ListID"/>
813
+ <xsd:element name="EditSequence">
814
+ <xsd:simpleType>
815
+ <xsd:restriction base="STRTYPE">
816
+ <xsd:maxLength value="16"/>
817
+ </xsd:restriction>
818
+ </xsd:simpleType>
819
+ </xsd:element>
820
+ </xsd:sequence>
821
+ </xsd:group>
822
+ <xsd:group name="CustomerListFilter">
823
+ <xsd:sequence>
824
+ <xsd:group ref="ListFilter"/>
825
+ <xsd:element ref="TotalBalanceFilter" minOccurs="0"/>
826
+ </xsd:sequence>
827
+ </xsd:group>
828
+ <xsd:element name="Operator">
829
+ <xsd:simpleType>
830
+ <xsd:restriction base="ENUMTYPE">
831
+ <xsd:enumeration value="LessThan"/>
832
+ <xsd:enumeration value="LessThanEqual"/>
833
+ <xsd:enumeration value="Equal"/>
834
+ <xsd:enumeration value="GreaterThan"/>
835
+ <xsd:enumeration value="GreaterThanEqual"/>
836
+ </xsd:restriction>
837
+ </xsd:simpleType>
838
+ </xsd:element>
839
+ <xsd:element name="TotalBalanceFilter">
840
+ <xsd:complexType>
841
+ <xsd:sequence>
842
+ <xsd:element ref="Operator"/>
843
+ <xsd:element ref="Amount"/>
844
+ </xsd:sequence>
845
+ </xsd:complexType>
846
+ </xsd:element>
847
+ <xsd:group name="ListQuery">
848
+ <xsd:sequence>
849
+ <xsd:choice minOccurs="0">
850
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
851
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
852
+ <xsd:group ref="ListFilter"/>
853
+ </xsd:choice>
854
+ </xsd:sequence>
855
+ </xsd:group>
856
+ <xsd:element name="AccountRef">
857
+ <xsd:complexType>
858
+ <xsd:sequence>
859
+ <xsd:group ref="ListRef"/>
860
+ </xsd:sequence>
861
+ </xsd:complexType>
862
+ </xsd:element>
863
+ <xsd:element name="SalesOrPurchase">
864
+ <xsd:complexType>
865
+ <xsd:sequence>
866
+ <xsd:element name="Desc" minOccurs="0">
867
+ <xsd:simpleType>
868
+ <xsd:restriction base="STRTYPE">
869
+ <xsd:maxLength value="4095"/>
870
+ </xsd:restriction>
871
+ </xsd:simpleType>
872
+ </xsd:element>
873
+ <xsd:choice minOccurs="0">
874
+ <xsd:element ref="Price"/>
875
+ <xsd:element ref="PricePercent"/>
876
+ </xsd:choice>
877
+ <xsd:element ref="AccountRef"/>
878
+ </xsd:sequence>
879
+ </xsd:complexType>
880
+ </xsd:element>
881
+ <xsd:element name="IncomeAccountRef">
882
+ <xsd:complexType>
883
+ <xsd:sequence>
884
+ <xsd:group ref="ListRef"/>
885
+ </xsd:sequence>
886
+ </xsd:complexType>
887
+ </xsd:element>
888
+ <xsd:element name="ExpenseAccountRef">
889
+ <xsd:complexType>
890
+ <xsd:sequence>
891
+ <xsd:group ref="ListRef"/>
892
+ </xsd:sequence>
893
+ </xsd:complexType>
894
+ </xsd:element>
895
+ <xsd:group name="VendorListRef">
896
+ <xsd:sequence>
897
+ <xsd:element ref="ListID" minOccurs="0"/>
898
+ <xsd:element name="FullName" minOccurs="0">
899
+ <xsd:simpleType>
900
+ <xsd:restriction base="STRTYPE">
901
+ <xsd:maxLength value="41"/>
902
+ </xsd:restriction>
903
+ </xsd:simpleType>
904
+ </xsd:element>
905
+ </xsd:sequence>
906
+ </xsd:group>
907
+ <xsd:element name="PrefVendorRef">
908
+ <xsd:complexType>
909
+ <xsd:sequence>
910
+ <xsd:group ref="VendorListRef"/>
911
+ </xsd:sequence>
912
+ </xsd:complexType>
913
+ </xsd:element>
914
+ <xsd:element name="SalesAndPurchase">
915
+ <xsd:complexType>
916
+ <xsd:sequence>
917
+ <xsd:element name="SalesDesc" minOccurs="0">
918
+ <xsd:simpleType>
919
+ <xsd:restriction base="STRTYPE">
920
+ <xsd:maxLength value="4095"/>
921
+ </xsd:restriction>
922
+ </xsd:simpleType>
923
+ </xsd:element>
924
+ <xsd:element ref="SalesPrice" minOccurs="0"/>
925
+ <xsd:element ref="IncomeAccountRef"/>
926
+ <xsd:element name="PurchaseDesc" minOccurs="0">
927
+ <xsd:simpleType>
928
+ <xsd:restriction base="STRTYPE">
929
+ <xsd:maxLength value="4095"/>
930
+ </xsd:restriction>
931
+ </xsd:simpleType>
932
+ </xsd:element>
933
+ <xsd:element ref="PurchaseCost" minOccurs="0"/>
934
+ <xsd:element ref="ExpenseAccountRef"/>
935
+ <xsd:element ref="PrefVendorRef" minOccurs="0"/>
936
+ </xsd:sequence>
937
+ </xsd:complexType>
938
+ </xsd:element>
939
+ <xsd:element name="SalesOrPurchaseMod">
940
+ <xsd:complexType>
941
+ <xsd:sequence>
942
+ <xsd:element name="Desc" minOccurs="0">
943
+ <xsd:simpleType>
944
+ <xsd:restriction base="STRTYPE">
945
+ <xsd:maxLength value="4095"/>
946
+ </xsd:restriction>
947
+ </xsd:simpleType>
948
+ </xsd:element>
949
+ <xsd:choice minOccurs="0">
950
+ <xsd:element ref="Price"/>
951
+ <xsd:element ref="PricePercent"/>
952
+ </xsd:choice>
953
+ </xsd:sequence>
954
+ </xsd:complexType>
955
+ </xsd:element>
956
+ <xsd:element name="SalesAndPurchaseMod">
957
+ <xsd:complexType>
958
+ <xsd:sequence>
959
+ <xsd:element name="SalesDesc" minOccurs="0">
960
+ <xsd:simpleType>
961
+ <xsd:restriction base="STRTYPE">
962
+ <xsd:maxLength value="4095"/>
963
+ </xsd:restriction>
964
+ </xsd:simpleType>
965
+ </xsd:element>
966
+ <xsd:element ref="SalesPrice" minOccurs="0"/>
967
+ <xsd:element name="PurchaseDesc" minOccurs="0">
968
+ <xsd:simpleType>
969
+ <xsd:restriction base="STRTYPE">
970
+ <xsd:maxLength value="4095"/>
971
+ </xsd:restriction>
972
+ </xsd:simpleType>
973
+ </xsd:element>
974
+ <xsd:element ref="PurchaseCost" minOccurs="0"/>
975
+ <xsd:element ref="PrefVendorRef" minOccurs="0"/>
976
+ </xsd:sequence>
977
+ </xsd:complexType>
978
+ </xsd:element>
979
+ <xsd:group name="CustomerListRef">
980
+ <xsd:sequence>
981
+ <xsd:element ref="ListID" minOccurs="0"/>
982
+ <xsd:element name="FullName" minOccurs="0">
983
+ <xsd:simpleType>
984
+ <xsd:restriction base="STRTYPE">
985
+ <xsd:maxLength value="209"/>
986
+ </xsd:restriction>
987
+ </xsd:simpleType>
988
+ </xsd:element>
989
+ </xsd:sequence>
990
+ </xsd:group>
991
+ <xsd:element name="CustomerRef">
992
+ <xsd:complexType>
993
+ <xsd:sequence>
994
+ <xsd:group ref="CustomerListRef"/>
995
+ </xsd:sequence>
996
+ </xsd:complexType>
997
+ </xsd:element>
998
+ <xsd:element name="ClassRef">
999
+ <xsd:complexType>
1000
+ <xsd:sequence>
1001
+ <xsd:group ref="ListRef"/>
1002
+ </xsd:sequence>
1003
+ </xsd:complexType>
1004
+ </xsd:element>
1005
+ <xsd:element name="ARAccountRef">
1006
+ <xsd:complexType>
1007
+ <xsd:sequence>
1008
+ <xsd:group ref="ListRef"/>
1009
+ </xsd:sequence>
1010
+ </xsd:complexType>
1011
+ </xsd:element>
1012
+ <xsd:group name="ShipMethodListRef">
1013
+ <xsd:sequence>
1014
+ <xsd:element ref="ListID" minOccurs="0"/>
1015
+ <xsd:element name="FullName" minOccurs="0">
1016
+ <xsd:simpleType>
1017
+ <xsd:restriction base="STRTYPE">
1018
+ <xsd:maxLength value="15"/>
1019
+ </xsd:restriction>
1020
+ </xsd:simpleType>
1021
+ </xsd:element>
1022
+ </xsd:sequence>
1023
+ </xsd:group>
1024
+ <xsd:element name="ShipMethodRef">
1025
+ <xsd:complexType>
1026
+ <xsd:sequence>
1027
+ <xsd:group ref="ShipMethodListRef"/>
1028
+ </xsd:sequence>
1029
+ </xsd:complexType>
1030
+ </xsd:element>
1031
+ <xsd:group name="CustomerMsgListRef">
1032
+ <xsd:sequence>
1033
+ <xsd:element ref="ListID" minOccurs="0"/>
1034
+ <xsd:element name="FullName" minOccurs="0">
1035
+ <xsd:simpleType>
1036
+ <xsd:restriction base="STRTYPE">
1037
+ <xsd:maxLength value="101"/>
1038
+ </xsd:restriction>
1039
+ </xsd:simpleType>
1040
+ </xsd:element>
1041
+ </xsd:sequence>
1042
+ </xsd:group>
1043
+ <xsd:element name="CustomerMsgRef">
1044
+ <xsd:complexType>
1045
+ <xsd:sequence>
1046
+ <xsd:group ref="CustomerMsgListRef"/>
1047
+ </xsd:sequence>
1048
+ </xsd:complexType>
1049
+ </xsd:element>
1050
+ <xsd:element name="CustomerSalesTaxCodeRef">
1051
+ <xsd:complexType>
1052
+ <xsd:sequence>
1053
+ <xsd:group ref="SalesTaxCodeListRef"/>
1054
+ </xsd:sequence>
1055
+ </xsd:complexType>
1056
+ </xsd:element>
1057
+ <xsd:element name="ItemRef">
1058
+ <xsd:complexType>
1059
+ <xsd:sequence>
1060
+ <xsd:group ref="GenericListRef"/>
1061
+ </xsd:sequence>
1062
+ </xsd:complexType>
1063
+ </xsd:element>
1064
+ <xsd:group name="TxnLineCore">
1065
+ <xsd:sequence>
1066
+ <xsd:element ref="ItemRef" minOccurs="0"/>
1067
+ <xsd:element name="Desc" minOccurs="0">
1068
+ <xsd:simpleType>
1069
+ <xsd:restriction base="STRTYPE">
1070
+ <xsd:maxLength value="4095"/>
1071
+ </xsd:restriction>
1072
+ </xsd:simpleType>
1073
+ </xsd:element>
1074
+ <xsd:element ref="Quantity" minOccurs="0"/>
1075
+ <xsd:choice minOccurs="0">
1076
+ <xsd:element ref="Rate"/>
1077
+ <xsd:element ref="RatePercent"/>
1078
+ </xsd:choice>
1079
+ <xsd:element ref="ClassRef" minOccurs="0"/>
1080
+ <xsd:element ref="Amount" minOccurs="0"/>
1081
+ </xsd:sequence>
1082
+ </xsd:group>
1083
+ <xsd:element name="OverrideItemAccountRef">
1084
+ <xsd:complexType>
1085
+ <xsd:sequence>
1086
+ <xsd:group ref="ListRef"/>
1087
+ </xsd:sequence>
1088
+ </xsd:complexType>
1089
+ </xsd:element>
1090
+ <xsd:element name="InvoiceLineAdd">
1091
+ <xsd:complexType>
1092
+ <xsd:sequence>
1093
+ <xsd:group ref="TxnLineCore"/>
1094
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1095
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1096
+ <xsd:element ref="OverrideItemAccountRef" minOccurs="0"/>
1097
+ </xsd:sequence>
1098
+ <xsd:attribute name="defMacro" type="MACROTYPE"/>
1099
+ </xsd:complexType>
1100
+ </xsd:element>
1101
+ <xsd:element name="ItemGroupRef">
1102
+ <xsd:complexType>
1103
+ <xsd:sequence>
1104
+ <xsd:group ref="SimpleListRef"/>
1105
+ </xsd:sequence>
1106
+ </xsd:complexType>
1107
+ </xsd:element>
1108
+ <xsd:group name="TxnLineGroupCoreAdd">
1109
+ <xsd:sequence>
1110
+ <xsd:element ref="ItemGroupRef"/>
1111
+ <xsd:element name="Desc" minOccurs="0">
1112
+ <xsd:simpleType>
1113
+ <xsd:restriction base="STRTYPE">
1114
+ <xsd:maxLength value="4095"/>
1115
+ </xsd:restriction>
1116
+ </xsd:simpleType>
1117
+ </xsd:element>
1118
+ <xsd:element ref="Quantity" minOccurs="0"/>
1119
+ </xsd:sequence>
1120
+ </xsd:group>
1121
+ <xsd:element name="InvoiceLineGroupAdd">
1122
+ <xsd:complexType>
1123
+ <xsd:sequence>
1124
+ <xsd:group ref="TxnLineGroupCoreAdd"/>
1125
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1126
+ </xsd:sequence>
1127
+ </xsd:complexType>
1128
+ </xsd:element>
1129
+ <xsd:group name="TxnCoreMod">
1130
+ <xsd:sequence>
1131
+ <xsd:element ref="TxnID"/>
1132
+ <xsd:element name="EditSequence">
1133
+ <xsd:simpleType>
1134
+ <xsd:restriction base="STRTYPE">
1135
+ <xsd:maxLength value="16"/>
1136
+ </xsd:restriction>
1137
+ </xsd:simpleType>
1138
+ </xsd:element>
1139
+ </xsd:sequence>
1140
+ </xsd:group>
1141
+ <xsd:element name="InvoiceLineMod">
1142
+ <xsd:complexType>
1143
+ <xsd:sequence>
1144
+ <xsd:element ref="TxnLineID"/>
1145
+ <xsd:group ref="TxnLineCore"/>
1146
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1147
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1148
+ <xsd:element ref="OverrideItemAccountRef" minOccurs="0"/>
1149
+ </xsd:sequence>
1150
+ </xsd:complexType>
1151
+ </xsd:element>
1152
+ <xsd:element name="InvoiceLineGroupMod">
1153
+ <xsd:complexType>
1154
+ <xsd:sequence>
1155
+ <xsd:element ref="TxnLineID"/>
1156
+ <xsd:element ref="ItemGroupRef" minOccurs="0"/>
1157
+ <xsd:element ref="Quantity" minOccurs="0"/>
1158
+ <xsd:element ref="InvoiceLineMod" minOccurs="0" maxOccurs="unbounded"/>
1159
+ </xsd:sequence>
1160
+ </xsd:complexType>
1161
+ </xsd:element>
1162
+ <xsd:element name="ModifiedDateRangeFilter">
1163
+ <xsd:complexType>
1164
+ <xsd:sequence>
1165
+ <xsd:element ref="FromModifiedDate" minOccurs="0"/>
1166
+ <xsd:element ref="ToModifiedDate" minOccurs="0"/>
1167
+ </xsd:sequence>
1168
+ </xsd:complexType>
1169
+ </xsd:element>
1170
+ <xsd:group name="TxnDateFilter">
1171
+ <xsd:sequence>
1172
+ <xsd:element ref="FromTxnDate" minOccurs="0"/>
1173
+ <xsd:element ref="ToTxnDate" minOccurs="0"/>
1174
+ </xsd:sequence>
1175
+ </xsd:group>
1176
+ <xsd:element name="TxnDateRangeFilter">
1177
+ <xsd:complexType>
1178
+ <xsd:sequence>
1179
+ <xsd:choice>
1180
+ <xsd:group ref="TxnDateFilter"/>
1181
+ <xsd:element ref="DateMacro"/>
1182
+ </xsd:choice>
1183
+ </xsd:sequence>
1184
+ </xsd:complexType>
1185
+ </xsd:element>
1186
+ <xsd:element name="EntityFilter">
1187
+ <xsd:complexType>
1188
+ <xsd:sequence>
1189
+ <xsd:choice>
1190
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
1191
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
1192
+ <xsd:element ref="ListIDWithChildren"/>
1193
+ <xsd:element ref="FullNameWithChildren"/>
1194
+ </xsd:choice>
1195
+ </xsd:sequence>
1196
+ </xsd:complexType>
1197
+ </xsd:element>
1198
+ <xsd:element name="AccountFilter">
1199
+ <xsd:complexType>
1200
+ <xsd:sequence>
1201
+ <xsd:choice>
1202
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
1203
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
1204
+ <xsd:element ref="ListIDWithChildren"/>
1205
+ <xsd:element ref="FullNameWithChildren"/>
1206
+ </xsd:choice>
1207
+ </xsd:sequence>
1208
+ </xsd:complexType>
1209
+ </xsd:element>
1210
+ <xsd:element name="RefNumberFilter">
1211
+ <xsd:complexType>
1212
+ <xsd:sequence>
1213
+ <xsd:element ref="MatchCriterion"/>
1214
+ <xsd:element ref="RefNumber"/>
1215
+ </xsd:sequence>
1216
+ </xsd:complexType>
1217
+ </xsd:element>
1218
+ <xsd:element name="RefNumberRangeFilter">
1219
+ <xsd:complexType>
1220
+ <xsd:sequence>
1221
+ <xsd:element ref="FromRefNumber" minOccurs="0"/>
1222
+ <xsd:element ref="ToRefNumber" minOccurs="0"/>
1223
+ </xsd:sequence>
1224
+ </xsd:complexType>
1225
+ </xsd:element>
1226
+ <xsd:group name="TxnFilter">
1227
+ <xsd:sequence>
1228
+ <xsd:element ref="MaxReturned" minOccurs="0"/>
1229
+ <xsd:choice minOccurs="0">
1230
+ <xsd:element ref="ModifiedDateRangeFilter"/>
1231
+ <xsd:element ref="TxnDateRangeFilter"/>
1232
+ </xsd:choice>
1233
+ <xsd:element ref="EntityFilter" minOccurs="0"/>
1234
+ <xsd:element ref="AccountFilter" minOccurs="0"/>
1235
+ <xsd:choice minOccurs="0">
1236
+ <xsd:element ref="RefNumberFilter"/>
1237
+ <xsd:element ref="RefNumberRangeFilter"/>
1238
+ </xsd:choice>
1239
+ </xsd:sequence>
1240
+ </xsd:group>
1241
+ <xsd:group name="InvoiceFilter">
1242
+ <xsd:sequence>
1243
+ <xsd:group ref="TxnFilter"/>
1244
+ <xsd:element ref="PaidStatus" minOccurs="0"/>
1245
+ </xsd:sequence>
1246
+ </xsd:group>
1247
+ <xsd:element name="PaymentMethodRef">
1248
+ <xsd:complexType>
1249
+ <xsd:sequence>
1250
+ <xsd:group ref="SimpleListRef"/>
1251
+ </xsd:sequence>
1252
+ </xsd:complexType>
1253
+ </xsd:element>
1254
+ <xsd:element name="DepositToAccountRef">
1255
+ <xsd:complexType>
1256
+ <xsd:sequence>
1257
+ <xsd:group ref="ListRef"/>
1258
+ </xsd:sequence>
1259
+ </xsd:complexType>
1260
+ </xsd:element>
1261
+ <xsd:element name="SalesReceiptLineAdd">
1262
+ <xsd:complexType>
1263
+ <xsd:sequence>
1264
+ <xsd:group ref="TxnLineCore"/>
1265
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1266
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1267
+ <xsd:element ref="OverrideItemAccountRef" minOccurs="0"/>
1268
+ </xsd:sequence>
1269
+ <xsd:attribute name="defMacro" type="MACROTYPE"/>
1270
+ </xsd:complexType>
1271
+ </xsd:element>
1272
+ <xsd:element name="SalesReceiptLineGroupAdd">
1273
+ <xsd:complexType>
1274
+ <xsd:sequence>
1275
+ <xsd:group ref="TxnLineGroupCoreAdd"/>
1276
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1277
+ </xsd:sequence>
1278
+ </xsd:complexType>
1279
+ </xsd:element>
1280
+ <xsd:element name="DeletedDateRangeFilter">
1281
+ <xsd:complexType>
1282
+ <xsd:sequence>
1283
+ <xsd:element ref="FromDeletedDate" minOccurs="0"/>
1284
+ <xsd:element ref="ToDeletedDate" minOccurs="0"/>
1285
+ </xsd:sequence>
1286
+ </xsd:complexType>
1287
+ </xsd:element>
1288
+ <xsd:group name="ListCore">
1289
+ <xsd:sequence>
1290
+ <xsd:element ref="ListID"/>
1291
+ <xsd:element ref="TimeCreated"/>
1292
+ <xsd:element ref="TimeModified"/>
1293
+ <xsd:element name="EditSequence">
1294
+ <xsd:simpleType>
1295
+ <xsd:restriction base="STRTYPE">
1296
+ <xsd:maxLength value="16"/>
1297
+ </xsd:restriction>
1298
+ </xsd:simpleType>
1299
+ </xsd:element>
1300
+ </xsd:sequence>
1301
+ </xsd:group>
1302
+ <xsd:element name="TaxLineInfoRet">
1303
+ <xsd:complexType>
1304
+ <xsd:sequence>
1305
+ <xsd:element ref="TaxLineID"/>
1306
+ <xsd:element name="TaxLineName" minOccurs="0">
1307
+ <xsd:simpleType>
1308
+ <xsd:restriction base="STRTYPE">
1309
+ <xsd:maxLength value="256"/>
1310
+ </xsd:restriction>
1311
+ </xsd:simpleType>
1312
+ </xsd:element>
1313
+ </xsd:sequence>
1314
+ </xsd:complexType>
1315
+ </xsd:element>
1316
+ <xsd:element name="DataExtRet">
1317
+ <xsd:complexType>
1318
+ <xsd:sequence>
1319
+ <xsd:element ref="OwnerID" minOccurs="0"/>
1320
+ <xsd:element name="DataExtName">
1321
+ <xsd:simpleType>
1322
+ <xsd:restriction base="STRTYPE">
1323
+ <xsd:maxLength value="31"/>
1324
+ </xsd:restriction>
1325
+ </xsd:simpleType>
1326
+ </xsd:element>
1327
+ <xsd:element ref="DataExtType"/>
1328
+ <xsd:element ref="DataExtValue"/>
1329
+ </xsd:sequence>
1330
+ </xsd:complexType>
1331
+ </xsd:element>
1332
+ <xsd:group name="SalesTaxData">
1333
+ <xsd:sequence>
1334
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1335
+ <xsd:element ref="SalesTaxPercentage" minOccurs="0"/>
1336
+ <xsd:element ref="SalesTaxTotal" minOccurs="0"/>
1337
+ </xsd:sequence>
1338
+ </xsd:group>
1339
+ <xsd:element name="TxnLineDetail">
1340
+ <xsd:complexType>
1341
+ <xsd:sequence>
1342
+ <xsd:element ref="TxnLineID"/>
1343
+ <xsd:element ref="Amount"/>
1344
+ </xsd:sequence>
1345
+ </xsd:complexType>
1346
+ </xsd:element>
1347
+ <xsd:element name="LinkedTxn">
1348
+ <xsd:complexType>
1349
+ <xsd:sequence>
1350
+ <xsd:element ref="TxnID"/>
1351
+ <xsd:element ref="TxnType"/>
1352
+ <xsd:element ref="TxnDate"/>
1353
+ <xsd:element name="RefNumber" minOccurs="0">
1354
+ <xsd:simpleType>
1355
+ <xsd:restriction base="STRTYPE">
1356
+ <xsd:maxLength value="20"/>
1357
+ </xsd:restriction>
1358
+ </xsd:simpleType>
1359
+ </xsd:element>
1360
+ <xsd:element ref="Amount"/>
1361
+ <xsd:element ref="TxnLineDetail" minOccurs="0" maxOccurs="unbounded"/>
1362
+ </xsd:sequence>
1363
+ </xsd:complexType>
1364
+ </xsd:element>
1365
+ <xsd:element name="InvoiceLineRet">
1366
+ <xsd:complexType>
1367
+ <xsd:sequence>
1368
+ <xsd:element ref="TxnLineID"/>
1369
+ <xsd:group ref="TxnLineCore"/>
1370
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1371
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1372
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
1373
+ </xsd:sequence>
1374
+ </xsd:complexType>
1375
+ </xsd:element>
1376
+ <xsd:group name="TxnLineGroupCoreRet">
1377
+ <xsd:sequence>
1378
+ <xsd:element ref="ItemGroupRef"/>
1379
+ <xsd:element name="Desc" minOccurs="0">
1380
+ <xsd:simpleType>
1381
+ <xsd:restriction base="STRTYPE">
1382
+ <xsd:maxLength value="4095"/>
1383
+ </xsd:restriction>
1384
+ </xsd:simpleType>
1385
+ </xsd:element>
1386
+ <xsd:element ref="Quantity" minOccurs="0"/>
1387
+ </xsd:sequence>
1388
+ </xsd:group>
1389
+ <xsd:element name="InvoiceLineGroupRet">
1390
+ <xsd:complexType>
1391
+ <xsd:sequence>
1392
+ <xsd:element ref="TxnLineID"/>
1393
+ <xsd:group ref="TxnLineGroupCoreRet"/>
1394
+ <xsd:element ref="IsPrintItemsInGroup"/>
1395
+ <xsd:element ref="TotalAmount"/>
1396
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1397
+ <xsd:element ref="InvoiceLineRet" maxOccurs="unbounded"/>
1398
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
1399
+ </xsd:sequence>
1400
+ </xsd:complexType>
1401
+ </xsd:element>
1402
+ <xsd:group name="TxnCore">
1403
+ <xsd:sequence>
1404
+ <xsd:element ref="TxnID"/>
1405
+ <xsd:element ref="TimeCreated"/>
1406
+ <xsd:element ref="TimeModified"/>
1407
+ <xsd:element name="EditSequence">
1408
+ <xsd:simpleType>
1409
+ <xsd:restriction base="STRTYPE">
1410
+ <xsd:maxLength value="16"/>
1411
+ </xsd:restriction>
1412
+ </xsd:simpleType>
1413
+ </xsd:element>
1414
+ <xsd:element ref="TxnNumber" minOccurs="0"/>
1415
+ </xsd:sequence>
1416
+ </xsd:group>
1417
+ <xsd:element name="SalesReceiptLineRet">
1418
+ <xsd:complexType>
1419
+ <xsd:sequence>
1420
+ <xsd:element ref="TxnLineID"/>
1421
+ <xsd:group ref="TxnLineCore"/>
1422
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1423
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1424
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
1425
+ </xsd:sequence>
1426
+ </xsd:complexType>
1427
+ </xsd:element>
1428
+ <xsd:element name="SalesReceiptLineGroupRet">
1429
+ <xsd:complexType>
1430
+ <xsd:sequence>
1431
+ <xsd:group ref="TxnLineGroupCoreRet"/>
1432
+ <xsd:element ref="IsPrintItemsInGroup"/>
1433
+ <xsd:element ref="TotalAmount"/>
1434
+ <xsd:element ref="ServiceDate" minOccurs="0"/>
1435
+ <xsd:element ref="SalesReceiptLineRet" maxOccurs="unbounded"/>
1436
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
1437
+ </xsd:sequence>
1438
+ </xsd:complexType>
1439
+ </xsd:element>
1440
+
1441
+
1442
+ <!-- ============================================================================= -->
1443
+ <!-- Aggregates -->
1444
+ <!-- ============================================================================= -->
1445
+
1446
+ <xsd:element name="AccountAdd">
1447
+ <xsd:complexType>
1448
+ <xsd:sequence>
1449
+ <xsd:element name="Name">
1450
+ <xsd:simpleType>
1451
+ <xsd:restriction base="STRTYPE">
1452
+ <xsd:maxLength value="31"/>
1453
+ </xsd:restriction>
1454
+ </xsd:simpleType>
1455
+ </xsd:element>
1456
+ <xsd:element ref="IsActive" minOccurs="0"/>
1457
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1458
+ <xsd:element ref="AccountType"/>
1459
+ <xsd:element ref="DetailAccountType" minOccurs="0"/>
1460
+ <xsd:element name="AccountNumber" minOccurs="0">
1461
+ <xsd:simpleType>
1462
+ <xsd:restriction base="STRTYPE">
1463
+ <xsd:maxLength value="7"/>
1464
+ </xsd:restriction>
1465
+ </xsd:simpleType>
1466
+ </xsd:element>
1467
+ <xsd:element name="BankNumber" minOccurs="0">
1468
+ <xsd:simpleType>
1469
+ <xsd:restriction base="STRTYPE">
1470
+ <xsd:maxLength value="25"/>
1471
+ </xsd:restriction>
1472
+ </xsd:simpleType>
1473
+ </xsd:element>
1474
+ <xsd:element name="Desc" minOccurs="0">
1475
+ <xsd:simpleType>
1476
+ <xsd:restriction base="STRTYPE">
1477
+ <xsd:maxLength value="29"/>
1478
+ </xsd:restriction>
1479
+ </xsd:simpleType>
1480
+ </xsd:element>
1481
+ <xsd:element ref="OpenBalance" minOccurs="0"/>
1482
+ <xsd:element ref="OpenBalanceDate" minOccurs="0"/>
1483
+ </xsd:sequence>
1484
+ </xsd:complexType>
1485
+ </xsd:element>
1486
+ <xsd:group name="AccountListQuery">
1487
+ <xsd:sequence>
1488
+ <xsd:choice minOccurs="0">
1489
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
1490
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
1491
+ <xsd:group ref="AccountListFilter"/>
1492
+ </xsd:choice>
1493
+ <xsd:element ref="OwnerID" minOccurs="0" maxOccurs="unbounded"/>
1494
+ </xsd:sequence>
1495
+ </xsd:group>
1496
+ <xsd:element name="CustomerAdd">
1497
+ <xsd:complexType>
1498
+ <xsd:sequence>
1499
+ <xsd:element name="Name">
1500
+ <xsd:simpleType>
1501
+ <xsd:restriction base="STRTYPE">
1502
+ <xsd:maxLength value="41"/>
1503
+ </xsd:restriction>
1504
+ </xsd:simpleType>
1505
+ </xsd:element>
1506
+ <xsd:element ref="IsActive" minOccurs="0"/>
1507
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1508
+ <xsd:element name="CompanyName" minOccurs="0">
1509
+ <xsd:simpleType>
1510
+ <xsd:restriction base="STRTYPE">
1511
+ <xsd:maxLength value="41"/>
1512
+ </xsd:restriction>
1513
+ </xsd:simpleType>
1514
+ </xsd:element>
1515
+ <xsd:group ref="PersonName"/>
1516
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1517
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1518
+ <xsd:element name="PrintAs" minOccurs="0">
1519
+ <xsd:simpleType>
1520
+ <xsd:restriction base="STRTYPE">
1521
+ <xsd:maxLength value="41"/>
1522
+ </xsd:restriction>
1523
+ </xsd:simpleType>
1524
+ </xsd:element>
1525
+ <xsd:group ref="CommInfo"/>
1526
+ <xsd:element ref="CustomerTypeRef" minOccurs="0"/>
1527
+ <xsd:element ref="TermsRef" minOccurs="0"/>
1528
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
1529
+ <xsd:element ref="OpenBalance" minOccurs="0"/>
1530
+ <xsd:element ref="OpenBalanceDate" minOccurs="0"/>
1531
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1532
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1533
+ <xsd:element name="ResaleNumber" minOccurs="0">
1534
+ <xsd:simpleType>
1535
+ <xsd:restriction base="STRTYPE">
1536
+ <xsd:maxLength value="15"/>
1537
+ </xsd:restriction>
1538
+ </xsd:simpleType>
1539
+ </xsd:element>
1540
+ <xsd:element name="AccountNumber" minOccurs="0">
1541
+ <xsd:simpleType>
1542
+ <xsd:restriction base="STRTYPE">
1543
+ <xsd:maxLength value="99"/>
1544
+ </xsd:restriction>
1545
+ </xsd:simpleType>
1546
+ </xsd:element>
1547
+ <xsd:element ref="CreditLimit" minOccurs="0"/>
1548
+ <xsd:element ref="JobStatus" minOccurs="0"/>
1549
+ <xsd:element ref="JobStartDate" minOccurs="0"/>
1550
+ <xsd:element ref="JobProjectedEndDate" minOccurs="0"/>
1551
+ <xsd:element ref="JobEndDate" minOccurs="0"/>
1552
+ <xsd:element name="JobDesc" minOccurs="0">
1553
+ <xsd:simpleType>
1554
+ <xsd:restriction base="STRTYPE">
1555
+ <xsd:maxLength value="99"/>
1556
+ </xsd:restriction>
1557
+ </xsd:simpleType>
1558
+ </xsd:element>
1559
+ <xsd:element ref="JobTypeRef" minOccurs="0"/>
1560
+ <xsd:element ref="IsStatementWithParent" minOccurs="0"/>
1561
+ <xsd:element ref="DeliveryMethod" minOccurs="0"/>
1562
+ </xsd:sequence>
1563
+ </xsd:complexType>
1564
+ </xsd:element>
1565
+ <xsd:element name="CustomerMod">
1566
+ <xsd:complexType>
1567
+ <xsd:sequence>
1568
+ <xsd:group ref="ListCoreMod"/>
1569
+ <xsd:element name="Name" minOccurs="0">
1570
+ <xsd:simpleType>
1571
+ <xsd:restriction base="STRTYPE">
1572
+ <xsd:maxLength value="41"/>
1573
+ </xsd:restriction>
1574
+ </xsd:simpleType>
1575
+ </xsd:element>
1576
+ <xsd:element name="CompanyName" minOccurs="0">
1577
+ <xsd:simpleType>
1578
+ <xsd:restriction base="STRTYPE">
1579
+ <xsd:maxLength value="41"/>
1580
+ </xsd:restriction>
1581
+ </xsd:simpleType>
1582
+ </xsd:element>
1583
+ <xsd:group ref="PersonName"/>
1584
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1585
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1586
+ <xsd:element name="PrintAs" minOccurs="0">
1587
+ <xsd:simpleType>
1588
+ <xsd:restriction base="STRTYPE">
1589
+ <xsd:maxLength value="41"/>
1590
+ </xsd:restriction>
1591
+ </xsd:simpleType>
1592
+ </xsd:element>
1593
+ <xsd:group ref="CommInfo"/>
1594
+ <xsd:element name="AccountNumber" minOccurs="0">
1595
+ <xsd:simpleType>
1596
+ <xsd:restriction base="STRTYPE">
1597
+ <xsd:maxLength value="99"/>
1598
+ </xsd:restriction>
1599
+ </xsd:simpleType>
1600
+ </xsd:element>
1601
+ </xsd:sequence>
1602
+ </xsd:complexType>
1603
+ </xsd:element>
1604
+ <xsd:group name="CustomerListQuery">
1605
+ <xsd:sequence>
1606
+ <xsd:choice minOccurs="0">
1607
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
1608
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
1609
+ <xsd:group ref="CustomerListFilter"/>
1610
+ </xsd:choice>
1611
+ <xsd:element ref="OwnerID" minOccurs="0" maxOccurs="unbounded"/>
1612
+ </xsd:sequence>
1613
+ </xsd:group>
1614
+ <xsd:element name="ItemNonInventoryAdd">
1615
+ <xsd:complexType>
1616
+ <xsd:sequence>
1617
+ <xsd:element name="Name">
1618
+ <xsd:simpleType>
1619
+ <xsd:restriction base="STRTYPE">
1620
+ <xsd:maxLength value="31"/>
1621
+ </xsd:restriction>
1622
+ </xsd:simpleType>
1623
+ </xsd:element>
1624
+ <xsd:element ref="IsActive" minOccurs="0"/>
1625
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1626
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1627
+ <xsd:choice>
1628
+ <xsd:element ref="SalesOrPurchase"/>
1629
+ <xsd:element ref="SalesAndPurchase"/>
1630
+ </xsd:choice>
1631
+ </xsd:sequence>
1632
+ </xsd:complexType>
1633
+ </xsd:element>
1634
+ <xsd:element name="ItemNonInventoryMod">
1635
+ <xsd:complexType>
1636
+ <xsd:sequence>
1637
+ <xsd:group ref="ListCoreMod"/>
1638
+ <xsd:element name="Name" minOccurs="0">
1639
+ <xsd:simpleType>
1640
+ <xsd:restriction base="STRTYPE">
1641
+ <xsd:maxLength value="31"/>
1642
+ </xsd:restriction>
1643
+ </xsd:simpleType>
1644
+ </xsd:element>
1645
+ <xsd:element ref="IsActive" minOccurs="0"/>
1646
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1647
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1648
+ <xsd:choice minOccurs="0">
1649
+ <xsd:element ref="SalesOrPurchaseMod"/>
1650
+ <xsd:element ref="SalesAndPurchaseMod"/>
1651
+ </xsd:choice>
1652
+ </xsd:sequence>
1653
+ </xsd:complexType>
1654
+ </xsd:element>
1655
+ <xsd:group name="ListQueryWithOwnerID">
1656
+ <xsd:sequence>
1657
+ <xsd:choice minOccurs="0">
1658
+ <xsd:element ref="ListID" maxOccurs="unbounded"/>
1659
+ <xsd:element ref="FullName" maxOccurs="unbounded"/>
1660
+ <xsd:group ref="ListFilter"/>
1661
+ </xsd:choice>
1662
+ <xsd:element ref="OwnerID" minOccurs="0" maxOccurs="unbounded"/>
1663
+ </xsd:sequence>
1664
+ </xsd:group>
1665
+ <xsd:element name="InvoiceAdd">
1666
+ <xsd:complexType>
1667
+ <xsd:sequence>
1668
+ <xsd:element ref="CustomerRef"/>
1669
+ <xsd:element ref="ClassRef" minOccurs="0"/>
1670
+ <xsd:element ref="ARAccountRef" minOccurs="0"/>
1671
+ <xsd:element ref="TxnDate" minOccurs="0"/>
1672
+ <xsd:element name="RefNumber" minOccurs="0">
1673
+ <xsd:simpleType>
1674
+ <xsd:restriction base="STRTYPE">
1675
+ <xsd:maxLength value="11"/>
1676
+ </xsd:restriction>
1677
+ </xsd:simpleType>
1678
+ </xsd:element>
1679
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1680
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1681
+ <xsd:element ref="IsPending" minOccurs="0"/>
1682
+ <xsd:element name="PONumber" minOccurs="0">
1683
+ <xsd:simpleType>
1684
+ <xsd:restriction base="STRTYPE">
1685
+ <xsd:maxLength value="25"/>
1686
+ </xsd:restriction>
1687
+ </xsd:simpleType>
1688
+ </xsd:element>
1689
+ <xsd:element ref="TermsRef" minOccurs="0"/>
1690
+ <xsd:element ref="DueDate" minOccurs="0"/>
1691
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
1692
+ <xsd:element name="FOB" minOccurs="0">
1693
+ <xsd:simpleType>
1694
+ <xsd:restriction base="STRTYPE">
1695
+ <xsd:maxLength value="13"/>
1696
+ </xsd:restriction>
1697
+ </xsd:simpleType>
1698
+ </xsd:element>
1699
+ <xsd:element ref="ShipDate" minOccurs="0"/>
1700
+ <xsd:element ref="ShipMethodRef" minOccurs="0"/>
1701
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1702
+ <xsd:element name="Memo" minOccurs="0">
1703
+ <xsd:simpleType>
1704
+ <xsd:restriction base="STRTYPE">
1705
+ <xsd:maxLength value="4095"/>
1706
+ </xsd:restriction>
1707
+ </xsd:simpleType>
1708
+ </xsd:element>
1709
+ <xsd:element ref="CustomerMsgRef" minOccurs="0"/>
1710
+ <xsd:element ref="IsToBePrinted" minOccurs="0"/>
1711
+ <xsd:element ref="CustomerSalesTaxCodeRef" minOccurs="0"/>
1712
+ <xsd:choice maxOccurs="unbounded">
1713
+ <xsd:element ref="InvoiceLineAdd"/>
1714
+ <xsd:element ref="InvoiceLineGroupAdd"/>
1715
+ </xsd:choice>
1716
+ </xsd:sequence>
1717
+ <xsd:attribute name="defMacro" type="MACROTYPE"/>
1718
+ </xsd:complexType>
1719
+ </xsd:element>
1720
+ <xsd:element name="InvoiceMod">
1721
+ <xsd:complexType>
1722
+ <xsd:sequence>
1723
+ <xsd:group ref="TxnCoreMod"/>
1724
+ <xsd:element ref="CustomerRef" minOccurs="0"/>
1725
+ <xsd:element ref="ClassRef" minOccurs="0"/>
1726
+ <xsd:element ref="ARAccountRef" minOccurs="0"/>
1727
+ <xsd:element ref="TxnDate" minOccurs="0"/>
1728
+ <xsd:element name="RefNumber" minOccurs="0">
1729
+ <xsd:simpleType>
1730
+ <xsd:restriction base="STRTYPE">
1731
+ <xsd:maxLength value="11"/>
1732
+ </xsd:restriction>
1733
+ </xsd:simpleType>
1734
+ </xsd:element>
1735
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1736
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1737
+ <xsd:element ref="IsPending" minOccurs="0"/>
1738
+ <xsd:element name="PONumber" minOccurs="0">
1739
+ <xsd:simpleType>
1740
+ <xsd:restriction base="STRTYPE">
1741
+ <xsd:maxLength value="25"/>
1742
+ </xsd:restriction>
1743
+ </xsd:simpleType>
1744
+ </xsd:element>
1745
+ <xsd:element ref="TermsRef" minOccurs="0"/>
1746
+ <xsd:element ref="DueDate" minOccurs="0"/>
1747
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
1748
+ <xsd:element name="FOB" minOccurs="0">
1749
+ <xsd:simpleType>
1750
+ <xsd:restriction base="STRTYPE">
1751
+ <xsd:maxLength value="13"/>
1752
+ </xsd:restriction>
1753
+ </xsd:simpleType>
1754
+ </xsd:element>
1755
+ <xsd:element ref="ShipDate" minOccurs="0"/>
1756
+ <xsd:element ref="ShipMethodRef" minOccurs="0"/>
1757
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1758
+ <xsd:element name="Memo" minOccurs="0">
1759
+ <xsd:simpleType>
1760
+ <xsd:restriction base="STRTYPE">
1761
+ <xsd:maxLength value="4095"/>
1762
+ </xsd:restriction>
1763
+ </xsd:simpleType>
1764
+ </xsd:element>
1765
+ <xsd:element ref="CustomerMsgRef" minOccurs="0"/>
1766
+ <xsd:element ref="IsToBePrinted" minOccurs="0"/>
1767
+ <xsd:element ref="CustomerSalesTaxCodeRef" minOccurs="0"/>
1768
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
1769
+ <xsd:element ref="InvoiceLineMod"/>
1770
+ <xsd:element ref="InvoiceLineGroupMod"/>
1771
+ </xsd:choice>
1772
+ </xsd:sequence>
1773
+ </xsd:complexType>
1774
+ </xsd:element>
1775
+ <xsd:group name="InvoiceQuery">
1776
+ <xsd:sequence>
1777
+ <xsd:choice minOccurs="0">
1778
+ <xsd:element ref="TxnID" maxOccurs="unbounded"/>
1779
+ <xsd:element ref="RefNumber" maxOccurs="unbounded"/>
1780
+ <xsd:group ref="InvoiceFilter"/>
1781
+ </xsd:choice>
1782
+ <xsd:element ref="IncludeLineItems" minOccurs="0"/>
1783
+ <xsd:element ref="IncludeLinkedTxns" minOccurs="0"/>
1784
+ <xsd:element ref="OwnerID" minOccurs="0" maxOccurs="unbounded"/>
1785
+ </xsd:sequence>
1786
+ </xsd:group>
1787
+ <xsd:element name="SalesReceiptAdd">
1788
+ <xsd:complexType>
1789
+ <xsd:sequence>
1790
+ <xsd:element ref="CustomerRef" minOccurs="0"/>
1791
+ <xsd:element ref="ClassRef" minOccurs="0"/>
1792
+ <xsd:element ref="TxnDate" minOccurs="0"/>
1793
+ <xsd:element name="RefNumber" minOccurs="0">
1794
+ <xsd:simpleType>
1795
+ <xsd:restriction base="STRTYPE">
1796
+ <xsd:maxLength value="11"/>
1797
+ </xsd:restriction>
1798
+ </xsd:simpleType>
1799
+ </xsd:element>
1800
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1801
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1802
+ <xsd:element ref="IsPending" minOccurs="0"/>
1803
+ <xsd:element name="CheckNumber" minOccurs="0">
1804
+ <xsd:simpleType>
1805
+ <xsd:restriction base="STRTYPE">
1806
+ <xsd:maxLength value="25"/>
1807
+ </xsd:restriction>
1808
+ </xsd:simpleType>
1809
+ </xsd:element>
1810
+ <xsd:element ref="PaymentMethodRef" minOccurs="0"/>
1811
+ <xsd:element ref="DueDate" minOccurs="0"/>
1812
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
1813
+ <xsd:element ref="ShipDate" minOccurs="0"/>
1814
+ <xsd:element ref="ShipMethodRef" minOccurs="0"/>
1815
+ <xsd:element name="FOB" minOccurs="0">
1816
+ <xsd:simpleType>
1817
+ <xsd:restriction base="STRTYPE">
1818
+ <xsd:maxLength value="13"/>
1819
+ </xsd:restriction>
1820
+ </xsd:simpleType>
1821
+ </xsd:element>
1822
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1823
+ <xsd:element name="Memo" minOccurs="0">
1824
+ <xsd:simpleType>
1825
+ <xsd:restriction base="STRTYPE">
1826
+ <xsd:maxLength value="4095"/>
1827
+ </xsd:restriction>
1828
+ </xsd:simpleType>
1829
+ </xsd:element>
1830
+ <xsd:element ref="CustomerMsgRef" minOccurs="0"/>
1831
+ <xsd:element ref="IsToBePrinted" minOccurs="0"/>
1832
+ <xsd:element ref="CustomerSalesTaxCodeRef" minOccurs="0"/>
1833
+ <xsd:element ref="DepositToAccountRef" minOccurs="0"/>
1834
+ <xsd:choice maxOccurs="unbounded">
1835
+ <xsd:element ref="SalesReceiptLineAdd"/>
1836
+ <xsd:element ref="SalesReceiptLineGroupAdd"/>
1837
+ </xsd:choice>
1838
+ </xsd:sequence>
1839
+ <xsd:attribute name="defMacro" type="MACROTYPE"/>
1840
+ </xsd:complexType>
1841
+ </xsd:element>
1842
+ <xsd:group name="TxnQuery">
1843
+ <xsd:sequence>
1844
+ <xsd:choice minOccurs="0">
1845
+ <xsd:element ref="TxnID" maxOccurs="unbounded"/>
1846
+ <xsd:element ref="RefNumber" maxOccurs="unbounded"/>
1847
+ <xsd:group ref="TxnFilter"/>
1848
+ </xsd:choice>
1849
+ <xsd:element ref="IncludeLineItems" minOccurs="0"/>
1850
+ <xsd:element ref="OwnerID" minOccurs="0" maxOccurs="unbounded"/>
1851
+ </xsd:sequence>
1852
+ </xsd:group>
1853
+ <xsd:group name="ListDel">
1854
+ <xsd:sequence>
1855
+ <xsd:element ref="ListDelType"/>
1856
+ <xsd:element ref="ListID"/>
1857
+ </xsd:sequence>
1858
+ </xsd:group>
1859
+ <xsd:group name="ListDeletedQuery">
1860
+ <xsd:sequence>
1861
+ <xsd:element ref="ListDelType" maxOccurs="unbounded"/>
1862
+ <xsd:element ref="DeletedDateRangeFilter" minOccurs="0"/>
1863
+ </xsd:sequence>
1864
+ </xsd:group>
1865
+ <xsd:group name="TxnDel">
1866
+ <xsd:sequence>
1867
+ <xsd:element ref="TxnDelType"/>
1868
+ <xsd:element ref="TxnID"/>
1869
+ </xsd:sequence>
1870
+ </xsd:group>
1871
+ <xsd:group name="TxnVoid">
1872
+ <xsd:sequence>
1873
+ <xsd:element ref="TxnVoidType"/>
1874
+ <xsd:element ref="TxnID"/>
1875
+ </xsd:sequence>
1876
+ </xsd:group>
1877
+ <xsd:group name="TxnDeletedQuery">
1878
+ <xsd:sequence>
1879
+ <xsd:element ref="TxnDelType" maxOccurs="unbounded"/>
1880
+ <xsd:element ref="DeletedDateRangeFilter" minOccurs="0"/>
1881
+ </xsd:sequence>
1882
+ </xsd:group>
1883
+ <xsd:element name="AccountRet">
1884
+ <xsd:complexType>
1885
+ <xsd:sequence>
1886
+ <xsd:group ref="ListCore"/>
1887
+ <xsd:element name="Name">
1888
+ <xsd:simpleType>
1889
+ <xsd:restriction base="STRTYPE">
1890
+ <xsd:maxLength value="31"/>
1891
+ </xsd:restriction>
1892
+ </xsd:simpleType>
1893
+ </xsd:element>
1894
+ <xsd:element name="FullName">
1895
+ <xsd:simpleType>
1896
+ <xsd:restriction base="STRTYPE">
1897
+ <xsd:maxLength value="159"/>
1898
+ </xsd:restriction>
1899
+ </xsd:simpleType>
1900
+ </xsd:element>
1901
+ <xsd:element ref="IsActive" minOccurs="0"/>
1902
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1903
+ <xsd:element ref="Sublevel"/>
1904
+ <xsd:element ref="AccountType"/>
1905
+ <xsd:element ref="DetailAccountType" minOccurs="0"/>
1906
+ <xsd:element ref="SpecialAccountType" minOccurs="0"/>
1907
+ <xsd:element name="AccountNumber" minOccurs="0">
1908
+ <xsd:simpleType>
1909
+ <xsd:restriction base="STRTYPE">
1910
+ <xsd:maxLength value="7"/>
1911
+ </xsd:restriction>
1912
+ </xsd:simpleType>
1913
+ </xsd:element>
1914
+ <xsd:element name="BankNumber" minOccurs="0">
1915
+ <xsd:simpleType>
1916
+ <xsd:restriction base="STRTYPE">
1917
+ <xsd:maxLength value="25"/>
1918
+ </xsd:restriction>
1919
+ </xsd:simpleType>
1920
+ </xsd:element>
1921
+ <xsd:element ref="LastCheckNumber" minOccurs="0"/>
1922
+ <xsd:element name="Desc" minOccurs="0">
1923
+ <xsd:simpleType>
1924
+ <xsd:restriction base="STRTYPE">
1925
+ <xsd:maxLength value="29"/>
1926
+ </xsd:restriction>
1927
+ </xsd:simpleType>
1928
+ </xsd:element>
1929
+ <xsd:element ref="Balance" minOccurs="0"/>
1930
+ <xsd:element ref="TotalBalance" minOccurs="0"/>
1931
+ <xsd:element ref="TaxLineInfoRet" minOccurs="0"/>
1932
+ <xsd:element ref="CashFlowClassification" minOccurs="0"/>
1933
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
1934
+ </xsd:sequence>
1935
+ </xsd:complexType>
1936
+ </xsd:element>
1937
+ <xsd:element name="CustomerRet">
1938
+ <xsd:complexType>
1939
+ <xsd:sequence>
1940
+ <xsd:group ref="ListCore"/>
1941
+ <xsd:element name="Name">
1942
+ <xsd:simpleType>
1943
+ <xsd:restriction base="STRTYPE">
1944
+ <xsd:maxLength value="41"/>
1945
+ </xsd:restriction>
1946
+ </xsd:simpleType>
1947
+ </xsd:element>
1948
+ <xsd:element name="FullName">
1949
+ <xsd:simpleType>
1950
+ <xsd:restriction base="STRTYPE">
1951
+ <xsd:maxLength value="209"/>
1952
+ </xsd:restriction>
1953
+ </xsd:simpleType>
1954
+ </xsd:element>
1955
+ <xsd:element ref="IsActive" minOccurs="0"/>
1956
+ <xsd:element ref="ParentRef" minOccurs="0"/>
1957
+ <xsd:element ref="Sublevel"/>
1958
+ <xsd:element name="CompanyName" minOccurs="0">
1959
+ <xsd:simpleType>
1960
+ <xsd:restriction base="STRTYPE">
1961
+ <xsd:maxLength value="41"/>
1962
+ </xsd:restriction>
1963
+ </xsd:simpleType>
1964
+ </xsd:element>
1965
+ <xsd:group ref="PersonName"/>
1966
+ <xsd:element ref="BillAddress" minOccurs="0"/>
1967
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
1968
+ <xsd:element name="PrintAs" minOccurs="0">
1969
+ <xsd:simpleType>
1970
+ <xsd:restriction base="STRTYPE">
1971
+ <xsd:maxLength value="41"/>
1972
+ </xsd:restriction>
1973
+ </xsd:simpleType>
1974
+ </xsd:element>
1975
+ <xsd:group ref="CommInfo"/>
1976
+ <xsd:element ref="CustomerTypeRef" minOccurs="0"/>
1977
+ <xsd:element ref="TermsRef" minOccurs="0"/>
1978
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
1979
+ <xsd:element ref="Balance" minOccurs="0"/>
1980
+ <xsd:element ref="TotalBalance" minOccurs="0"/>
1981
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
1982
+ <xsd:element ref="ItemSalesTaxRef" minOccurs="0"/>
1983
+ <xsd:element name="ResaleNumber" minOccurs="0">
1984
+ <xsd:simpleType>
1985
+ <xsd:restriction base="STRTYPE">
1986
+ <xsd:maxLength value="15"/>
1987
+ </xsd:restriction>
1988
+ </xsd:simpleType>
1989
+ </xsd:element>
1990
+ <xsd:element name="AccountNumber" minOccurs="0">
1991
+ <xsd:simpleType>
1992
+ <xsd:restriction base="STRTYPE">
1993
+ <xsd:maxLength value="99"/>
1994
+ </xsd:restriction>
1995
+ </xsd:simpleType>
1996
+ </xsd:element>
1997
+ <xsd:element ref="CreditLimit" minOccurs="0"/>
1998
+ <xsd:element ref="JobStatus" minOccurs="0"/>
1999
+ <xsd:element ref="JobStartDate" minOccurs="0"/>
2000
+ <xsd:element ref="JobProjectedEndDate" minOccurs="0"/>
2001
+ <xsd:element ref="JobEndDate" minOccurs="0"/>
2002
+ <xsd:element name="JobDesc" minOccurs="0">
2003
+ <xsd:simpleType>
2004
+ <xsd:restriction base="STRTYPE">
2005
+ <xsd:maxLength value="99"/>
2006
+ </xsd:restriction>
2007
+ </xsd:simpleType>
2008
+ </xsd:element>
2009
+ <xsd:element ref="JobTypeRef" minOccurs="0"/>
2010
+ <xsd:element name="Notes" minOccurs="0">
2011
+ <xsd:simpleType>
2012
+ <xsd:restriction base="STRTYPE">
2013
+ <xsd:maxLength value="4095"/>
2014
+ </xsd:restriction>
2015
+ </xsd:simpleType>
2016
+ </xsd:element>
2017
+ <xsd:element ref="IsStatementWithParent" minOccurs="0"/>
2018
+ <xsd:element ref="DeliveryMethod" minOccurs="0"/>
2019
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
2020
+ </xsd:sequence>
2021
+ </xsd:complexType>
2022
+ </xsd:element>
2023
+ <xsd:element name="ItemNonInventoryRet">
2024
+ <xsd:complexType>
2025
+ <xsd:sequence>
2026
+ <xsd:group ref="ListCore"/>
2027
+ <xsd:element name="Name">
2028
+ <xsd:simpleType>
2029
+ <xsd:restriction base="STRTYPE">
2030
+ <xsd:maxLength value="31"/>
2031
+ </xsd:restriction>
2032
+ </xsd:simpleType>
2033
+ </xsd:element>
2034
+ <xsd:element name="FullName">
2035
+ <xsd:simpleType>
2036
+ <xsd:restriction base="STRTYPE">
2037
+ <xsd:maxLength value="159"/>
2038
+ </xsd:restriction>
2039
+ </xsd:simpleType>
2040
+ </xsd:element>
2041
+ <xsd:element ref="IsActive" minOccurs="0"/>
2042
+ <xsd:element ref="ParentRef" minOccurs="0"/>
2043
+ <xsd:element ref="Sublevel"/>
2044
+ <xsd:element ref="SalesTaxCodeRef" minOccurs="0"/>
2045
+ <xsd:choice>
2046
+ <xsd:element ref="SalesOrPurchase"/>
2047
+ <xsd:element ref="SalesAndPurchase"/>
2048
+ </xsd:choice>
2049
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
2050
+ </xsd:sequence>
2051
+ </xsd:complexType>
2052
+ </xsd:element>
2053
+ <xsd:element name="InvoiceRet">
2054
+ <xsd:complexType>
2055
+ <xsd:sequence>
2056
+ <xsd:group ref="TxnCore"/>
2057
+ <xsd:element ref="CustomerRef"/>
2058
+ <xsd:element ref="ClassRef" minOccurs="0"/>
2059
+ <xsd:element ref="ARAccountRef" minOccurs="0"/>
2060
+ <xsd:element ref="TxnDate"/>
2061
+ <xsd:element name="RefNumber" minOccurs="0">
2062
+ <xsd:simpleType>
2063
+ <xsd:restriction base="STRTYPE">
2064
+ <xsd:maxLength value="11"/>
2065
+ </xsd:restriction>
2066
+ </xsd:simpleType>
2067
+ </xsd:element>
2068
+ <xsd:element ref="BillAddress" minOccurs="0"/>
2069
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
2070
+ <xsd:element ref="IsPending" minOccurs="0"/>
2071
+ <xsd:element ref="IsFinanceCharge" minOccurs="0"/>
2072
+ <xsd:element name="PONumber" minOccurs="0">
2073
+ <xsd:simpleType>
2074
+ <xsd:restriction base="STRTYPE">
2075
+ <xsd:maxLength value="25"/>
2076
+ </xsd:restriction>
2077
+ </xsd:simpleType>
2078
+ </xsd:element>
2079
+ <xsd:element ref="TermsRef" minOccurs="0"/>
2080
+ <xsd:element ref="DueDate" minOccurs="0"/>
2081
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
2082
+ <xsd:element name="FOB" minOccurs="0">
2083
+ <xsd:simpleType>
2084
+ <xsd:restriction base="STRTYPE">
2085
+ <xsd:maxLength value="13"/>
2086
+ </xsd:restriction>
2087
+ </xsd:simpleType>
2088
+ </xsd:element>
2089
+ <xsd:element ref="ShipDate" minOccurs="0"/>
2090
+ <xsd:element ref="ShipMethodRef" minOccurs="0"/>
2091
+ <xsd:element ref="Subtotal" minOccurs="0"/>
2092
+ <xsd:group ref="SalesTaxData"/>
2093
+ <xsd:element ref="AppliedAmount" minOccurs="0"/>
2094
+ <xsd:element ref="BalanceRemaining" minOccurs="0"/>
2095
+ <xsd:element name="Memo" minOccurs="0">
2096
+ <xsd:simpleType>
2097
+ <xsd:restriction base="STRTYPE">
2098
+ <xsd:maxLength value="4095"/>
2099
+ </xsd:restriction>
2100
+ </xsd:simpleType>
2101
+ </xsd:element>
2102
+ <xsd:element ref="IsPaid" minOccurs="0"/>
2103
+ <xsd:element ref="CustomerMsgRef" minOccurs="0"/>
2104
+ <xsd:element ref="IsToBePrinted" minOccurs="0"/>
2105
+ <xsd:element ref="CustomerSalesTaxCodeRef" minOccurs="0"/>
2106
+ <xsd:element ref="SuggestedDiscountAmount" minOccurs="0"/>
2107
+ <xsd:element ref="SuggestedDiscountDate" minOccurs="0"/>
2108
+ <xsd:element ref="LinkedTxn" minOccurs="0" maxOccurs="unbounded"/>
2109
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
2110
+ <xsd:element ref="InvoiceLineRet"/>
2111
+ <xsd:element ref="InvoiceLineGroupRet"/>
2112
+ </xsd:choice>
2113
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
2114
+ </xsd:sequence>
2115
+ </xsd:complexType>
2116
+ </xsd:element>
2117
+ <xsd:element name="SalesReceiptRet">
2118
+ <xsd:complexType>
2119
+ <xsd:sequence>
2120
+ <xsd:group ref="TxnCore"/>
2121
+ <xsd:element ref="CustomerRef" minOccurs="0"/>
2122
+ <xsd:element ref="ClassRef" minOccurs="0"/>
2123
+ <xsd:element ref="TxnDate"/>
2124
+ <xsd:element name="RefNumber" minOccurs="0">
2125
+ <xsd:simpleType>
2126
+ <xsd:restriction base="STRTYPE">
2127
+ <xsd:maxLength value="11"/>
2128
+ </xsd:restriction>
2129
+ </xsd:simpleType>
2130
+ </xsd:element>
2131
+ <xsd:element ref="BillAddress" minOccurs="0"/>
2132
+ <xsd:element ref="ShipAddress" minOccurs="0"/>
2133
+ <xsd:element ref="IsPending" minOccurs="0"/>
2134
+ <xsd:element name="CheckNumber" minOccurs="0">
2135
+ <xsd:simpleType>
2136
+ <xsd:restriction base="STRTYPE">
2137
+ <xsd:maxLength value="25"/>
2138
+ </xsd:restriction>
2139
+ </xsd:simpleType>
2140
+ </xsd:element>
2141
+ <xsd:element ref="PaymentMethodRef" minOccurs="0"/>
2142
+ <xsd:element ref="DueDate" minOccurs="0"/>
2143
+ <xsd:element ref="SalesRepRef" minOccurs="0"/>
2144
+ <xsd:element ref="ShipDate" minOccurs="0"/>
2145
+ <xsd:element ref="ShipMethodRef" minOccurs="0"/>
2146
+ <xsd:element name="FOB" minOccurs="0">
2147
+ <xsd:simpleType>
2148
+ <xsd:restriction base="STRTYPE">
2149
+ <xsd:maxLength value="13"/>
2150
+ </xsd:restriction>
2151
+ </xsd:simpleType>
2152
+ </xsd:element>
2153
+ <xsd:element ref="Subtotal" minOccurs="0"/>
2154
+ <xsd:group ref="SalesTaxData"/>
2155
+ <xsd:element ref="TotalAmount" minOccurs="0"/>
2156
+ <xsd:element name="Memo" minOccurs="0">
2157
+ <xsd:simpleType>
2158
+ <xsd:restriction base="STRTYPE">
2159
+ <xsd:maxLength value="4095"/>
2160
+ </xsd:restriction>
2161
+ </xsd:simpleType>
2162
+ </xsd:element>
2163
+ <xsd:element ref="CustomerMsgRef" minOccurs="0"/>
2164
+ <xsd:element ref="IsToBePrinted" minOccurs="0"/>
2165
+ <xsd:element ref="CustomerSalesTaxCodeRef" minOccurs="0"/>
2166
+ <xsd:element ref="DepositToAccountRef" minOccurs="0"/>
2167
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
2168
+ <xsd:element ref="SalesReceiptLineRet"/>
2169
+ <xsd:element ref="SalesReceiptLineGroupRet"/>
2170
+ </xsd:choice>
2171
+ <xsd:element ref="DataExtRet" minOccurs="0" maxOccurs="unbounded"/>
2172
+ </xsd:sequence>
2173
+ </xsd:complexType>
2174
+ </xsd:element>
2175
+ <xsd:group name="ListDelRet">
2176
+ <xsd:sequence>
2177
+ <xsd:element ref="ListDelType" minOccurs="0"/>
2178
+ <xsd:element ref="ListID" minOccurs="0"/>
2179
+ <xsd:element ref="TimeDeleted" minOccurs="0"/>
2180
+ <xsd:element ref="FullName" minOccurs="0"/>
2181
+ </xsd:sequence>
2182
+ </xsd:group>
2183
+ <xsd:element name="ListDeletedRet">
2184
+ <xsd:complexType>
2185
+ <xsd:sequence>
2186
+ <xsd:element ref="ListDelType"/>
2187
+ <xsd:element ref="ListID"/>
2188
+ <xsd:element ref="TimeCreated"/>
2189
+ <xsd:element ref="TimeDeleted"/>
2190
+ <xsd:element ref="FullName" minOccurs="0"/>
2191
+ </xsd:sequence>
2192
+ </xsd:complexType>
2193
+ </xsd:element>
2194
+ <xsd:group name="TxnDelRet">
2195
+ <xsd:sequence>
2196
+ <xsd:element ref="TxnDelType" minOccurs="0"/>
2197
+ <xsd:element ref="TxnID" minOccurs="0"/>
2198
+ <xsd:element ref="TimeDeleted" minOccurs="0"/>
2199
+ <xsd:element ref="RefNumber" minOccurs="0"/>
2200
+ </xsd:sequence>
2201
+ </xsd:group>
2202
+ <xsd:group name="TxnVoidRet">
2203
+ <xsd:sequence>
2204
+ <xsd:element ref="TxnVoidType" minOccurs="0"/>
2205
+ <xsd:element ref="TxnID" minOccurs="0"/>
2206
+ <xsd:element ref="TimeCreated" minOccurs="0"/>
2207
+ <xsd:element ref="TimeModified" minOccurs="0"/>
2208
+ <xsd:element ref="RefNumber" minOccurs="0"/>
2209
+ </xsd:sequence>
2210
+ </xsd:group>
2211
+ <xsd:element name="TxnDeletedRet">
2212
+ <xsd:complexType>
2213
+ <xsd:sequence>
2214
+ <xsd:element ref="TxnDelType"/>
2215
+ <xsd:element ref="TxnID"/>
2216
+ <xsd:element ref="TimeCreated"/>
2217
+ <xsd:element ref="TimeDeleted"/>
2218
+ <xsd:element ref="RefNumber" minOccurs="0"/>
2219
+ </xsd:sequence>
2220
+ </xsd:complexType>
2221
+ </xsd:element>
2222
+
2223
+ </xsd:schema>