netsuite 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/netsuite.rb +2 -0
- data/lib/netsuite/actions/get.rb +8 -3
- data/lib/netsuite/records/bill_address.rb +15 -0
- data/lib/netsuite/records/customer.rb +1 -1
- data/lib/netsuite/records/invoice.rb +19 -2
- data/lib/netsuite/records/ship_address.rb +15 -0
- data/lib/netsuite/version.rb +1 -1
- data/spec/netsuite/actions/get_spec.rb +42 -16
- data/spec/netsuite/records/bill_address_spec.rb +15 -0
- data/spec/netsuite/records/customer_spec.rb +3 -3
- data/spec/netsuite/records/invoice_spec.rb +72 -19
- data/spec/netsuite/records/ship_address_spec.rb +15 -0
- data/spec/support/fixtures/get/get_invoice.xml +101 -0
- metadata +12 -4
data/lib/netsuite.rb
CHANGED
@@ -16,10 +16,12 @@ require 'netsuite/actions/get'
|
|
16
16
|
require 'netsuite/actions/initialize'
|
17
17
|
|
18
18
|
# RECORDS
|
19
|
+
require 'netsuite/records/bill_address'
|
19
20
|
require 'netsuite/records/customer'
|
20
21
|
require 'netsuite/records/customer_addressbook_list'
|
21
22
|
require 'netsuite/records/invoice'
|
22
23
|
require 'netsuite/records/record_ref'
|
24
|
+
require 'netsuite/records/ship_address'
|
23
25
|
|
24
26
|
module NetSuite
|
25
27
|
|
data/lib/netsuite/actions/get.rb
CHANGED
@@ -3,8 +3,9 @@ module NetSuite
|
|
3
3
|
class Get
|
4
4
|
include SavonSupport
|
5
5
|
|
6
|
-
def initialize(id)
|
7
|
-
@id
|
6
|
+
def initialize(id, klass)
|
7
|
+
@id = id
|
8
|
+
@klass = klass
|
8
9
|
end
|
9
10
|
|
10
11
|
private
|
@@ -18,6 +19,10 @@ module NetSuite
|
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
22
|
+
def soap_type
|
23
|
+
@klass.to_s.split('::').last.lower_camelcase
|
24
|
+
end
|
25
|
+
|
21
26
|
# <soap:Body>
|
22
27
|
# <platformMsgs:get>
|
23
28
|
# <platformMsgs:baseRef internalId="983" type="customer" xsi:type="platformCore:RecordRef">
|
@@ -31,7 +36,7 @@ module NetSuite
|
|
31
36
|
:attributes! => {
|
32
37
|
'platformMsgs:baseRef' => {
|
33
38
|
:internalId => @id,
|
34
|
-
:type =>
|
39
|
+
:type => soap_type,
|
35
40
|
'xsi:type' => 'platformCore:RecordRef'
|
36
41
|
}
|
37
42
|
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class BillAddress
|
4
|
+
include FieldSupport
|
5
|
+
|
6
|
+
fields :bill_attention, :bill_addressee, :bill_phone, :bill_addr1, :bill_addr2,
|
7
|
+
:bill_addr3, :bill_city, :bill_state, :bill_zip, :bill_country
|
8
|
+
|
9
|
+
def initialize(attrs = {})
|
10
|
+
initialize_from_attributes_hash(attrs)
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -31,11 +31,28 @@ module NetSuite
|
|
31
31
|
record_refs :account, :bill_address_list, :custom_form, :entity, :posting_period, :ship_address_list
|
32
32
|
|
33
33
|
def initialize(attributes = {})
|
34
|
-
@internal_id = attributes.delete(:internal_id)
|
35
|
-
@external_id = attributes.delete(:external_id)
|
34
|
+
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
35
|
+
@external_id = attributes.delete(:external_id) || attributes.delete(:@external_id)
|
36
36
|
initialize_from_attributes_hash(attributes)
|
37
37
|
end
|
38
38
|
|
39
|
+
def transaction_bill_address=(attrs)
|
40
|
+
attributes[:transaction_bill_address] = BillAddress.new(attrs)
|
41
|
+
end
|
42
|
+
|
43
|
+
def transaction_ship_address=(attrs)
|
44
|
+
attributes[:transaction_ship_address] = ShipAddress.new(attrs)
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.get(id)
|
48
|
+
response = Actions::Get.call(id, self)
|
49
|
+
if response.success?
|
50
|
+
new(response.body)
|
51
|
+
else
|
52
|
+
raise RecordNotFound, "#{self} with ID=#{id} could not be found"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
39
56
|
def self.initialize(customer)
|
40
57
|
response = Actions::Initialize.call(customer)
|
41
58
|
if response.success?
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class ShipAddress
|
4
|
+
include FieldSupport
|
5
|
+
|
6
|
+
fields :ship_attention, :ship_addressee, :ship_phone, :ship_addr1, :ship_addr2,
|
7
|
+
:ship_addr3, :ship_city, :ship_state, :ship_zip, :ship_country, :ship_is_residential
|
8
|
+
|
9
|
+
def initialize(attrs = {})
|
10
|
+
initialize_from_attributes_hash(attrs)
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/netsuite/version.rb
CHANGED
@@ -2,26 +2,52 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe NetSuite::Actions::Get do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
:
|
11
|
-
|
12
|
-
|
5
|
+
describe 'Customer' do
|
6
|
+
before do
|
7
|
+
savon.expects(:get).with({
|
8
|
+
'platformMsgs:baseRef' => {},
|
9
|
+
:attributes! => {
|
10
|
+
'platformMsgs:baseRef' => {
|
11
|
+
:internalId => 1,
|
12
|
+
:type => 'customer',
|
13
|
+
'xsi:type' => 'platformCore:RecordRef'
|
14
|
+
}
|
13
15
|
}
|
14
|
-
}
|
15
|
-
|
16
|
-
|
16
|
+
}).returns(:get_customer)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'makes a valid request to the NetSuite API' do
|
20
|
+
NetSuite::Actions::Get.call(1, NetSuite::Records::Customer)
|
21
|
+
end
|
17
22
|
|
18
|
-
|
19
|
-
|
23
|
+
it 'returns a valid Response object' do
|
24
|
+
response = NetSuite::Actions::Get.call(1, NetSuite::Records::Customer)
|
25
|
+
response.should be_kind_of(NetSuite::Response)
|
26
|
+
end
|
20
27
|
end
|
21
28
|
|
22
|
-
|
23
|
-
|
24
|
-
|
29
|
+
describe 'Invoice' do
|
30
|
+
before do
|
31
|
+
savon.expects(:get).with({
|
32
|
+
'platformMsgs:baseRef' => {},
|
33
|
+
:attributes! => {
|
34
|
+
'platformMsgs:baseRef' => {
|
35
|
+
:internalId => 10,
|
36
|
+
:type => 'invoice',
|
37
|
+
'xsi:type' => 'platformCore:RecordRef'
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}).returns(:get_invoice)
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'makes a valid request to the NetSuite API' do
|
44
|
+
NetSuite::Actions::Get.call(1, NetSuite::Records::Invoice)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'returns a valid Response object' do
|
48
|
+
response = NetSuite::Actions::Get.call(1, NetSuite::Records::Invoice)
|
49
|
+
response.should be_kind_of(NetSuite::Response)
|
50
|
+
end
|
25
51
|
end
|
26
52
|
|
27
53
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::BillAddress do
|
4
|
+
let(:bill_address) { NetSuite::Records::BillAddress.new }
|
5
|
+
|
6
|
+
it 'has all the right fields' do
|
7
|
+
[
|
8
|
+
:bill_attention, :bill_addressee, :bill_phone, :bill_addr1, :bill_addr2,
|
9
|
+
:bill_addr3, :bill_city, :bill_state, :bill_zip, :bill_country
|
10
|
+
].each do |field|
|
11
|
+
bill_address.should have_field(field)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -75,7 +75,7 @@ describe NetSuite::Records::Customer do
|
|
75
75
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :is_person => true }) }
|
76
76
|
|
77
77
|
it 'returns a Customer instance populated with the data from the response object' do
|
78
|
-
NetSuite::Actions::Get.should_receive(:call).with(1).and_return(response)
|
78
|
+
NetSuite::Actions::Get.should_receive(:call).with(1, NetSuite::Records::Customer).and_return(response)
|
79
79
|
customer = NetSuite::Records::Customer.get(1)
|
80
80
|
customer.should be_kind_of(NetSuite::Records::Customer)
|
81
81
|
customer.is_person.should be_true
|
@@ -85,8 +85,8 @@ describe NetSuite::Records::Customer do
|
|
85
85
|
context 'when the response is unsuccessful' do
|
86
86
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
87
87
|
|
88
|
-
it '
|
89
|
-
NetSuite::Actions::Get.should_receive(:call).with(1).and_return(response)
|
88
|
+
it 'raises a RecordNotFound exception' do
|
89
|
+
NetSuite::Actions::Get.should_receive(:call).with(1, NetSuite::Records::Customer).and_return(response)
|
90
90
|
lambda {
|
91
91
|
NetSuite::Records::Customer.get(1)
|
92
92
|
}.should raise_error(NetSuite::RecordNotFound, 'NetSuite::Records::Customer with ID=1 could not be found')
|
@@ -7,25 +7,26 @@ describe NetSuite::Records::Invoice do
|
|
7
7
|
|
8
8
|
it 'has all the right fields' do
|
9
9
|
[
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:
|
10
|
+
:alt_handling_cost, :alt_shipping_cost, :amount_paid, :amount_remaining, :balance, :bill_address,
|
11
|
+
:billing_schedule, :contrib_pct, :created_date, :created_from, :currency_name, :custom_field_list,
|
12
|
+
:deferred_revenue, :department, :discount_amount, :discount_date, :discount_item, :discount_rate,
|
13
|
+
:discount_total, :due_date, :email, :end_date, :est_gross_profit, :est_gross_profit_percent, :exchange_rate,
|
14
|
+
:exclude_commission, :exp_cost_disc_amount, :exp_cost_disc_print, :exp_cost_disc_rate, :exp_cost_disc_tax_1_amt,
|
15
|
+
:exp_cost_disc_taxable, :exp_cost_discount, :exp_cost_list, :exp_cost_tax_code, :exp_cost_tax_rate_1,
|
16
|
+
:exp_cost_tax_rate_2, :fax, :fob, :gift_cert_applied, :gift_cert_redemption_list, :handling_cost, :handling_tax_1_rate,
|
17
|
+
:handling_tax_2_rate, :handling_tax_code, :is_taxable, :item_cost_disc_amount, :item_cost_disc_print,
|
18
|
+
:item_cost_disc_rate, :item_cost_disc_tax_1_amt, :item_cost_disc_taxable, :item_cost_discount, :item_cost_list,
|
19
|
+
:item_cost_tax_code, :item_cost_tax_rate_1, :item_cost_tax_rate_2, :item_list, :job, :klass, :last_modified_date,
|
20
|
+
:lead_source, :linked_tracking_numbers, :location, :memo, :message, :message_sel, :on_credit_hold, :opportunity,
|
21
|
+
:other_ref_name, :partner, :partners_list, :promo_code, :recognized_revenue, :rev_rec_end_date,
|
22
|
+
:rev_rec_on_rev_commitment, :rev_rec_schedule, :rev_rec_start_date, :revenue_status, :sales_effective_date,
|
23
|
+
:sales_group, :sales_rep, :sales_team_list, :ship_address, :ship_date, :ship_group_list,
|
24
|
+
:ship_method, :shipping_cost, :shipping_tax_1_rate, :shipping_tax_2_rate, :shipping_tax_code, :source, :start_date,
|
25
|
+
:status, :sub_total, :subsidiary, :sync_partner_teams, :sync_sales_teams, :tax_2_total, :tax_item, :tax_rate,
|
26
|
+
:tax_total, :terms, :time_disc_amount, :time_disc_print, :time_disc_rate, :time_disc_tax_1_amt, :time_disc_taxable,
|
27
|
+
:time_discount, :time_list, :time_tax_code, :time_tax_rate_1, :time_tax_rate_2, :to_be_emailed, :to_be_faxed,
|
28
|
+
:to_be_printed, :total, :total_cost_estimate, :tracking_numbers, :tran_date, :tran_id, :tran_is_vsoe_bundle,
|
29
|
+
:vat_reg_num, :vsoe_auto_calc
|
29
30
|
].each do |field|
|
30
31
|
invoice.should have_field(field)
|
31
32
|
end
|
@@ -34,6 +35,29 @@ describe NetSuite::Records::Invoice do
|
|
34
35
|
it 'handles the "klass" field correctly'
|
35
36
|
# This field maps to 'class' but cannot be set as such in Ruby as it will cause runtime errors.
|
36
37
|
|
38
|
+
describe '.get' do
|
39
|
+
context 'when the response is successful' do
|
40
|
+
let(:response) { NetSuite::Response.new(:success => true, :body => { :is_person => true }) }
|
41
|
+
|
42
|
+
it 'returns an Invoice instance populated with the data from the response object' do
|
43
|
+
NetSuite::Actions::Get.should_receive(:call).with(10, NetSuite::Records::Invoice).and_return(response)
|
44
|
+
invoice = NetSuite::Records::Invoice.get(10)
|
45
|
+
invoice.should be_kind_of(NetSuite::Records::Invoice)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'when the response is unsuccessful' do
|
50
|
+
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
51
|
+
|
52
|
+
it 'raises a RecordNotFound exception' do
|
53
|
+
NetSuite::Actions::Get.should_receive(:call).with(10, NetSuite::Records::Invoice).and_return(response)
|
54
|
+
lambda {
|
55
|
+
NetSuite::Records::Invoice.get(10)
|
56
|
+
}.should raise_error(NetSuite::RecordNotFound, 'NetSuite::Records::Invoice with ID=10 could not be found')
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
37
61
|
describe '.initialize' do
|
38
62
|
context 'when the request is successful' do
|
39
63
|
it 'returns an initialized invoice from the customer entity' do
|
@@ -48,6 +72,10 @@ describe NetSuite::Records::Invoice do
|
|
48
72
|
end
|
49
73
|
end
|
50
74
|
|
75
|
+
describe '#add' do
|
76
|
+
pending
|
77
|
+
end
|
78
|
+
|
51
79
|
describe 'RecordRefs' do
|
52
80
|
describe 'account' do
|
53
81
|
it 'creates a RecordRef for this attribute' do
|
@@ -116,6 +144,31 @@ describe NetSuite::Records::Invoice do
|
|
116
144
|
end
|
117
145
|
end
|
118
146
|
|
147
|
+
it 'has a transaction_bill_address field that builds a BillAddress object' do
|
148
|
+
invoice.transaction_bill_address = {
|
149
|
+
:"@xmlns:platform_common" => 'urn:common_2011_2.platform.webservices.netsuite.com',
|
150
|
+
:bill_addr1 => '123 Happy Lane',
|
151
|
+
:bill_city => 'Los Angeles',
|
152
|
+
:bill_country => '_unitedStates',
|
153
|
+
:bill_state => 'CA',
|
154
|
+
:bill_zip => '90007'
|
155
|
+
}
|
156
|
+
invoice.transaction_bill_address.should be_kind_of(NetSuite::Records::BillAddress)
|
157
|
+
end
|
158
|
+
|
159
|
+
it 'has a transaction_ship_address field that builds a ShipAddress object' do
|
160
|
+
invoice.transaction_ship_address = {
|
161
|
+
:"@xmlns:platform_common" => 'urn:common_2011_2.platform.webservices.netsuite.com',
|
162
|
+
:ship_addr1 => '123 Happy Lane',
|
163
|
+
:ship_city => 'Los Angeles',
|
164
|
+
:ship_country => '_unitedStates',
|
165
|
+
:ship_is_residential => false,
|
166
|
+
:ship_state => 'CA',
|
167
|
+
:ship_zip => '90007'
|
168
|
+
}
|
169
|
+
invoice.transaction_ship_address.should be_kind_of(NetSuite::Records::ShipAddress)
|
170
|
+
end
|
171
|
+
|
119
172
|
describe '#add' do
|
120
173
|
let(:test_data) { { :email => 'test@example.com', :fax => '1234567890' } }
|
121
174
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::ShipAddress do
|
4
|
+
let(:ship_address) { NetSuite::Records::ShipAddress.new }
|
5
|
+
|
6
|
+
it 'has all the right fields' do
|
7
|
+
[
|
8
|
+
:ship_attention, :ship_addressee, :ship_phone, :ship_addr1, :ship_addr2, :ship_addr3,
|
9
|
+
:ship_city, :ship_state, :ship_zip, :ship_country, :ship_is_residential
|
10
|
+
].each do |field|
|
11
|
+
ship_address.should have_field(field)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
3
|
+
<soapenv:Header>
|
4
|
+
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2011_2.platform.webservices.netsuite.com">
|
5
|
+
<platformMsgs:nsId>WEBSERVICES_3392464_0106201212487807681436565242_d5396bca4f5</platformMsgs:nsId>
|
6
|
+
</platformMsgs:documentInfo>
|
7
|
+
</soapenv:Header>
|
8
|
+
<soapenv:Body>
|
9
|
+
<getResponse xmlns="urn:messages_2011_2.platform.webservices.netsuite.com">
|
10
|
+
<readResponse>
|
11
|
+
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com"/>
|
12
|
+
<record internalId="439" externalId="2187" xsi:type="tranSales:Invoice" xmlns:tranSales="urn:sales_2011_2.transactions.webservices.netsuite.com">
|
13
|
+
<tranSales:createdDate>2011-12-15T16:54:12.000-08:00</tranSales:createdDate>
|
14
|
+
<tranSales:lastModifiedDate>2011-12-16T13:37:57.000-08:00</tranSales:lastModifiedDate>
|
15
|
+
<tranSales:customForm internalId="101" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
16
|
+
<platformCore:name>RP Test Product Invoice</platformCore:name>
|
17
|
+
</tranSales:customForm>
|
18
|
+
<tranSales:entity internalId="854" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
19
|
+
<platformCore:name>100023 Office</platformCore:name>
|
20
|
+
</tranSales:entity>
|
21
|
+
<tranSales:tranDate>2011-01-01T00:00:00.000-08:00</tranSales:tranDate>
|
22
|
+
<tranSales:tranId>2187</tranSales:tranId>
|
23
|
+
<tranSales:source>CSV</tranSales:source>
|
24
|
+
<tranSales:postingPeriod internalId="17" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
25
|
+
<platformCore:name>Dec 2011</platformCore:name>
|
26
|
+
</tranSales:postingPeriod>
|
27
|
+
<tranSales:class internalId="1" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
28
|
+
<platformCore:name>Retail</platformCore:name>
|
29
|
+
</tranSales:class>
|
30
|
+
<tranSales:dueDate>2011-01-01T00:00:00.000-08:00</tranSales:dueDate>
|
31
|
+
<tranSales:salesEffectiveDate>2011-01-01T00:00:00.000-08:00</tranSales:salesEffectiveDate>
|
32
|
+
<tranSales:excludeCommission>false</tranSales:excludeCommission>
|
33
|
+
<tranSales:amountPaid>0.0</tranSales:amountPaid>
|
34
|
+
<tranSales:amountRemaining>15993.6</tranSales:amountRemaining>
|
35
|
+
<tranSales:account internalId="123" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
36
|
+
<platformCore:name>1100 Accounts Receivable</platformCore:name>
|
37
|
+
</tranSales:account>
|
38
|
+
<tranSales:toBePrinted>false</tranSales:toBePrinted>
|
39
|
+
<tranSales:toBeEmailed>false</tranSales:toBeEmailed>
|
40
|
+
<tranSales:toBeFaxed>false</tranSales:toBeFaxed>
|
41
|
+
<tranSales:transactionBillAddress xmlns:platformCommon="urn:common_2011_2.platform.webservices.netsuite.com">
|
42
|
+
<platformCommon:billAddr1>123 Happy Lane</platformCommon:billAddr1>
|
43
|
+
<platformCommon:billAddr2>Attn: Accounts Payable</platformCommon:billAddr2>
|
44
|
+
<platformCommon:billCity>Los Angeles</platformCommon:billCity>
|
45
|
+
<platformCommon:billState>CA</platformCommon:billState>
|
46
|
+
<platformCommon:billZip>90007</platformCommon:billZip>
|
47
|
+
<platformCommon:billCountry>_unitedStates</platformCommon:billCountry>
|
48
|
+
</tranSales:transactionBillAddress>
|
49
|
+
<tranSales:billAddressList internalId="433" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
50
|
+
<platformCore:name>123 Happy Lane</platformCore:name>
|
51
|
+
</tranSales:billAddressList>
|
52
|
+
<tranSales:billAddress>123 Happy Lane Attn: Accounts Payable Los Angeles CA 90007</tranSales:billAddress>
|
53
|
+
<tranSales:transactionShipAddress xmlns:platformCommon="urn:common_2011_2.platform.webservices.netsuite.com">
|
54
|
+
<platformCommon:shipAddr1>123 Happy Lane</platformCommon:shipAddr1>
|
55
|
+
<platformCommon:shipAddr2>Attn: Accounts Payable</platformCommon:shipAddr2>
|
56
|
+
<platformCommon:shipCity>Los Angeles</platformCommon:shipCity>
|
57
|
+
<platformCommon:shipState>CA</platformCommon:shipState>
|
58
|
+
<platformCommon:shipZip>90007</platformCommon:shipZip>
|
59
|
+
<platformCommon:shipCountry>_unitedStates</platformCommon:shipCountry>
|
60
|
+
<platformCommon:shipIsResidential>false</platformCommon:shipIsResidential>
|
61
|
+
</tranSales:transactionShipAddress>
|
62
|
+
<tranSales:shipAddressList internalId="433" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
63
|
+
<platformCore:name>123 Happy Lane</platformCore:name>
|
64
|
+
</tranSales:shipAddressList>
|
65
|
+
<tranSales:shipAddress>123 Happy Lane Attn: Accounts Payable Los Angeles CA 90007</tranSales:shipAddress>
|
66
|
+
<tranSales:shipDate>2011-12-15T00:00:00.000-08:00</tranSales:shipDate>
|
67
|
+
<tranSales:subTotal>15993.6</tranSales:subTotal>
|
68
|
+
<tranSales:revenueStatus>_completed</tranSales:revenueStatus>
|
69
|
+
<tranSales:syncSalesTeams>false</tranSales:syncSalesTeams>
|
70
|
+
<tranSales:discountTotal>0.0</tranSales:discountTotal>
|
71
|
+
<tranSales:taxTotal>0.0</tranSales:taxTotal>
|
72
|
+
<tranSales:total>15993.6</tranSales:total>
|
73
|
+
<tranSales:status>Open</tranSales:status>
|
74
|
+
<tranSales:itemCostDiscPrint>false</tranSales:itemCostDiscPrint>
|
75
|
+
<tranSales:expCostDiscPrint>false</tranSales:expCostDiscPrint>
|
76
|
+
<tranSales:itemList>
|
77
|
+
<tranSales:item>
|
78
|
+
<tranSales:item internalId="217" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
79
|
+
<platformCore:name>Dummy Item For Import</platformCore:name>
|
80
|
+
</tranSales:item>
|
81
|
+
<tranSales:line>1</tranSales:line>
|
82
|
+
<tranSales:amount>15993.6</tranSales:amount>
|
83
|
+
<tranSales:quantity>1.0</tranSales:quantity>
|
84
|
+
<tranSales:price internalId="-1" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
85
|
+
<platformCore:name>&nbsp;</platformCore:name>
|
86
|
+
</tranSales:price>
|
87
|
+
<tranSales:taxCode internalId="-8" xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
88
|
+
<platformCore:name>-Not Taxable-</platformCore:name>
|
89
|
+
</tranSales:taxCode>
|
90
|
+
</tranSales:item>
|
91
|
+
</tranSales:itemList>
|
92
|
+
<tranSales:customFieldList xmlns:platformCore="urn:core_2011_2.platform.webservices.netsuite.com">
|
93
|
+
<platformCore:customField internalId="custbody_3rd_party" xsi:type="platformCore:BooleanCustomFieldRef">
|
94
|
+
<platformCore:value>false</platformCore:value>
|
95
|
+
</platformCore:customField>
|
96
|
+
</tranSales:customFieldList>
|
97
|
+
</record>
|
98
|
+
</readResponse>
|
99
|
+
</getResponse>
|
100
|
+
</soapenv:Body>
|
101
|
+
</soapenv:Envelope>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netsuite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 8
|
10
|
+
version: 0.0.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Moran
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-07 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: savon
|
@@ -109,10 +109,12 @@ files:
|
|
109
109
|
- lib/netsuite/field_support.rb
|
110
110
|
- lib/netsuite/record_ref_support.rb
|
111
111
|
- lib/netsuite/record_support.rb
|
112
|
+
- lib/netsuite/records/bill_address.rb
|
112
113
|
- lib/netsuite/records/customer.rb
|
113
114
|
- lib/netsuite/records/customer_addressbook_list.rb
|
114
115
|
- lib/netsuite/records/invoice.rb
|
115
116
|
- lib/netsuite/records/record_ref.rb
|
117
|
+
- lib/netsuite/records/ship_address.rb
|
116
118
|
- lib/netsuite/response.rb
|
117
119
|
- lib/netsuite/savon_support.rb
|
118
120
|
- lib/netsuite/version.rb
|
@@ -125,10 +127,12 @@ files:
|
|
125
127
|
- spec/netsuite/field_support_spec.rb
|
126
128
|
- spec/netsuite/record_ref_support_spec.rb
|
127
129
|
- spec/netsuite/record_support_spec.rb
|
130
|
+
- spec/netsuite/records/bill_address_spec.rb
|
128
131
|
- spec/netsuite/records/customer_addressbook_list_spec.rb
|
129
132
|
- spec/netsuite/records/customer_spec.rb
|
130
133
|
- spec/netsuite/records/invoice_spec.rb
|
131
134
|
- spec/netsuite/records/record_ref_spec.rb
|
135
|
+
- spec/netsuite/records/ship_address_spec.rb
|
132
136
|
- spec/netsuite/response_spec.rb
|
133
137
|
- spec/netsuite/savon_support_spec.rb
|
134
138
|
- spec/netsuite_spec.rb
|
@@ -138,6 +142,7 @@ files:
|
|
138
142
|
- spec/support/fixtures/add/add_customer.xml
|
139
143
|
- spec/support/fixtures/add/add_invoice.xml
|
140
144
|
- spec/support/fixtures/get/get_customer.xml
|
145
|
+
- spec/support/fixtures/get/get_invoice.xml
|
141
146
|
- spec/support/fixtures/initialize/initialize_invoice_from_customer.xml
|
142
147
|
- spec/support/savon.rb
|
143
148
|
- wsdl/2011_02.wsdl
|
@@ -183,10 +188,12 @@ test_files:
|
|
183
188
|
- spec/netsuite/field_support_spec.rb
|
184
189
|
- spec/netsuite/record_ref_support_spec.rb
|
185
190
|
- spec/netsuite/record_support_spec.rb
|
191
|
+
- spec/netsuite/records/bill_address_spec.rb
|
186
192
|
- spec/netsuite/records/customer_addressbook_list_spec.rb
|
187
193
|
- spec/netsuite/records/customer_spec.rb
|
188
194
|
- spec/netsuite/records/invoice_spec.rb
|
189
195
|
- spec/netsuite/records/record_ref_spec.rb
|
196
|
+
- spec/netsuite/records/ship_address_spec.rb
|
190
197
|
- spec/netsuite/response_spec.rb
|
191
198
|
- spec/netsuite/savon_support_spec.rb
|
192
199
|
- spec/netsuite_spec.rb
|
@@ -196,5 +203,6 @@ test_files:
|
|
196
203
|
- spec/support/fixtures/add/add_customer.xml
|
197
204
|
- spec/support/fixtures/add/add_invoice.xml
|
198
205
|
- spec/support/fixtures/get/get_customer.xml
|
206
|
+
- spec/support/fixtures/get/get_invoice.xml
|
199
207
|
- spec/support/fixtures/initialize/initialize_invoice_from_customer.xml
|
200
208
|
- spec/support/savon.rb
|