quickeebooks 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/Gemfile.lock +18 -18
  2. data/README.md +9 -2
  3. data/Rakefile +1 -1
  4. data/lib/quickeebooks.rb +37 -1
  5. data/lib/quickeebooks/online/model/account.rb +12 -1
  6. data/lib/quickeebooks/online/model/company_meta_data.rb +30 -0
  7. data/lib/quickeebooks/online/model/credit_card.rb +14 -0
  8. data/lib/quickeebooks/online/model/credit_charge_info.rb +17 -0
  9. data/lib/quickeebooks/online/model/credit_charge_response.rb +13 -0
  10. data/lib/quickeebooks/online/model/customer.rb +13 -4
  11. data/lib/quickeebooks/online/model/id.rb +21 -0
  12. data/lib/quickeebooks/online/model/intuit_type.rb +17 -0
  13. data/lib/quickeebooks/online/model/invoice.rb +25 -2
  14. data/lib/quickeebooks/online/model/invoice_header.rb +4 -2
  15. data/lib/quickeebooks/online/model/invoice_line_item.rb +7 -6
  16. data/lib/quickeebooks/online/model/item.rb +8 -2
  17. data/lib/quickeebooks/online/model/payment.rb +58 -0
  18. data/lib/quickeebooks/online/model/payment_detail.rb +12 -0
  19. data/lib/quickeebooks/online/model/payment_header.rb +24 -0
  20. data/lib/quickeebooks/online/model/payment_line_item.rb +15 -0
  21. data/lib/quickeebooks/online/service/account.rb +5 -5
  22. data/lib/quickeebooks/online/service/company_meta_data.rb +24 -0
  23. data/lib/quickeebooks/online/service/customer.rb +5 -5
  24. data/lib/quickeebooks/online/service/invoice.rb +39 -10
  25. data/lib/quickeebooks/online/service/item.rb +5 -5
  26. data/lib/quickeebooks/online/service/payment.rb +63 -0
  27. data/lib/quickeebooks/online/service/service_base.rb +62 -31
  28. data/lib/quickeebooks/version.rb +1 -1
  29. data/lib/quickeebooks/windows/model/account.rb +7 -0
  30. data/lib/quickeebooks/windows/model/address.rb +8 -0
  31. data/lib/quickeebooks/windows/model/custom_field.rb +1 -1
  32. data/lib/quickeebooks/windows/model/customer.rb +12 -1
  33. data/lib/quickeebooks/windows/model/customer_msg.rb +31 -0
  34. data/lib/quickeebooks/windows/model/error.rb +19 -0
  35. data/lib/quickeebooks/windows/model/external_key.rb +21 -0
  36. data/lib/quickeebooks/windows/model/id.rb +21 -0
  37. data/lib/quickeebooks/windows/model/invoice.rb +10 -2
  38. data/lib/quickeebooks/windows/model/invoice_header.rb +13 -15
  39. data/lib/quickeebooks/windows/model/invoice_line_item.rb +7 -7
  40. data/lib/quickeebooks/windows/model/item.rb +6 -3
  41. data/lib/quickeebooks/windows/model/object_ref.rb +14 -0
  42. data/lib/quickeebooks/windows/model/other_name.rb +16 -0
  43. data/lib/quickeebooks/windows/model/other_name_id.rb +21 -0
  44. data/lib/quickeebooks/windows/model/rest_response.rb +34 -0
  45. data/lib/quickeebooks/windows/model/sales_rep.rb +40 -0
  46. data/lib/quickeebooks/windows/model/sales_tax.rb +33 -0
  47. data/lib/quickeebooks/windows/model/ship_method.rb +31 -0
  48. data/lib/quickeebooks/windows/model/success.rb +17 -0
  49. data/lib/quickeebooks/windows/model/vendor.rb +16 -0
  50. data/lib/quickeebooks/windows/model/vendor_id.rb +21 -0
  51. data/lib/quickeebooks/windows/service/customer.rb +1 -1
  52. data/lib/quickeebooks/windows/service/customer_msg.rb +15 -0
  53. data/lib/quickeebooks/windows/service/invoice.rb +19 -1
  54. data/lib/quickeebooks/windows/service/item.rb +1 -1
  55. data/lib/quickeebooks/windows/service/sales_rep.rb +16 -0
  56. data/lib/quickeebooks/windows/service/sales_tax.rb +15 -0
  57. data/lib/quickeebooks/windows/service/service_base.rb +47 -8
  58. data/lib/quickeebooks/windows/service/ship_method.rb +15 -0
  59. data/quickeebooks.gemspec +2 -1
  60. data/spec/quickeebooks/online/company_meta_data_spec.rb +30 -0
  61. data/spec/quickeebooks/online/invoice_spec.rb +2 -2
  62. data/spec/quickeebooks/online/payment_spec.rb +23 -0
  63. data/spec/quickeebooks/online/services/account_spec.rb +28 -20
  64. data/spec/quickeebooks/online/services/company_meta_data_spec.rb +40 -0
  65. data/spec/quickeebooks/online/services/customer_spec.rb +32 -28
  66. data/spec/quickeebooks/online/services/invoice_spec.rb +52 -0
  67. data/spec/quickeebooks/online/services/service_base_spec.rb +17 -7
  68. data/spec/quickeebooks/windows/services/customer_spec.rb +49 -0
  69. data/spec/quickeebooks/windows/services/invoice_spec.rb +133 -0
  70. data/spec/quickeebooks/windows/services/sales_rep_spec.rb +47 -0
  71. data/spec/quickeebooks/windows/services/sales_taxes_spec.rb +41 -0
  72. data/spec/quickeebooks/windows/services/ship_method_spec.rb +38 -0
  73. data/spec/quickeebooks_spec.rb +1 -1
  74. data/spec/spec_helper.rb +1 -1
  75. data/spec/xml/online/api_error.xml +6 -0
  76. data/spec/xml/online/company_meta_data.xml +37 -0
  77. data/spec/xml/online/determine_base_url.xml +10 -0
  78. data/spec/xml/online/invoice.xml +26 -31
  79. data/spec/xml/online/payment.xml +24 -0
  80. data/spec/xml/windows/invoice_success_create.xml +11 -0
  81. data/spec/xml/windows/invoices.xml +436 -0
  82. data/spec/xml/windows/sales_reps.xml +204 -0
  83. data/spec/xml/windows/sales_taxes.xml +34 -0
  84. data/spec/xml/windows/ship_methods.xml +139 -0
  85. metadata +80 -22
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require "fakeweb"
3
+ require "oauth"
4
+ require "quickeebooks"
5
+
6
+ describe "Quickeebooks::Windows::Service::Customer" do
7
+ before(:all) do
8
+ FakeWeb.allow_net_connect = false
9
+ qb_key = "key"
10
+ qb_secret = "secreet"
11
+
12
+ @realm_id = "9991111222"
13
+ @base_uri = "https://qbo.intuit.com/qbo36"
14
+ @oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
15
+ :site => "https://oauth.intuit.com",
16
+ :request_token_path => "/oauth/v1/get_request_token",
17
+ :authorize_path => "/oauth/v1/get_access_token",
18
+ :access_token_path => "/oauth/v1/get_access_token"
19
+ })
20
+ @oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
21
+ end
22
+
23
+ it "can fetch a list of customers" do
24
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/customers.xml")
25
+ model = Quickeebooks::Windows::Model::Customer
26
+ service = Quickeebooks::Windows::Service::Customer.new
27
+ service.access_token = @oauth
28
+ service.realm_id = @realm_id
29
+ FakeWeb.register_uri(:post, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
30
+ accounts = service.list
31
+ accounts.entries.count.should == 3
32
+ wine_house = accounts.entries.first
33
+ wine_house.name.should == "Wine House"
34
+
35
+ billing_address = wine_house.billing_address
36
+ billing_address.should_not == nil
37
+ billing_address.line2.should == "2311 Maple Ave"
38
+ billing_address.city.should == "Los Angeles"
39
+ billing_address.state.should == "CA"
40
+ billing_address.postal_code.should == "90064"
41
+
42
+ email = wine_house.email
43
+ email.should_not == nil
44
+ email.address.should == "no-reply@winehouse.com"
45
+ email.tag.should == "Business"
46
+ email.default.should == "1"
47
+ end
48
+
49
+ end
@@ -0,0 +1,133 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require "fakeweb"
3
+ require "oauth"
4
+ require "quickeebooks"
5
+ require "date"
6
+
7
+ describe "Quickeebooks::Windows::Service::Invoice" do
8
+ before(:all) do
9
+ FakeWeb.allow_net_connect = false
10
+ qb_key = "key"
11
+ qb_secret = "secreet"
12
+
13
+ @realm_id = "9991111222"
14
+ @base_uri = "https://qbo.intuit.com/qbo36"
15
+ @oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
16
+ :site => "https://oauth.intuit.com",
17
+ :request_token_path => "/oauth/v1/get_request_token",
18
+ :authorize_path => "/oauth/v1/get_access_token",
19
+ :access_token_path => "/oauth/v1/get_access_token"
20
+ })
21
+ @oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
22
+ end
23
+
24
+ it "can fetch a list of invoices" do
25
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/invoices.xml")
26
+ service = Quickeebooks::Windows::Service::Invoice.new
27
+ service.access_token = @oauth
28
+ service.realm_id = @realm_id
29
+
30
+ model = Quickeebooks::Windows::Model::Invoice
31
+ FakeWeb.register_uri(:get, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
32
+ invoices = service.list
33
+ invoices.entries.count.should == 7
34
+
35
+ invoice = invoices.entries.first
36
+ invoice.id.value.should == "9107908"
37
+ invoice.header.should_not == nil
38
+ header = invoice.header
39
+ header.doc_number.should == "12-225"
40
+ header.txn_date.should == DateTime.parse('2012-07-10T00:00:00Z')
41
+ header.customer_name.should == "Zanotto's Fine Grocer"
42
+
43
+ header.remit_to_id.value.should == "2"
44
+ header.remit_to_name.should == "Zanotto's Fine Grocer"
45
+ header.ship_date.should == DateTime.parse('2012-07-11T00:00:00Z')
46
+ header.sub_total_amount.should == 384.48
47
+ header.tax_rate.should == 0
48
+ header.total_amount.should == header.sub_total_amount
49
+ header.to_be_printed.should == "false"
50
+ header.to_be_emailed.should == "false"
51
+ header.ar_account_id.value.should == "30"
52
+ header.ar_account_name.should == "Accounts Receivable"
53
+ header.due_date.should == DateTime.parse('2012-08-09T00:00:00Z')
54
+
55
+ bill_addr = header.billing_address
56
+ bill_addr.should_not == nil
57
+ bill_addr.line1.should == "981 Lusk Blvd."
58
+ bill_addr.city.should == "San Jose"
59
+ bill_addr.state.should == "CA"
60
+ bill_addr.postal_code.should == "95126"
61
+
62
+ ship_addr = header.shipping_address
63
+ ship_addr.should_not == nil
64
+ ship_addr.line1.should == "981 Lusk Blvd."
65
+ ship_addr.city.should == "San Jose"
66
+ ship_addr.state.should == "CA"
67
+ ship_addr.postal_code.should == "95126"
68
+
69
+ header.bill_email.should == "thorn@zanottos.com"
70
+ header.balance.should == header.total_amount
71
+
72
+ line1 = invoice.line_items.first
73
+ line1.should_not == nil
74
+ line1.desc.should == "PVR2920"
75
+ line1.amount.should == header.total_amount
76
+ line1.item_id.value.should == "4"
77
+ line1.item_name.should == "2005 Silver Oak Chardonnay"
78
+ line1.unit_price.should == 144.00
79
+ line1.quantity.should == 2.67
80
+ end
81
+
82
+ it "can create an invoice" do
83
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/invoice_success_create.xml")
84
+ service = Quickeebooks::Windows::Service::Invoice.new
85
+ service.access_token = @oauth
86
+ service.realm_id = @realm_id
87
+
88
+ model = Quickeebooks::Windows::Model::Invoice
89
+ FakeWeb.register_uri(:post, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
90
+
91
+ invoice = Quickeebooks::Windows::Model::Invoice.new
92
+ header = Quickeebooks::Windows::Model::InvoiceHeader.new
93
+ header.customer_id = Quickeebooks::Windows::Model::Id.new(2)
94
+ header.due_date = Date.civil(2012, 7, 12).strftime('%F')
95
+ header.ship_date = Date.civil(2012, 8, 11).strftime('%F')
96
+ header.txn_date = Time.now.strftime('%F')
97
+ header.doc_number = "12-225"
98
+
99
+ billing_address = Quickeebooks::Windows::Model::Address.new
100
+ billing_address.line1 = "100 S. Park Drive"
101
+ billing_address.line2 = "Suite 200"
102
+ billing_address.city = "San Jose"
103
+ billing_address.postal_code = "95126"
104
+ billing_address.country_sub_division_code = "CA"
105
+ billing_address.tag = "Billing"
106
+
107
+ shipping_address = Quickeebooks::Windows::Model::Address.new
108
+ shipping_address.line1 = "999 Widmore Ave."
109
+ shipping_address.city = "Santa Cruz"
110
+ shipping_address.postal_code = "95060"
111
+ shipping_address.country_sub_division_code = "CA"
112
+ shipping_address.tag = "Shipping"
113
+
114
+ header.billing_address = billing_address
115
+ header.shipping_address = shipping_address
116
+
117
+ item1 = Quickeebooks::Windows::Model::InvoiceLineItem.new
118
+ item1.item_id = Quickeebooks::Windows::Model::Id.new(4)
119
+ item1.desc = "PVR2920"
120
+ item1.unit_price = 144.00
121
+ item1.quantity = 2.67
122
+
123
+ invoice.line_items << item1
124
+ invoice.header = header
125
+
126
+ created_invoice = service.create(invoice)
127
+
128
+ created_invoice.success?.should == true
129
+ created_invoice.success.object_ref.id.value.should == "9107908"
130
+ created_invoice.success.request_name.should == "InvoiceAdd"
131
+ end
132
+
133
+ end
@@ -0,0 +1,47 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require "fakeweb"
3
+ require "oauth"
4
+ require "quickeebooks"
5
+
6
+ describe "Quickeebooks::Windows::Service::SalesRep" do
7
+ before(:all) do
8
+ FakeWeb.allow_net_connect = false
9
+ qb_key = "key"
10
+ qb_secret = "secreet"
11
+
12
+ @realm_id = "9991111222"
13
+ @base_uri = "https://qbo.intuit.com/qbo36"
14
+ @oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
15
+ :site => "https://oauth.intuit.com",
16
+ :request_token_path => "/oauth/v1/get_request_token",
17
+ :authorize_path => "/oauth/v1/get_access_token",
18
+ :access_token_path => "/oauth/v1/get_access_token"
19
+ })
20
+ @oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
21
+ end
22
+
23
+ it "can fetch a list of sales reps" do
24
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/sales_reps.xml")
25
+ service = Quickeebooks::Windows::Service::SalesRep.new
26
+ service.access_token = @oauth
27
+ service.realm_id = @realm_id
28
+
29
+ model = Quickeebooks::Windows::Model::SalesRep
30
+ FakeWeb.register_uri(:get, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
31
+ reps = service.list
32
+ reps.entries.count.should == 10
33
+
34
+ lukas = reps.entries.detect { |sr| sr.id.value == "13" }
35
+ lukas.should_not == nil
36
+ lukas.external_key.value.should == "13"
37
+ lukas.initials.should == "LB"
38
+ lukas.vendor.vendor_id.value.should == "275"
39
+ lukas.vendor.vendor_name.should == "Lukas Billybob"
40
+
41
+ other_name = reps.entries.detect { |r| r.other_name? }
42
+ other_name.should_not == nil
43
+ other_name.other_name.other_name_id.value.should == "96"
44
+ other_name.other_name.other_name_name.should == "Samples."
45
+ end
46
+
47
+ end
@@ -0,0 +1,41 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require "fakeweb"
3
+ require "oauth"
4
+ require "quickeebooks"
5
+
6
+ describe "Quickeebooks::Windows::Service::SalesTax" do
7
+ before(:all) do
8
+ FakeWeb.allow_net_connect = false
9
+ qb_key = "key"
10
+ qb_secret = "secreet"
11
+
12
+ @realm_id = "9991111222"
13
+ @base_uri = "https://qbo.intuit.com/qbo36"
14
+ @oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
15
+ :site => "https://oauth.intuit.com",
16
+ :request_token_path => "/oauth/v1/get_request_token",
17
+ :authorize_path => "/oauth/v1/get_access_token",
18
+ :access_token_path => "/oauth/v1/get_access_token"
19
+ })
20
+ @oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
21
+ end
22
+
23
+ it "can fetch a list of sales taxes" do
24
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/sales_taxes.xml")
25
+ model = Quickeebooks::Windows::Model::SalesTax
26
+ service = Quickeebooks::Windows::Service::SalesTax.new
27
+ service.access_token = @oauth
28
+ service.realm_id = @realm_id
29
+ FakeWeb.register_uri(:get, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
30
+ shipping_methods = service.list
31
+ shipping_methods.entries.count.should == 2
32
+
33
+ sf = shipping_methods.entries.detect { |sm| sm.name == "San Francisco County" }
34
+ sf.should_not == nil
35
+ sf.id.value.should == "80"
36
+ sf.desc.should == 'Sales Tax - San Francisco'
37
+ sf.tax_rate.should == 8.5
38
+
39
+ end
40
+
41
+ end
@@ -0,0 +1,38 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require "fakeweb"
3
+ require "oauth"
4
+ require "quickeebooks"
5
+
6
+ describe "Quickeebooks::Windows::Service::ShipMethod" do
7
+ before(:all) do
8
+ FakeWeb.allow_net_connect = false
9
+ qb_key = "key"
10
+ qb_secret = "secreet"
11
+
12
+ @realm_id = "9991111222"
13
+ @base_uri = "https://qbo.intuit.com/qbo36"
14
+ @oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
15
+ :site => "https://oauth.intuit.com",
16
+ :request_token_path => "/oauth/v1/get_request_token",
17
+ :authorize_path => "/oauth/v1/get_access_token",
18
+ :access_token_path => "/oauth/v1/get_access_token"
19
+ })
20
+ @oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
21
+ end
22
+
23
+ it "can fetch a list of shipping methods" do
24
+ xml = File.read(File.dirname(__FILE__) + "/../../../xml/windows/ship_methods.xml")
25
+ model = Quickeebooks::Windows::Model::ShipMethod
26
+ service = Quickeebooks::Windows::Service::ShipMethod.new
27
+ service.access_token = @oauth
28
+ service.realm_id = @realm_id
29
+ FakeWeb.register_uri(:get, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
30
+ shipping_methods = service.list
31
+ shipping_methods.entries.count.should == 15
32
+
33
+ vinlux = shipping_methods.entries.detect { |sm| sm.name == "Vinlux" }
34
+ vinlux.should_not == nil
35
+ vinlux.id.value.should == "13"
36
+ end
37
+
38
+ end
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
  require "quickeebooks"
3
3
 
4
4
  describe Quickeebooks do
data/spec/spec_helper.rb CHANGED
@@ -14,7 +14,7 @@ def mock_exit(&block)
14
14
  block.should raise_error(SystemExit)
15
15
  end
16
16
 
17
- Rspec.configure do |config|
17
+ RSpec.configure do |config|
18
18
  config.color_enabled = true
19
19
  config.mock_with :rr
20
20
  end
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <FaultInfo xmlns="http://www.intuit.com/sb/cdm/baseexceptionmodel/xsd">
3
+ <Message>Internal Server Error</Message>
4
+ <ErrorCode>500</ErrorCode>
5
+ <Cause>SERVER</Cause>
6
+ </FaultInfo>
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <CompanyMetaData xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
3
+ <QBNRegisteredCompanyName>Bay Area landscape services</QBNRegisteredCompanyName>
4
+ <Address>
5
+ <Line1>2600 Service Street</Line1>
6
+ <City>San Jose</City>
7
+ <CountrySubDivisionCode>CA</CountrySubDivisionCode>
8
+ <PostalCode>95131</PostalCode>
9
+ <Tag>COMPANY_ADDRESS</Tag>
10
+ </Address>
11
+ <Address>
12
+ <Line1>2601 ServicePayment Street</Line1>
13
+ <City>San Jose</City>
14
+ <CountrySubDivisionCode>CA</CountrySubDivisionCode>
15
+ <PostalCode>95131</PostalCode>
16
+ <Tag>PUBLIC_ADDRESS</Tag>
17
+ </Address>
18
+ <Phone>
19
+ <FreeFormNumber>(669)111-2222</FreeFormNumber>
20
+ </Phone>
21
+ <Email>
22
+ <Address>john@bayarealandscapeservices.com</Address>
23
+ <Tag>COMPANY_EMAIL</Tag>
24
+ </Email>
25
+ <Email>
26
+ <Address>admin@bayarealandscapeservices.com</Address>
27
+ <Tag>EMAIL_ADDRESS_FOR_CUSTOMERS</Tag>
28
+ </Email>
29
+ <LegalAddress>
30
+ <Line1>2602 Service Street</Line1>
31
+ <City>San Jose</City>
32
+ <CountrySubDivisionCode>CA</CountrySubDivisionCode>
33
+ <PostalCode>95131</PostalCode>
34
+ <Tag>LEGAL_ADDRESS</Tag>
35
+ </LegalAddress>
36
+ <IndustryType>Landscaping Services</IndustryType>
37
+ </CompanyMetaData>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <qbo:QboUser xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
3
+ <qbo:LoginName>ipp.intuit.com+dr@gmail.com</qbo:LoginName>
4
+ <qbo:Ticket>V1-73-Q013395388397857cf0f26</qbo:Ticket>
5
+ <qbo:AgentId>489710665</qbo:AgentId>
6
+ <qbo:CurrentCompany><qbo:CompanyId>489711245</qbo:CompanyId>
7
+ <qbo:BaseURI>https://qbo.intuit.com/qbo1</qbo:BaseURI>
8
+ <qbo:SubscriptionStatus>SUBSCRIBED</qbo:SubscriptionStatus>
9
+ </qbo:CurrentCompany>
10
+ </qbo:QboUser>
@@ -1,33 +1,28 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
- <Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:ns2="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:ns3="http://www.intuit.com/sb/cdm/qbo">
3
- <Id>28</Id>
4
- <SyncToken>0</SyncToken>
5
- <MetaData>
6
- <CreateTime>2010-09-14T02:22:53-07:00</CreateTime>
7
- <LastUpdatedTime>2010-09-14T02:22:53-07:00</LastUpdatedTime>
8
- </MetaData>
9
- <Header>
10
- <DocNumber>00010</DocNumber>
11
- <TxnDate>2010-08-07-07:00</TxnDate>
12
- <Msg>No Black Ink Pens</Msg>
13
- <Note>Blue Ink pens only</Note>
14
- <CustomerId>5</CustomerId>
15
- <SalesTaxCodeId idDomain="QBO">1</SalesTaxCodeId>
16
- <SalesTaxCodeName>IS_TAXABLE</SalesTaxCodeName>
17
- <SubTotalAmt>200.00</SubTotalAmt>
18
- <TaxRate>0.5</TaxRate>
19
- <TaxAmt>100.00</TaxAmt>
20
- <TotalAmt>298.75</TotalAmt>
21
- <DueDate>2010-08-16-07:00</DueDate>
22
- <BillEmail>john_doe@digitalinsight.com</BillEmail>
23
- <DiscountAmt>-1.25</DiscountAmt>
24
- </Header>
25
- <Line>
26
- <Desc>Pens</Desc>
27
- <Amount>200.00</Amount>
28
- <Taxable>true</Taxable>
29
- <ItemId>4</ItemId>
30
- <UnitPrice>100</UnitPrice>
31
- <Qty>4</Qty>
32
- </Line>
2
+ <Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
3
+ <Id idDomain="QBO">13</Id>
4
+ <SyncToken>0</SyncToken>
5
+ <MetaData>
6
+ <CreateTime>2012-07-16T15:48:34-07:00</CreateTime>
7
+ <LastUpdatedTime>2012-07-16T15:48:34-07:00</LastUpdatedTime>
8
+ </MetaData>
9
+ <Header>
10
+ <DocNumber>1</DocNumber>
11
+ <TxnDate>2012-07-16-07:00</TxnDate>
12
+ <CustomerId idDomain="QBO">10</CustomerId>
13
+ <ShipDate>2012-07-17-07:00</ShipDate>
14
+ <ToBePrinted>false</ToBePrinted>
15
+ <ToBeEmailed>false</ToBeEmailed>
16
+ <DueDate>2012-08-16-07:00</DueDate>
17
+ <ShipMethodId idDomain="QBO" />
18
+ <Balance>0.00</Balance>
19
+ <DiscountTaxable>true</DiscountTaxable>
20
+ </Header>
21
+ <Line>
22
+ <Desc>2005 Edna Valley Chardonnay</Desc>
23
+ <Taxable>false</Taxable>
24
+ <ItemId idDomain="QBO">9</ItemId>
25
+ <UnitPrice>225</UnitPrice>
26
+ <Qty>2</Qty>
27
+ </Line>
33
28
  </Invoice>