quickeebooks 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +42 -11
- data/Guardfile +8 -0
- data/HISTORY.md +5 -0
- data/coverage/index.html +6201 -2451
- data/lib/quickeebooks.rb +16 -1
- data/lib/quickeebooks/online/model/bill_payment.rb +26 -0
- data/lib/quickeebooks/online/model/bill_payment_header.rb +24 -0
- data/lib/quickeebooks/online/model/bill_payment_line_item.rb +13 -0
- data/lib/quickeebooks/online/model/customer.rb +0 -42
- data/lib/quickeebooks/online/model/id.rb +9 -0
- data/lib/quickeebooks/online/model/tracking_class.rb +43 -0
- data/lib/quickeebooks/online/service/bill_payment.rb +16 -0
- data/lib/quickeebooks/online/service/invoice.rb +3 -3
- data/lib/quickeebooks/online/service/service_base.rb +4 -4
- data/lib/quickeebooks/online/service/tracking_class.rb +13 -0
- data/lib/quickeebooks/version.rb +1 -1
- data/lib/quickeebooks/windows/model/id.rb +8 -2
- data/lib/quickeebooks/windows/model/id_set.rb +24 -0
- data/lib/quickeebooks/windows/model/intuit_type.rb +1 -1
- data/lib/quickeebooks/windows/model/ng_id.rb +24 -0
- data/lib/quickeebooks/windows/model/ng_id_set.rb +28 -0
- data/lib/quickeebooks/windows/model/payment.rb +14 -0
- data/lib/quickeebooks/windows/model/payment_header.rb +38 -12
- data/lib/quickeebooks/windows/model/payment_line_item.rb +2 -1
- data/lib/quickeebooks/windows/model/payment_method.rb +28 -0
- data/lib/quickeebooks/windows/model/sync_status_param.rb +28 -0
- data/lib/quickeebooks/windows/model/sync_status_request.rb +31 -0
- data/lib/quickeebooks/windows/model/sync_status_response.rb +156 -0
- data/lib/quickeebooks/windows/service/payment.rb +14 -0
- data/lib/quickeebooks/windows/service/payment_method.rb +24 -0
- data/lib/quickeebooks/windows/service/sync_status.rb +34 -0
- data/quickeebooks.gemspec +3 -1
- data/spec/quickeebooks/online/bill_payment_spec.rb +18 -0
- data/spec/quickeebooks/online/id_spec.rb +18 -0
- data/spec/quickeebooks/online/services/bill_payment_spec.rb +69 -0
- data/spec/quickeebooks/online/services/invoice_spec.rb +12 -0
- data/spec/quickeebooks/online/services/tracking_class_spec.rb +99 -0
- data/spec/quickeebooks/online/tracking_class_spec.rb +32 -0
- data/spec/quickeebooks/windows/id_spec.rb +18 -0
- data/spec/quickeebooks/windows/services/payment_method_spec.rb +36 -0
- data/spec/quickeebooks/windows/services/payment_spec.rb +30 -0
- data/spec/quickeebooks/windows/services/sync_status_spec.rb +35 -0
- data/spec/spec_helper.rb +1 -2
- data/spec/xml/online/bill_payment.xml +20 -0
- data/spec/xml/online/bill_payment2.xml +20 -0
- data/spec/xml/online/bill_payments.xml +26 -0
- data/spec/xml/online/deleted_invoice.xml +2 -0
- data/spec/xml/online/tracking_class.xml +11 -0
- data/spec/xml/online/tracking_class_updated.xml +11 -0
- data/spec/xml/online/tracking_classes.xml +26 -0
- data/spec/xml/windows/payment_create_success.xml +11 -0
- data/spec/xml/windows/payment_methods.xml +121 -0
- data/spec/xml/windows/sync_status_responses.xml +186 -0
- data/tmp/console.rb +10 -0
- metadata +71 -5
- data/quickeebooks-0.1.7.gem +0 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
describe "Quickeebooks::Online::Model::Id" do
|
2
|
+
|
3
|
+
it "can be converted to String" do
|
4
|
+
id = Quickeebooks::Online::Model::Id.new(42)
|
5
|
+
id.to_s.should == "42"
|
6
|
+
end
|
7
|
+
|
8
|
+
it "can be converted to Integer" do
|
9
|
+
id = Quickeebooks::Online::Model::Id.new(42)
|
10
|
+
id.to_i.should == 42
|
11
|
+
end
|
12
|
+
|
13
|
+
it "can be coerced into a String" do
|
14
|
+
id = Quickeebooks::Online::Model::Id.new(42)
|
15
|
+
"/whatever/#{id}".should == "/whatever/42"
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
describe "Quickeebooks::Online::Service::BillPayment" do
|
2
|
+
before(:all) do
|
3
|
+
construct_oauth_service :bill_payment
|
4
|
+
end
|
5
|
+
|
6
|
+
describe "list" do
|
7
|
+
it "should fetch list of bill payments" do
|
8
|
+
xml = onlineFixture "bill_payments.xml"
|
9
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::BillPayment.resource_for_collection)
|
10
|
+
FakeWeb.register_uri :post, url, :status => ['200', 'OK'], :body => xml
|
11
|
+
bill_payments = @service.list
|
12
|
+
bill_payments.count.should == 1
|
13
|
+
bill_payments.entries.count.should == 1
|
14
|
+
bill_payments.entries[0].id.value.should == '16'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "create" do
|
19
|
+
it "should create a bill payment" do
|
20
|
+
xml = onlineFixture "bill_payment.xml"
|
21
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::BillPayment.resource_for_singular)
|
22
|
+
FakeWeb.register_uri :post, url, :status => ["200", "OK"], :body => xml
|
23
|
+
bill_payment = Quickeebooks::Online::Model::BillPayment.new
|
24
|
+
bill_payment.header = Quickeebooks::Online::Model::BillPaymentHeader.new
|
25
|
+
bill_payment.header.total_amount = 25.00
|
26
|
+
result = @service.create bill_payment
|
27
|
+
result.id.value.to_i.should > 0
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "delete" do
|
32
|
+
it "should delete a bill payment" do
|
33
|
+
url = "#{@service.url_for_resource(Quickeebooks::Online::Model::BillPayment.resource_for_singular)}/56?methodx=delete"
|
34
|
+
FakeWeb.register_uri :post, url, :status => ["200", "OK"]
|
35
|
+
bill_payment = Quickeebooks::Online::Model::BillPayment.new
|
36
|
+
bill_payment.id = Quickeebooks::Online::Model::Id.new("56")
|
37
|
+
bill_payment.sync_token = 0
|
38
|
+
result = @service.delete bill_payment
|
39
|
+
result.should == true
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "fetch_by_id" do
|
44
|
+
it "should retrive bill payment by id" do
|
45
|
+
xml = onlineFixture("bill_payment.xml")
|
46
|
+
url = "#{@service.url_for_resource(Quickeebooks::Online::Model::BillPayment.resource_for_singular)}/56"
|
47
|
+
FakeWeb.register_uri :get, url, :status => ["200", "OK"], :body => xml
|
48
|
+
bill_payment = @service.fetch_by_id(56)
|
49
|
+
bill_payment.header.total_amount.should == 5000
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "update" do
|
54
|
+
it "should update existing bill payment" do
|
55
|
+
xml2 = onlineFixture("bill_payment2.xml")
|
56
|
+
bill_payment = Quickeebooks::Online::Model::BillPayment.new
|
57
|
+
bill_payment.header = Quickeebooks::Online::Model::BillPaymentHeader.new
|
58
|
+
bill_payment.header.total_amount = 75.00
|
59
|
+
bill_payment.id = Quickeebooks::Online::Model::Id.new("56")
|
60
|
+
bill_payment.sync_token = 2
|
61
|
+
|
62
|
+
url = "#{@service.url_for_resource(Quickeebooks::Online::Model::BillPayment.resource_for_singular)}/#{bill_payment.id.value}"
|
63
|
+
|
64
|
+
FakeWeb.register_uri :post, url, :status => ["200", "OK"], :body => xml2
|
65
|
+
updated = @service.update(bill_payment)
|
66
|
+
updated.header.total_amount.should == 75.00
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -39,4 +39,16 @@ describe "Quickeebooks::Online::Service::Invoice" do
|
|
39
39
|
result.id.value.to_i.should > 0
|
40
40
|
end
|
41
41
|
|
42
|
+
it "can delete an invoice" do
|
43
|
+
fixture_xml = onlineFixture("invoice.xml")
|
44
|
+
response_xml = onlineFixture("deleted_invoice.xml")
|
45
|
+
|
46
|
+
invoice_id = "123"
|
47
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::Invoice.resource_for_singular) + "/13?methodx=delete"
|
48
|
+
FakeWeb.register_uri(:post, url, :status => ["200", "OK"], :body => response_xml)
|
49
|
+
invoice = Quickeebooks::Online::Model::Invoice.from_xml(fixture_xml)
|
50
|
+
|
51
|
+
result = @service.delete(invoice)
|
52
|
+
end
|
53
|
+
|
42
54
|
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
describe Quickeebooks::Online::Service::TrackingClass do
|
2
|
+
before(:all) do
|
3
|
+
construct_oauth_service :tracking_class
|
4
|
+
end
|
5
|
+
|
6
|
+
describe ".list" do
|
7
|
+
before(:each) do
|
8
|
+
xml = onlineFixture("tracking_classes.xml")
|
9
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::TrackingClass.resource_for_collection)
|
10
|
+
FakeWeb.register_uri(:post, url, :status => ["200", "OK"], :body => xml)
|
11
|
+
end
|
12
|
+
|
13
|
+
subject { @service.list }
|
14
|
+
|
15
|
+
it { subject.count.should == 2 }
|
16
|
+
it { subject.entries.count.should == 2 }
|
17
|
+
it { subject.entries[0].id.value.should == '1' }
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
describe ".create" do
|
22
|
+
before(:each) do
|
23
|
+
xml = onlineFixture("tracking_class.xml")
|
24
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::TrackingClass.resource_for_singular)
|
25
|
+
FakeWeb.register_uri(:post, url, :status => ["200", "OK"], :body => xml)
|
26
|
+
|
27
|
+
@tracking_class = Quickeebooks::Online::Model::TrackingClass.new
|
28
|
+
|
29
|
+
@tracking_class.name = "2012-11-02"
|
30
|
+
@tracking_class.class_parent_id = Quickeebooks::Online::Model::Id.new("3000000000000040889")
|
31
|
+
end
|
32
|
+
|
33
|
+
subject { @service.create(@tracking_class) }
|
34
|
+
|
35
|
+
it { subject.id.value.should == "3000000000000029839" }
|
36
|
+
end
|
37
|
+
|
38
|
+
describe ".delete" do
|
39
|
+
before(:each) do
|
40
|
+
@tracking_class_id = "3000000000000029839"
|
41
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::TrackingClass.resource_for_singular)
|
42
|
+
url += "/#{@tracking_class_id}?methodx=delete"
|
43
|
+
FakeWeb.register_uri(:post, url, :status => ["200", "OK"])
|
44
|
+
|
45
|
+
@tracking_class = Quickeebooks::Online::Model::TrackingClass.new
|
46
|
+
|
47
|
+
@tracking_class.id = Quickeebooks::Online::Model::Id.new(@tracking_class_id)
|
48
|
+
@tracking_class.name = "2012-11-02"
|
49
|
+
@tracking_class.sync_token = 0
|
50
|
+
end
|
51
|
+
|
52
|
+
subject { @service.delete @tracking_class }
|
53
|
+
|
54
|
+
it { should be_true }
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
describe ".fetch_by_id" do
|
59
|
+
before(:each) do
|
60
|
+
@tracking_class_id = "3000000000000029839"
|
61
|
+
xml = onlineFixture("tracking_class.xml")
|
62
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::TrackingClass.resource_for_singular)
|
63
|
+
url += "/#{@tracking_class_id}"
|
64
|
+
FakeWeb.register_uri(:get, url, :status => ["200", "OK"], :body => xml)
|
65
|
+
end
|
66
|
+
|
67
|
+
subject { @service.fetch_by_id(3000000000000029839) }
|
68
|
+
|
69
|
+
it { should be_kind_of(Quickeebooks::Online::Model::TrackingClass) }
|
70
|
+
it { subject.name.should == "2012-11-02" }
|
71
|
+
it { subject.id.value.should == @tracking_class_id }
|
72
|
+
it { subject.class_parent_id.value.should == "3000000000000040889" }
|
73
|
+
end
|
74
|
+
|
75
|
+
describe ".update" do
|
76
|
+
before(:each) do
|
77
|
+
@tracking_class_id = "3000000000000029839"
|
78
|
+
xml = onlineFixture("tracking_class_updated.xml")
|
79
|
+
url = @service.url_for_resource(Quickeebooks::Online::Model::TrackingClass.resource_for_singular)
|
80
|
+
url += "/#{@tracking_class_id}"
|
81
|
+
FakeWeb.register_uri(:post, url, :status => ["200", "OK"], :body => xml)
|
82
|
+
|
83
|
+
@tracking_class = Quickeebooks::Online::Model::TrackingClass.new
|
84
|
+
@tracking_class.id = Quickeebooks::Online::Model::Id.new(@tracking_class_id)
|
85
|
+
@tracking_class.name = "2013-11-02"
|
86
|
+
@tracking_class.class_parent_id = Quickeebooks::Online::Model::Id.new("3000000000000040889")
|
87
|
+
@tracking_class.sync_token = 1
|
88
|
+
end
|
89
|
+
|
90
|
+
subject { @service.update(@tracking_class) }
|
91
|
+
|
92
|
+
it { should be_kind_of(Quickeebooks::Online::Model::TrackingClass) }
|
93
|
+
it { subject.name.should == @tracking_class.name }
|
94
|
+
it { subject.id.value.should == @tracking_class.id.value }
|
95
|
+
it { subject.class_parent_id.value.should == @tracking_class.class_parent_id.value }
|
96
|
+
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
describe "Quickeebooks::Online::Model::TrackingClass" do
|
2
|
+
it { Quickeebooks::Online::Model::TrackingClass.resource_for_singular.should == "class" }
|
3
|
+
it { Quickeebooks::Online::Model::TrackingClass.resource_for_collection.should == "classes" }
|
4
|
+
|
5
|
+
describe "#from_xml" do
|
6
|
+
describe "parse tracking class from XML" do
|
7
|
+
let(:tracking_class){ Quickeebooks::Online::Model::TrackingClass.from_xml(onlineFixture("tracking_class.xml")) }
|
8
|
+
|
9
|
+
it{ tracking_class.should be_a Quickeebooks::Online::Model::TrackingClass }
|
10
|
+
it{ tracking_class.id.value.should == "3000000000000029839" }
|
11
|
+
it{ tracking_class.sync_token.should == 0 }
|
12
|
+
it{ tracking_class.name.should == "2012-11-02" }
|
13
|
+
it{ tracking_class.class_parent_id == "3000000000000040889" }
|
14
|
+
it{ tracking_class.meta_data.create_time == Time.parse("2012-11-15T12:39:48-08:00") }
|
15
|
+
it{ tracking_class.meta_data.last_updated_time == Time.parse("2013-03-29T09:26:54-07:00") }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".to_xml_ns" do
|
20
|
+
|
21
|
+
let(:tracking_class) {
|
22
|
+
tracking_class = Quickeebooks::Online::Model::TrackingClass.new
|
23
|
+
tracking_class.name = "2013-06-21"
|
24
|
+
tracking_class.class_parent_id = Quickeebooks::Online::Model::Id.new('3000000000000040634')
|
25
|
+
tracking_class
|
26
|
+
}
|
27
|
+
|
28
|
+
subject { tracking_class.to_xml_ns }
|
29
|
+
|
30
|
+
it { should match("<Class xmlns:ns2=\"http://www.intuit.com/sb/cdm/qbo\" xmlns=\"http://www.intuit.com/sb/cdm/v2\" xmlns:ns3=\"http://www.intuit.com/sb/cdm\">\n<Name>2013-06-21</Name>\n<ClassParentId>3000000000000040634</ClassParentId>\n</Class>") }
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
describe "Quickeebooks::Windows::Model::Id" do
|
2
|
+
|
3
|
+
it "can be converted to String" do
|
4
|
+
id = Quickeebooks::Windows::Model::Id.new(42)
|
5
|
+
id.to_s.should == "42"
|
6
|
+
end
|
7
|
+
|
8
|
+
it "can be converted to Integer" do
|
9
|
+
id = Quickeebooks::Windows::Model::Id.new(42)
|
10
|
+
id.to_i.should == 42
|
11
|
+
end
|
12
|
+
|
13
|
+
it "can be coerced into a String" do
|
14
|
+
id = Quickeebooks::Windows::Model::Id.new(42)
|
15
|
+
"/whatever/#{id}".should == "/whatever/42"
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
describe "Quickeebooks::Windows::Service::PaymentMethod" do
|
2
|
+
before(:all) do
|
3
|
+
FakeWeb.allow_net_connect = false
|
4
|
+
qb_key = "key"
|
5
|
+
qb_secret = "secreet"
|
6
|
+
|
7
|
+
@realm_id = "9991111222"
|
8
|
+
@base_uri = "https://qbo.intuit.com/qbo36"
|
9
|
+
@oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
|
10
|
+
:site => "https://oauth.intuit.com",
|
11
|
+
:request_token_path => "/oauth/v1/get_request_token",
|
12
|
+
:authorize_path => "/oauth/v1/get_access_token",
|
13
|
+
:access_token_path => "/oauth/v1/get_access_token"
|
14
|
+
})
|
15
|
+
@oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
|
16
|
+
end
|
17
|
+
|
18
|
+
it "can fetch a list of payment methods" do
|
19
|
+
xml = windowsFixture("payment_methods.xml")
|
20
|
+
service = Quickeebooks::Windows::Service::PaymentMethod.new
|
21
|
+
service.access_token = @oauth
|
22
|
+
service.realm_id = @realm_id
|
23
|
+
|
24
|
+
model = Quickeebooks::Windows::Model::PaymentMethod
|
25
|
+
FakeWeb.register_uri(:post,
|
26
|
+
service.url_for_resource(model::REST_RESOURCE),
|
27
|
+
:status => ["200", "OK"],
|
28
|
+
:body => xml)
|
29
|
+
methods = service.list
|
30
|
+
methods.entries.count.should == 9
|
31
|
+
|
32
|
+
method1 = methods.entries.first
|
33
|
+
method1.id.value.should == "9"
|
34
|
+
method1.name.should == "E-Check"
|
35
|
+
end
|
36
|
+
end
|
@@ -39,4 +39,34 @@ describe "Quickeebooks::Windows::Service::Payment" do
|
|
39
39
|
line1.should_not be_nil
|
40
40
|
line1.amount.should == header.total_amount
|
41
41
|
end
|
42
|
+
|
43
|
+
it "can create a payment" do
|
44
|
+
xml = windowsFixture("payment_create_success.xml")
|
45
|
+
service = Quickeebooks::Windows::Service::Payment.new
|
46
|
+
model = Quickeebooks::Windows::Model::Payment
|
47
|
+
customer = Quickeebooks::Windows::Model::Payment.new
|
48
|
+
|
49
|
+
service.access_token = @oauth
|
50
|
+
service.realm_id = @realm_id
|
51
|
+
FakeWeb.register_uri(:post, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
|
52
|
+
|
53
|
+
payment = Quickeebooks::Windows::Model::Payment.new
|
54
|
+
payment.header = Quickeebooks::Windows::Model::PaymentHeader.new
|
55
|
+
payment.header.customer_id = Quickeebooks::Windows::Model::Id.new("4")
|
56
|
+
payment.header.payment_method_id = Quickeebooks::Windows::Model::Id.new("8") # Gift Card
|
57
|
+
|
58
|
+
payment.header.doc_number = "99999"
|
59
|
+
payment.header.txn_date = Date.civil(2013, 5, 3)
|
60
|
+
payment.header.total_amount = 88
|
61
|
+
|
62
|
+
line_item = Quickeebooks::Windows::Model::PaymentLineItem.new
|
63
|
+
line_item.desc = "Dog Grooming"
|
64
|
+
line_item.amount = 88
|
65
|
+
payment.line_items << line_item
|
66
|
+
|
67
|
+
create_response = service.create(payment)
|
68
|
+
create_response.success?.should == true
|
69
|
+
create_response.success.object_ref.id.value.should == "984434"
|
70
|
+
create_response.success.request_name.should == "PaymentAdd"
|
71
|
+
end
|
42
72
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
describe "Quickeebooks::Windows::Service::SyncStatus" do
|
2
|
+
before(:all) do
|
3
|
+
FakeWeb.allow_net_connect = false
|
4
|
+
qb_key = "key"
|
5
|
+
qb_secret = "secreet"
|
6
|
+
|
7
|
+
@realm_id = "9991111222"
|
8
|
+
@base_uri = "https://qbo.intuit.com/qbo36"
|
9
|
+
@oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
|
10
|
+
:site => "https://oauth.intuit.com",
|
11
|
+
:request_token_path => "/oauth/v1/get_request_token",
|
12
|
+
:authorize_path => "/oauth/v1/get_access_token",
|
13
|
+
:access_token_path => "/oauth/v1/get_access_token"
|
14
|
+
})
|
15
|
+
@oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
|
16
|
+
end
|
17
|
+
|
18
|
+
it "can fetch a list of sync statuses" do
|
19
|
+
xml = windowsFixture("sync_status_responses.xml")
|
20
|
+
model = Quickeebooks::Windows::Model::SyncStatusRequest
|
21
|
+
service = Quickeebooks::Windows::Service::SyncStatus.new
|
22
|
+
service.access_token = @oauth
|
23
|
+
service.realm_id = @realm_id
|
24
|
+
FakeWeb.register_uri(:post, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
|
25
|
+
|
26
|
+
request = Quickeebooks::Windows::Model::SyncStatusRequest.new
|
27
|
+
sync_status_responses = service.retrieve(request)
|
28
|
+
|
29
|
+
sync_status_responses.entries.count.should == 15
|
30
|
+
single_response = sync_status_responses.entries.first
|
31
|
+
single_response.ng_id_set.to_i.should == 145058
|
32
|
+
single_response.state_desc.should == "Next Gen record created"
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2
|
+
<BillPayment 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>13</Id>
|
4
|
+
<SyncToken>0</SyncToken>
|
5
|
+
<MetaData>
|
6
|
+
<CreateTime>2010-09-08T22:46:06-07:00</CreateTime>
|
7
|
+
<LastUpdatedTime>2010-09-08T22:46:06-07:00</LastUpdatedTime>
|
8
|
+
</MetaData>
|
9
|
+
<Header>
|
10
|
+
<DocNumber>15</DocNumber>
|
11
|
+
<TxnDate>2010-09-08-07:00</TxnDate>
|
12
|
+
<EntityId>1</EntityId>
|
13
|
+
<APAccountId>31</APAccountId>
|
14
|
+
<TotalAmt>5000.00</TotalAmt>
|
15
|
+
</Header>
|
16
|
+
<Line>
|
17
|
+
<Amount>5000.00</Amount>
|
18
|
+
<TxnId>12</TxnId>
|
19
|
+
</Line>
|
20
|
+
</BillPayment>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2
|
+
<BillPayment 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>13</Id>
|
4
|
+
<SyncToken>0</SyncToken>
|
5
|
+
<MetaData>
|
6
|
+
<CreateTime>2010-09-08T22:46:06-07:00</CreateTime>
|
7
|
+
<LastUpdatedTime>2010-09-08T22:46:06-07:00</LastUpdatedTime>
|
8
|
+
</MetaData>
|
9
|
+
<Header>
|
10
|
+
<DocNumber>15</DocNumber>
|
11
|
+
<TxnDate>2010-09-08-07:00</TxnDate>
|
12
|
+
<EntityId>1</EntityId>
|
13
|
+
<APAccountId>31</APAccountId>
|
14
|
+
<TotalAmt>75.00</TotalAmt>
|
15
|
+
</Header>
|
16
|
+
<Line>
|
17
|
+
<Amount>75.00</Amount>
|
18
|
+
<TxnId>12</TxnId>
|
19
|
+
</Line>
|
20
|
+
</BillPayment>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2
|
+
<qbo:SearchResults 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:CdmCollections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:BillPayments">
|
4
|
+
<BillPayment>
|
5
|
+
<Id>16</Id>
|
6
|
+
<SyncToken>1</SyncToken>
|
7
|
+
<MetaData>
|
8
|
+
<CreateTime>2010-09-08T22:46:06-07:00</CreateTime>
|
9
|
+
<LastUpdatedTime>010-09-08T22:46:06-07:00</LastUpdatedTime>
|
10
|
+
</MetaData>
|
11
|
+
<Header>
|
12
|
+
<DocNumber>15</DocNumber>
|
13
|
+
<TxnDate>2010-09-08-07:00</TxnDate>
|
14
|
+
<EntityId>1</EntityId>
|
15
|
+
<APAccountId>31</APAccountId>
|
16
|
+
<TotalAmt>7000.00</TotalAmt>
|
17
|
+
</Header>
|
18
|
+
<Line>
|
19
|
+
<Amount>7000.00</Amount>
|
20
|
+
<TxnId>12</TxnId>
|
21
|
+
</Line>
|
22
|
+
</BillPayment>
|
23
|
+
</qbo:CdmCollections>
|
24
|
+
<qbo:Count>1</qbo:Count>
|
25
|
+
<qbo:CurrentPage>1</qbo:CurrentPage>
|
26
|
+
</qbo:SearchResults>
|