quickbooks 0.4.0 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
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>