netsuite 0.8.0 → 0.8.1
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.
- checksums.yaml +4 -4
- data/README.md +28 -11
- data/lib/netsuite.rb +2 -0
- data/lib/netsuite/actions/login.rb +2 -6
- data/lib/netsuite/passports/token.rb +1 -1
- data/lib/netsuite/records/currency_rate.rb +4 -3
- data/lib/netsuite/records/deposit_other.rb +0 -10
- data/lib/netsuite/records/invoice.rb +2 -2
- data/lib/netsuite/records/return_authorization.rb +3 -2
- data/lib/netsuite/records/return_authorization_item.rb +43 -0
- data/lib/netsuite/records/return_authorization_item_list.rb +11 -0
- data/lib/netsuite/records/subsidiary.rb +1 -0
- data/lib/netsuite/records/tax_group.rb +3 -1
- data/lib/netsuite/records/vendor.rb +1 -0
- data/lib/netsuite/support/country.rb +2 -1
- data/lib/netsuite/utilities.rb +9 -5
- data/lib/netsuite/version.rb +1 -1
- data/spec/netsuite/records/return_authorization_item_list_spec.rb +26 -0
- data/spec/netsuite/records/return_authorization_item_spec.rb +43 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4bb44590fe53e0928b8a73374fe80b794ed3395
|
4
|
+
data.tar.gz: c868924983bf5cdef3b8c831d577cef5f6d73ced
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1808362014a5493c6a5ef4fd513ce3e1041c1f6afcde57323f46be0daf2d7b8f1e22675637a4c08e7c2ac601a287914e2330251e8f8a66ac636859ca5917e95e
|
7
|
+
data.tar.gz: bcf26630f116004671779737e434c6e46d5c33bfb2d283b189e46cc88d620fad567d9b97783e0b65c0f7b7c20d6b5cf9860537a27f9cc3dba4208fa3a44274de
|
data/README.md
CHANGED
@@ -73,6 +73,16 @@ NetSuite.configure do
|
|
73
73
|
end
|
74
74
|
```
|
75
75
|
|
76
|
+
If you'd like to use a API endpoints greater than 2015_1 you'll need to specify an application ID:
|
77
|
+
|
78
|
+
```
|
79
|
+
NetSuite::Configuration.soap_header = {
|
80
|
+
'platformMsgs:ApplicationInfo' => {
|
81
|
+
'platformMsgs:applicationId' => 'your-netsuite-app-id'
|
82
|
+
}
|
83
|
+
}
|
84
|
+
```
|
85
|
+
|
76
86
|
OAuth credentials are also supported. [Learn more about how to set up token based authentication here](http://mikebian.co/using-netsuites-token-based-authentication-with-suitetalk/).
|
77
87
|
|
78
88
|
```ruby
|
@@ -87,7 +97,7 @@ NetSuite.configure do
|
|
87
97
|
token_secret ENV['NETSUITE_TOKEN_SECRET']
|
88
98
|
|
89
99
|
# oauth does not work with API versions less than 2015_2
|
90
|
-
api_version '
|
100
|
+
api_version '2016_2'
|
91
101
|
end
|
92
102
|
```
|
93
103
|
|
@@ -137,6 +147,19 @@ NetSuite::Records::BaseRefList.get_select_value(
|
|
137
147
|
field: 'taxSchedule'
|
138
148
|
)
|
139
149
|
|
150
|
+
# get options for a custom sublist field (i.e. transaction column fields)
|
151
|
+
NetSuite::Records::BaseRefList.get_select_value(
|
152
|
+
field: 'custcol69_2',
|
153
|
+
sublist: 'itemList',
|
154
|
+
recordType: 'salesOrder'
|
155
|
+
)
|
156
|
+
|
157
|
+
# output names of options available for a custom field
|
158
|
+
options = NetSuite::Records::BaseRefList.get_select_value(
|
159
|
+
field: 'custbody_order_source',
|
160
|
+
recordType: 'invoice'
|
161
|
+
)
|
162
|
+
options.base_refs.map(&:name)
|
140
163
|
```
|
141
164
|
|
142
165
|
#### Custom Records & Fields
|
@@ -206,6 +229,10 @@ search = NetSuite::Records::Customer.search({
|
|
206
229
|
|
207
230
|
`open https://system.netsuite.com/app/common/entity/custjob.nl?id=#{search.results.first.internal_id}`
|
208
231
|
|
232
|
+
# find the avalara tax item. Some records don't support search.
|
233
|
+
all_sales_taxes = NetSuite::Utilities.backoff { NetSuite::Records::SalesTaxItem.get_all }
|
234
|
+
ns_tax_code = all_sales_taxes.detect { |st| st.item_id == 'AVATAX' }
|
235
|
+
|
209
236
|
# searching for custom records
|
210
237
|
NetSuite::Records::CustomRecord.search(
|
211
238
|
basic: [
|
@@ -490,13 +517,3 @@ states = NetSuite::Configuration.connection.call(:get_all, message: {
|
|
490
517
|
})
|
491
518
|
states.to_array.first[:get_all_response][:get_all_result][:record_list][:record].map { |r| { country: r[:country], abbr: r[:shortname], name: r[:full_name] } }
|
492
519
|
```
|
493
|
-
|
494
|
-
#### 2015_2 ApplicationId Support
|
495
|
-
|
496
|
-
```ruby
|
497
|
-
NetSuite::Configuration.soap_header = {
|
498
|
-
'platformMsgs:ApplicationInfo' => {
|
499
|
-
'platformMsgs:applicationId' => 'your-netsuite-app-id'
|
500
|
-
}
|
501
|
-
}
|
502
|
-
```
|
data/lib/netsuite.rb
CHANGED
@@ -212,6 +212,8 @@ module NetSuite
|
|
212
212
|
autoload :RevRecSchedule, 'netsuite/records/rev_rec_schedule'
|
213
213
|
autoload :RoleList, 'netsuite/records/role_list'
|
214
214
|
autoload :ReturnAuthorization, 'netsuite/records/return_authorization'
|
215
|
+
autoload :ReturnAuthorizationItem, 'netsuite/records/return_authorization_item'
|
216
|
+
autoload :ReturnAuthorizationItemList, 'netsuite/records/return_authorization_item_list'
|
215
217
|
autoload :SalesOrder, 'netsuite/records/sales_order'
|
216
218
|
autoload :SalesOrderShipGroupList, 'netsuite/records/sales_order_ship_group_list'
|
217
219
|
autoload :SalesOrderItem, 'netsuite/records/sales_order_item'
|
@@ -27,14 +27,10 @@ module NetSuite
|
|
27
27
|
# </platformCore:wsRoleList>
|
28
28
|
|
29
29
|
def self.call(credentials)
|
30
|
-
passport = NetSuite::Configuration.auth_header.dup
|
31
|
-
passport['platformMsgs:passport']['platformCore:email'] = credentials[:email] || ''
|
32
|
-
passport['platformMsgs:passport']['platformCore:password'] = credentials[:password] || ''
|
33
|
-
passport['platformMsgs:passport']['platformCore:role'] = credentials[:role] || ''
|
34
|
-
passport['platformMsgs:passport']['platformCore:account'] = credentials[:account] if !credentials[:account].nil?
|
30
|
+
passport = NetSuite::Configuration.auth_header(credentials).dup
|
35
31
|
|
36
32
|
begin
|
37
|
-
response = NetSuite::Configuration.connection(soap_header: {}).call
|
33
|
+
response = NetSuite::Configuration.connection(soap_header: {}).call(:login, message: passport)
|
38
34
|
rescue Savon::SOAPFault => e
|
39
35
|
error_details = e.to_hash[:fault]
|
40
36
|
|
@@ -19,7 +19,7 @@ module NetSuite
|
|
19
19
|
'platformCore:token' => token_id,
|
20
20
|
'platformCore:nonce' => nonce,
|
21
21
|
'platformCore:timestamp' => timestamp,
|
22
|
-
'platformCore:signature' => signature,
|
22
|
+
'platformCore:signature' => signature.strip,
|
23
23
|
:attributes! => { 'platformCore:signature' => { 'algorithm' => 'HMAC-SHA256' } }
|
24
24
|
}
|
25
25
|
}
|
@@ -13,14 +13,15 @@ module NetSuite
|
|
13
13
|
actions :get, :get_list, :search
|
14
14
|
|
15
15
|
fields :base_currency, :effective_date, :exchange_rate, :transaction_currency
|
16
|
-
|
16
|
+
|
17
17
|
record_refs :base_currency, :transaction_currency
|
18
|
-
|
18
|
+
|
19
19
|
#field :base_currency, Currency
|
20
20
|
#field :transaction_currency, Currency
|
21
21
|
|
22
22
|
attr_reader :internal_id
|
23
23
|
attr_accessor :external_id
|
24
|
+
attr_accessor :search_joins
|
24
25
|
|
25
26
|
def initialize(attributes = {})
|
26
27
|
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
@@ -31,4 +32,4 @@ module NetSuite
|
|
31
32
|
|
32
33
|
end
|
33
34
|
end
|
34
|
-
end
|
35
|
+
end
|
@@ -6,16 +6,6 @@ module NetSuite
|
|
6
6
|
include Support::Records
|
7
7
|
include Namespaces::TranBank
|
8
8
|
|
9
|
-
# <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
|
10
|
-
# <element name="amount" type="xsd:double" minOccurs="0"/>
|
11
|
-
# <element name="account" type="platformCore:RecordRef" minOccurs="0"/>
|
12
|
-
# <element name="paymentMethod" type="platformCore:RecordRef" minOccurs="0"/>
|
13
|
-
# <element name="refNum" type="xsd:string" minOccurs="0"/>
|
14
|
-
# <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
|
15
|
-
# <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
|
16
|
-
# <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
|
17
|
-
# <element name="memo" type="xsd:string" minOccurs="0"/>
|
18
|
-
|
19
9
|
fields :amount, :ref_num, :memo
|
20
10
|
|
21
11
|
record_refs :entity, :account, :payment_method, :department, :klass, :location
|
@@ -13,7 +13,7 @@ module NetSuite
|
|
13
13
|
|
14
14
|
fields :balance, :bill_address,
|
15
15
|
:billing_schedule, :contrib_pct, :created_date, :currency_name, :custom_field_list,
|
16
|
-
:deferred_revenue, :discount_amount, :discount_date, :
|
16
|
+
:deferred_revenue, :discount_amount, :discount_date, :discount_rate,
|
17
17
|
:due_date, :email, :end_date, :est_gross_profit, :est_gross_profit_percent, :exchange_rate,
|
18
18
|
:exclude_commission, :exp_cost_disc_amount, :exp_cost_disc_print, :exp_cost_disc_rate, :exp_cost_disc_tax_1_amt,
|
19
19
|
:exp_cost_disc_taxable, :exp_cost_discount, :exp_cost_list, :exp_cost_tax_code, :exp_cost_tax_rate_1,
|
@@ -44,7 +44,7 @@ module NetSuite
|
|
44
44
|
|
45
45
|
record_refs :account, :bill_address_list, :custom_form, :department, :entity, :klass, :partner,
|
46
46
|
:posting_period, :ship_address_list, :terms, :location, :sales_rep, :tax_item, :created_from,
|
47
|
-
:ship_method, :lead_source, :promo_code, :subsidiary, :currency, :approval_status, :job
|
47
|
+
:ship_method, :lead_source, :promo_code, :subsidiary, :currency, :approval_status, :job, :discount_item
|
48
48
|
|
49
49
|
attr_reader :internal_id
|
50
50
|
attr_accessor :external_id
|
@@ -5,7 +5,7 @@ module NetSuite
|
|
5
5
|
include Support::RecordRefs
|
6
6
|
include Support::Records
|
7
7
|
include Support::Actions
|
8
|
-
include Namespaces::
|
8
|
+
include Namespaces::TranCust
|
9
9
|
|
10
10
|
# https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2015_2/schema/record/returnauthorization.html
|
11
11
|
|
@@ -103,9 +103,10 @@ module NetSuite
|
|
103
103
|
# :partners_list,
|
104
104
|
# :sales_team_list,
|
105
105
|
# :ship_address_list,
|
106
|
-
|
106
|
+
|
107
107
|
field :billing_address, Address
|
108
108
|
field :custom_field_list, CustomFieldList
|
109
|
+
field :item_list, ReturnAuthorizationItemList
|
109
110
|
|
110
111
|
attr_reader :internal_id
|
111
112
|
attr_accessor :external_id
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class ReturnAuthorizationItem
|
4
|
+
include Support::Fields
|
5
|
+
include Support::RecordRefs
|
6
|
+
include Support::Records
|
7
|
+
include Namespaces::TranCust
|
8
|
+
|
9
|
+
fields :alt_sales_amt, :amortization_period, :amortization_type, :amount, :bill_variance_status, :catch_up_period,
|
10
|
+
:cost_estimate, :cost_estimate_rate, :cost_estimate_type, :days_before_expiration, :defer_rev_rec, :description,
|
11
|
+
:gift_cert_from, :gift_cert_message, :gift_cert_recipient_email, :gift_cert_recipient_name, :id, :inventory_detail,
|
12
|
+
:is_closed, :is_drop_shipment, :is_taxable, :is_vsoe_bundle, :item_subtype, :item_type, :line, :line_number,
|
13
|
+
:matrix_type, :options, :print_items, :quantity, :quantity_billed, :quantity_received, :quantity_rev_committed,
|
14
|
+
:rate, :rate_schedule, :rev_rec_end_date, :rev_rec_start_date, :tax_rate1, :vsoe_allocation, :vsoe_amount,
|
15
|
+
:vsoe_deferral, :vsoe_delivered, :vsoe_is_estimate, :vsoe_permit_discount, :vsoe_price, :vsoe_sop_group
|
16
|
+
|
17
|
+
field :custom_field_list, CustomFieldList
|
18
|
+
|
19
|
+
record_refs :department, :item, :job, :klass, :location, :price, :rev_rec_schedule, :tax_code, :units
|
20
|
+
|
21
|
+
def initialize(attributes_or_record = {})
|
22
|
+
case attributes_or_record
|
23
|
+
when Hash
|
24
|
+
initialize_from_attributes_hash(attributes_or_record)
|
25
|
+
when self.class
|
26
|
+
initialize_from_record(attributes_or_record)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize_from_record(record)
|
31
|
+
self.attributes = record.send(:attributes)
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_record
|
35
|
+
rec = super
|
36
|
+
if rec["#{record_namespace}:customFieldList"]
|
37
|
+
rec["#{record_namespace}:customFieldList!"] = rec.delete("#{record_namespace}:customFieldList")
|
38
|
+
end
|
39
|
+
rec
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -7,7 +7,9 @@ module NetSuite
|
|
7
7
|
include Support::Actions
|
8
8
|
include Namespaces::ListAcct
|
9
9
|
|
10
|
-
|
10
|
+
# NOTE search not available on TaxGroup!
|
11
|
+
|
12
|
+
actions :get, :get_list, :add, :initialize, :delete, :update, :upsert, :search, :get_all
|
11
13
|
|
12
14
|
fields :city, :county, :description, :include_children, :is_default, :is_inactive,
|
13
15
|
:item_id, :piggyback, :rate, :state, :subsidiary_list, :unitprice1, :unitprice2,
|
@@ -234,7 +234,8 @@ module NetSuite
|
|
234
234
|
'UG' => '_uganda',
|
235
235
|
'UA' => '_ukraine',
|
236
236
|
'AE' => '_unitedArabEmirates',
|
237
|
-
|
237
|
+
# NOTE GB country code changed on 2016_1
|
238
|
+
'GB' => NetSuite::Configuration.api_version <= "2015_2" ? '_unitedKingdomGB' : '_unitedKingdom',
|
238
239
|
'US' => '_unitedStates',
|
239
240
|
'UY' => '_uruguay',
|
240
241
|
'UM' => '_uSMinorOutlyingIslands',
|
data/lib/netsuite/utilities.rb
CHANGED
@@ -56,7 +56,8 @@ module NetSuite
|
|
56
56
|
Savon::SOAPFault,
|
57
57
|
Savon::InvalidResponseError,
|
58
58
|
Zlib::BufError,
|
59
|
-
Savon::HTTPError
|
59
|
+
Savon::HTTPError,
|
60
|
+
SocketError,
|
60
61
|
]
|
61
62
|
|
62
63
|
# available in ruby > 1.9
|
@@ -65,9 +66,12 @@ module NetSuite
|
|
65
66
|
end
|
66
67
|
|
67
68
|
# available in ruby > 2.2.0
|
68
|
-
if defined?(
|
69
|
-
|
70
|
-
|
69
|
+
exceptions_to_retry << IO::EINPROGRESSWaitWritable if defined?(IO::EINPROGRESSWaitWritable)
|
70
|
+
exceptions_to_retry << OpenSSL::SSL::SSLErrorWaitReadable if defined?(OpenSSL::SSL::SSLErrorWaitReadable)
|
71
|
+
|
72
|
+
# depends on the http library chosen
|
73
|
+
exceptions_to_retry << Excon::Error::Timeout if defined?(Excon::Error::Timeout)
|
74
|
+
exceptions_to_retry << Excon::Error::Socket if defined?(Excon::Error::Socket)
|
71
75
|
|
72
76
|
if !exceptions_to_retry.include?(e.class)
|
73
77
|
raise
|
@@ -215,7 +219,7 @@ module NetSuite
|
|
215
219
|
end
|
216
220
|
|
217
221
|
# http://mikebian.co/notes-on-dates-timezones-with-netsuites-suitetalk-api/
|
218
|
-
# assumes
|
222
|
+
# assumes UTC0 unix timestamp
|
219
223
|
def normalize_time_to_netsuite_date(unix_timestamp)
|
220
224
|
# convert to date to eliminate hr/min/sec
|
221
225
|
time = Time.at(unix_timestamp).utc.to_date.to_datetime
|
data/lib/netsuite/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::ReturnAuthorizationItemList do
|
4
|
+
let(:list) { NetSuite::Records::ReturnAuthorizationItemList.new }
|
5
|
+
|
6
|
+
it 'has a items attribute' do
|
7
|
+
expect(list.items).to be_kind_of(Array)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#to_record' do
|
11
|
+
before do
|
12
|
+
list.items << NetSuite::Records::ReturnAuthorizationItem.new(
|
13
|
+
:rate => 10
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'can represent itself as a SOAP record' do
|
18
|
+
record = {
|
19
|
+
'tranSales:item' => [{
|
20
|
+
'tranSales:rate' => 10
|
21
|
+
}]
|
22
|
+
}
|
23
|
+
expect(list.to_record).to eql(record)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::ReturnAuthorizationItem do
|
4
|
+
let(:item) { NetSuite::Records::ReturnAuthorizationItem.new }
|
5
|
+
|
6
|
+
it 'has all the right fields' do
|
7
|
+
[
|
8
|
+
:alt_sales_amt, :amortization_period, :amortization_type, :amount, :bill_variance_status, :catch_up_period, :cost_estimate,
|
9
|
+
:cost_estimate_rate, :cost_estimate_type, :days_before_expiration, :defer_rev_rec, :description, :gift_cert_from, :gift_cert_message,
|
10
|
+
:gift_cert_recipient_email, :gift_cert_recipient_name, :id, :inventory_detail, :is_closed, :is_drop_shipment, :is_taxable,
|
11
|
+
:is_vsoe_bundle, :item_subtype, :item_type, :line, :line_number, :matrix_type, :options, :print_items,
|
12
|
+
:quantity, :quantity_billed, :quantity_received, :quantity_rev_committed, :rate, :rate_schedule, :rev_rec_end_date,
|
13
|
+
:rev_rec_start_date, :tax_rate1, :vsoe_allocation, :vsoe_amount, :vsoe_deferral, :vsoe_delivered, :vsoe_is_estimate,
|
14
|
+
:vsoe_permit_discount, :vsoe_price, :vsoe_sop_group
|
15
|
+
].each do |field|
|
16
|
+
expect(item).to have_field(field)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'has all the right record refs' do
|
21
|
+
[
|
22
|
+
:department, :item, :job, :klass, :location, :price, :rev_rec_schedule, :tax_code, :units
|
23
|
+
].each do |record_ref|
|
24
|
+
expect(item).to have_record_ref(record_ref)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#options' do
|
29
|
+
it 'can be set from attributes'
|
30
|
+
it 'can be set from a CustomFieldList object'
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#inventory_detail' do
|
34
|
+
it 'can be set from attributes'
|
35
|
+
it 'can be set from an InventoryDetail object'
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#custom_field_list' do
|
39
|
+
it 'can be set from attributes'
|
40
|
+
it 'can be set from a CustomFieldList object'
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netsuite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Moran
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-06-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: savon
|
@@ -238,6 +238,8 @@ files:
|
|
238
238
|
- lib/netsuite/records/record_ref.rb
|
239
239
|
- lib/netsuite/records/record_ref_list.rb
|
240
240
|
- lib/netsuite/records/return_authorization.rb
|
241
|
+
- lib/netsuite/records/return_authorization_item.rb
|
242
|
+
- lib/netsuite/records/return_authorization_item_list.rb
|
241
243
|
- lib/netsuite/records/rev_rec_schedule.rb
|
242
244
|
- lib/netsuite/records/rev_rec_template.rb
|
243
245
|
- lib/netsuite/records/role_list.rb
|
@@ -404,6 +406,8 @@ files:
|
|
404
406
|
- spec/netsuite/records/pomo_code_spec.rb
|
405
407
|
- spec/netsuite/records/pricing_matrix_spec.rb
|
406
408
|
- spec/netsuite/records/record_ref_spec.rb
|
409
|
+
- spec/netsuite/records/return_authorization_item_list_spec.rb
|
410
|
+
- spec/netsuite/records/return_authorization_item_spec.rb
|
407
411
|
- spec/netsuite/records/rev_rec_template_spec.rb
|
408
412
|
- spec/netsuite/records/sales_order_item_list_spec.rb
|
409
413
|
- spec/netsuite/records/sales_order_item_spec.rb
|
@@ -596,6 +600,8 @@ test_files:
|
|
596
600
|
- spec/netsuite/records/pomo_code_spec.rb
|
597
601
|
- spec/netsuite/records/pricing_matrix_spec.rb
|
598
602
|
- spec/netsuite/records/record_ref_spec.rb
|
603
|
+
- spec/netsuite/records/return_authorization_item_list_spec.rb
|
604
|
+
- spec/netsuite/records/return_authorization_item_spec.rb
|
599
605
|
- spec/netsuite/records/rev_rec_template_spec.rb
|
600
606
|
- spec/netsuite/records/sales_order_item_list_spec.rb
|
601
607
|
- spec/netsuite/records/sales_order_item_spec.rb
|