netsuite 0.7.3 → 0.7.4

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 CHANGED
@@ -198,11 +198,13 @@ module NetSuite
198
198
  autoload :RoleList, 'netsuite/records/role_list'
199
199
  autoload :ReturnAuthorization, 'netsuite/records/return_authorization'
200
200
  autoload :SalesOrder, 'netsuite/records/sales_order'
201
+ autoload :SalesOrderShipGroupList, 'netsuite/records/sales_order_ship_group_list'
201
202
  autoload :SalesOrderItem, 'netsuite/records/sales_order_item'
202
203
  autoload :SalesOrderItemList, 'netsuite/records/sales_order_item_list'
203
204
  autoload :SalesTaxItem, 'netsuite/records/sales_tax_item'
204
205
  autoload :ServiceResaleItem, 'netsuite/records/service_resale_item'
205
206
  autoload :ServiceSaleItem, 'netsuite/records/service_sale_item'
207
+ autoload :SerializedInventoryItem, 'netsuite/records/serialized_inventory_item'
206
208
  autoload :ShipAddress, 'netsuite/records/ship_address'
207
209
  autoload :SiteCategory, 'netsuite/records/site_category'
208
210
  autoload :Subsidiary, 'netsuite/records/subsidiary'
@@ -213,6 +215,7 @@ module NetSuite
213
215
  autoload :Task, 'netsuite/records/task'
214
216
  autoload :Term, 'netsuite/records/term'
215
217
  autoload :TimeBill, 'netsuite/records/time_bill'
218
+ autoload :TransactionShipGroup, 'netsuite/records/transaction_ship_group'
216
219
  autoload :TransferOrder, 'netsuite/records/transfer_order'
217
220
  autoload :TransferOrderItemList, 'netsuite/records/transfer_order_item_list'
218
221
  autoload :TransferOrderItem, 'netsuite/records/transfer_order_item'
@@ -38,7 +38,11 @@ module NetSuite
38
38
  end
39
39
 
40
40
  def response_body
41
- @response_body ||= array_wrap(response_hash[:record_list][:record])
41
+ @response_body ||= if success?
42
+ array_wrap(response_hash[:record_list][:record])
43
+ else
44
+ nil
45
+ end
42
46
  end
43
47
 
44
48
  def response_hash
@@ -54,10 +58,13 @@ module NetSuite
54
58
  module ClassMethods
55
59
  def get_all(credentials = {})
56
60
  response = NetSuite::Actions::GetAll.call([self], credentials)
61
+
62
+ # TODO expose errors to the user
63
+
57
64
  if response.success?
58
65
  response.body.map { |attr| new(attr) }
59
66
  else
60
- raise RecordNotFound, "#{self} with OPTIONS=#{options.inspect} could not be found"
67
+ false
61
68
  end
62
69
  end
63
70
  end
@@ -19,9 +19,11 @@ module NetSuite
19
19
  :to_be_printed, :total_cost_estimate, :tran_date, :tran_id, :tran_is_vsoe_bundle, :vat_reg_num,
20
20
  :vsoe_auto_calc
21
21
 
22
+ field :custom_field_list, CustomFieldList
22
23
  field :transaction_bill_address, BillAddress
23
24
  field :item_list, CreditMemoItemList
24
25
  field :apply_list, CreditMemoApplyList
26
+ field :ship_group_list, SalesOrderShipGroupList
25
27
 
26
28
  read_only_fields :applied, :discount_total, :sub_total, :tax_total, :total, :unapplied
27
29
 
@@ -97,7 +97,7 @@ module NetSuite
97
97
 
98
98
  def extract_custom_field(custom_field_data)
99
99
  # TODO this seems brittle, but might sufficient, watch out for this if something breaks
100
- if custom_field_data[:"@xsi:type"] == "platformCore:SelectCustomFieldRef"
100
+ if (custom_field_data[:"@xsi:type"] || custom_field_data[:type]) == "platformCore:SelectCustomFieldRef"
101
101
  custom_field_data[:value] = CustomRecordRef.new(custom_field_data.delete(:value))
102
102
  end
103
103
 
@@ -24,7 +24,7 @@ module NetSuite
24
24
  :print_transactions, :referrer, :reminder_days, :representing_subsidiary, :require_pwd_change, :resale_number,
25
25
  :sales_group, :sales_readiness, :sales_team_list, :salutation, :send_email, :ship_complete, :shipping_item,
26
26
  :stage, :start_date, :sync_partner_teams, :tax_exempt, :tax_item, :taxable,
27
- :territory, :third_party_acct, :third_party_country, :third_party_zipcode, :title, :url,
27
+ :third_party_acct, :third_party_country, :third_party_zipcode, :title, :url,
28
28
  :vat_reg_number, :visits, :web_lead
29
29
 
30
30
  field :addressbook_list, CustomerAddressbookList
@@ -39,7 +39,7 @@ module NetSuite
39
39
  :consol_overdue_balance, :unbilled_orders, :consol_unbilled_orders
40
40
 
41
41
  record_refs :access_role, :custom_form, :currency, :entity_status, :partner, :category, :lead_source,
42
- :price_level,:sales_rep, :subsidiary, :terms, :parent
42
+ :price_level,:sales_rep, :subsidiary, :terms, :parent, :territory
43
43
 
44
44
  attr_reader :internal_id
45
45
  attr_accessor :external_id
@@ -9,7 +9,7 @@ module NetSuite
9
9
 
10
10
  actions :get, :get_list, :add, :delete, :search, :upsert
11
11
 
12
- fields :approved, :created_date, :exchange_rate, :last_modified_date, :reversal_date, :reversal_defer, :reversal_entry,
12
+ fields :approved, :created_date, :exchange_rate, :last_modified_date, :memo, :reversal_date, :reversal_defer, :reversal_entry,
13
13
  :tran_date, :tran_id
14
14
 
15
15
  field :custom_field_list, CustomFieldList
@@ -28,6 +28,7 @@ module NetSuite
28
28
 
29
29
  attr_reader :internal_id
30
30
  attr_accessor :external_id
31
+ attr_accessor :search_joins
31
32
 
32
33
  def initialize(attributes = {})
33
34
  @internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
@@ -11,14 +11,14 @@ module NetSuite
11
11
 
12
12
  fields :alt_handling_cost, :alt_shipping_cost, :amount_paid, :amount_remaining, :auto_apply, :balance,
13
13
  :bill_address, :cc_approved, :contrib_pct, :created_date, :currency_name, :deferred_revenue, :discount_rate, :email, :end_date,
14
- :est_gross_profit, :est_gross_profit_percent, :exchange_rate, :exclude_commission, :fax, :gift_cert_applied,
14
+ :est_gross_profit, :exchange_rate, :exclude_commission, :fax, :gift_cert_applied,
15
15
  :gift_cert_available, :gift_cert_total, :handling_cost, :handling_tax1_rate, :handling_tax2_rate, :is_taxable,
16
16
  :last_modified_date, :memo, :message, :on_credit_hold, :order_status, :other_ref_num, :recognized_revenue,
17
17
  :rev_rec_on_rev_commitment, :sales_effective_date, :ship_complete, :ship_date, :shipping_cost, :shipping_tax1_rate, :shipping_tax2_rate, :source,
18
18
  :start_date, :status, :sync_partner_teams, :sync_sales_teams, :tax2_total, :tax_rate, :to_be_emailed, :to_be_faxed,
19
19
  :to_be_printed, :total_cost_estimate, :tran_date, :tran_id, :tran_is_vsoe_bundle, :vat_reg_num,
20
20
  :linked_tracking_numbers, :vsoe_auto_calc, :quantity, :bill_city, :bill_state, :ship_city, :ship_state, :cost_estimate,
21
- :amount, :is_ship_address, :auth_code
21
+ :amount, :is_ship_address, :auth_code, :pn_ref_num, :is_multi_ship_to
22
22
 
23
23
  # NOTE API >= 2014_2 only
24
24
  field :shipping_address, Address
@@ -31,8 +31,10 @@ module NetSuite
31
31
  field :item_list, SalesOrderItemList
32
32
  field :custom_field_list, CustomFieldList
33
33
  field :gift_cert_redemption_list, GiftCertRedemptionList
34
+ field :ship_group_list, SalesOrderShipGroupList
34
35
 
35
- read_only_fields :applied, :discount_total, :sub_total, :tax_total, :total, :unapplied
36
+ read_only_fields :applied, :discount_total, :sub_total, :tax_total, :total, :unapplied,
37
+ :est_gross_profit_percent
36
38
 
37
39
  record_refs :account, :bill_address_list, :created_from, :currency, :custom_form, :department, :discount_item, :entity, :gift_cert,
38
40
  :handling_tax_code, :job, :klass, :lead_source, :location, :message_sel, :opportunity, :partner, :posting_period, :promo_code,
@@ -0,0 +1,11 @@
1
+ module NetSuite
2
+ module Records
3
+ class SalesOrderShipGroupList < Support::Sublist
4
+ include Namespaces::TranSales
5
+
6
+ sublist :ship_group, TransactionShipGroup
7
+
8
+ alias :ship_groups :ship_group
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,248 @@
1
+ module NetSuite
2
+ module Records
3
+ class SerializedInventoryItem
4
+ include Support::Fields
5
+ include Support::RecordRefs
6
+ include Support::Records
7
+ include Support::Actions
8
+ include Namespaces::ListAcct
9
+
10
+ actions :get, :get_list, :add, :delete, :search, :update, :upsert
11
+
12
+ record_refs :soft_descriptor,
13
+ :stock_unit,
14
+ :store_display_image,
15
+ :store_display_thumbnail,
16
+ :store_item_template,
17
+ :supply_lot_sizing_method,
18
+ :supply_replenishment_method,
19
+ :supply_type,
20
+ :tax_schedule,
21
+ :units_type,
22
+ :vendor,
23
+ :alternate_demand_source_item,
24
+ :asset_account,
25
+ :bill_exch_rate_variance_acct,
26
+ :billing_schedule,
27
+ :bill_price_variance_acct,
28
+ :bill_qty_variance_acct,
29
+ :klass,
30
+ :cogs_account,
31
+ :cost_category,
32
+ :custom_form,
33
+ :deferred_revenue_account,
34
+ :demand_source,
35
+ :department,
36
+ :dropship_expense_account,
37
+ :gain_loss_account,
38
+ :income_account,
39
+ :interco_cogs_account,
40
+ :interco_income_account,
41
+ :issue_product,
42
+ :location,
43
+ :parent,
44
+ :preferred_location,
45
+ :pricing_group,
46
+ :purchase_price_variance_acct,
47
+ :purchase_tax_code,
48
+ :purchase_unit,
49
+ :quantity_pricing_schedule,
50
+ :sales_tax_code,
51
+ :sale_unit,
52
+ :ship_package,
53
+ :revenue_allocation_group,
54
+ :revenue_recognition_rule,
55
+ :rev_rec_schedule
56
+
57
+ # bin_number_list InventoryItemBinNumberList
58
+ # custom_field_list CustomFieldList
59
+ # hazmat_packing_group HazmatPackingGroup
60
+ # invt_classification ItemInvtClassification
61
+ # item_carrier ItemCarrier
62
+ # item_number_options_list RecordRefList
63
+ # item_options_list ItemOptionsList
64
+ # item_revenue_category RecordRef
65
+ # item_ship_method_list RecordRefList
66
+ # item_vendor_list ItemVendorList
67
+ # locations_list SerializedInventoryItemLocationsList
68
+ # matrix_option_list MatrixOptionList
69
+ # matrix_type ItemMatrixType
70
+ # numbers_list SerializedInventoryItemNumbersList
71
+ # out_of_stock_behavior ItemOutOfStockBehavior
72
+ # overall_quantity_pricing_type ItemOverallQuantityPricingType
73
+ # periodic_lot_size_type PeriodicLotSizeType
74
+ # preference_criterion ItemPreferenceCriterion
75
+ # presentation_item_list PresentationItemList
76
+ # pricing_matrix PricingMatrix
77
+ # product_feed_list ProductFeedList
78
+ # accounting_book_detail_list ItemAccountingBookDetailList
79
+
80
+ fields :auto_lead_time,
81
+ :auto_preferred_stock_level,
82
+ :auto_reorder_point,
83
+ :available_to_partners,
84
+ :average_cost,
85
+ :backward_consumption_days,
86
+ :copy_description,
87
+ :cost,
88
+ :cost_estimate,
89
+ :costing_method_display,
90
+ :cost_units,
91
+ :created_date,
92
+ :currency,
93
+ :default_item_ship_method,
94
+ :default_return_cost,
95
+ :demand_modifier,
96
+ :demand_time_fence,
97
+ :display_name,
98
+ :dont_show_price,
99
+ :enforce_min_qty_internally,
100
+ :exclude_from_sitemap,
101
+ :featured_description,
102
+ :fixed_lot_size,
103
+ :forward_consumption_days,
104
+ :handling_cost,
105
+ :handling_cost_units,
106
+ :hazmat_hazard_class,
107
+ :hazmat_id,
108
+ :hazmat_item_units,
109
+ :hazmat_item_units_qty,
110
+ :hazmat_shipping_name,
111
+ :include_children,
112
+ :invt_count_interval,
113
+ :is_donation_item,
114
+ :is_drop_ship_item,
115
+ :is_gco_compliant,
116
+ :is_hazmat_item,
117
+ :is_inactive,
118
+ :is_online,
119
+ :is_special_order_item,
120
+ :is_taxable,
121
+ :item_id,
122
+ :last_invt_count_date,
123
+ :last_modified_date,
124
+ :last_purchase_price,
125
+ :lead_time,
126
+ :manufacturer,
127
+ :manufacturer_addr1,
128
+ :manufacturer_city,
129
+ :manufacturer_state,
130
+ :manufacturer_tariff,
131
+ :manufacturer_tax_id,
132
+ :manufacturer_zip,
133
+ :match_bill_to_receipt,
134
+ :max_donation_amount,
135
+ :meta_tag_html,
136
+ :minimum_quantity,
137
+ :minimum_quantity_units,
138
+ :mpn,
139
+ :mult_manufacture_addr,
140
+ :nex_tag_category,
141
+ :next_invt_count_date,
142
+ :no_price_message,
143
+ :offer_support,
144
+ :on_hand_value_mli,
145
+ :on_special,
146
+ :out_of_stock_message,
147
+ :page_title,
148
+ :periodic_lot_size_days,
149
+ :preferred_stock_level,
150
+ :preferred_stock_level_days,
151
+ :preferred_stock_level_units,
152
+ :prices_include_tax,
153
+ :producer,
154
+ :purchase_description,
155
+ :purchase_order_amount,
156
+ :purchase_order_quantity,
157
+ :purchase_order_quantity_diff,
158
+ :quantity_available,
159
+ :quantity_back_ordered,
160
+ :quantity_committed,
161
+ :quantity_on_hand,
162
+ :quantity_on_hand_units,
163
+ :quantity_on_order,
164
+ :quantity_reorder_units,
165
+ :rate,
166
+ :receipt_amount,
167
+ :receipt_quantity,
168
+ :receipt_quantity_diff,
169
+ :related_items_description,
170
+ :reorder_multiple,
171
+ :reorder_point,
172
+ :reorder_point_units,
173
+ :reschedule_in_days,
174
+ :reschedule_out_days,
175
+ :round_up_as_component,
176
+ :safety_stock_level,
177
+ :safety_stock_level_days,
178
+ :safety_stock_level_units,
179
+ :sales_description,
180
+ :schedule_b_code,
181
+ :schedule_b_number,
182
+ :schedule_b_quantity,
183
+ :search_keywords,
184
+ :seasonal_demand,
185
+ :serial_numbers,
186
+ :ship_individually,
187
+ :shipping_cost,
188
+ :shipping_cost_units,
189
+ :shopping_dot_com_category,
190
+ :shopzilla_category_id,
191
+ :show_default_donation_amount,
192
+ :specials_description,
193
+ :stock_description,
194
+ :store_description,
195
+ :store_detailed_description,
196
+ :store_display_name,
197
+ :supply_time_fence,
198
+ :total_value,
199
+ :track_landed_cost,
200
+ :transfer_price,
201
+ :upc_code,
202
+ :url_component,
203
+ :use_bins,
204
+ :use_marginal_rates,
205
+ :vendor_name,
206
+ :vsoe_delivered,
207
+ :vsoe_price,
208
+ :weight,
209
+ :weight_units
210
+
211
+ # cost_estimate_type ItemCostEstimateType
212
+ # costing_method ItemCostingMethod
213
+ # country_of_manufacture Country
214
+ # create_revenue_plans_on ItemCreateRevenuePlansOn
215
+ # site_category_list SiteCategoryList
216
+ # sitemap_priority SitemapPriority
217
+ # subsidiary_list RecordRefList
218
+ # translations_list TranslationList
219
+ # vsoe_deferral VsoeDeferral
220
+ # vsoe_permit_discount VsoePermitDiscount
221
+ # vsoe_sop_group VsoeSopGroup
222
+ # weight_unit ItemWeightUnit
223
+
224
+ field :custom_field_list, CustomFieldList
225
+ field :locations_list, LocationsList
226
+ field :subsidiary_list, RecordRefList
227
+
228
+ # TODO from standard copied item record; may need to be deleted
229
+ # field :pricing_matrix, PricingMatrix
230
+ # field :bin_number_list, BinNumberList
231
+ # field :item_vendor_list, ItemVendorList
232
+ # field :matrix_option_list, MatrixOptionList
233
+
234
+ attr_reader :internal_id
235
+ attr_accessor :external_id
236
+
237
+ def initialize(attributes = {})
238
+ @internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
239
+ @external_id = attributes.delete(:external_id) || attributes.delete(:@external_id)
240
+ initialize_from_attributes_hash(attributes)
241
+ end
242
+
243
+ def self.search_class_name
244
+ "Item"
245
+ end
246
+ end
247
+ end
248
+ end
@@ -26,10 +26,11 @@ module NetSuite
26
26
  record_refs :billing_schedule, :cost_category, :custom_form, :deferred_revenue_account, :department, :income_account,
27
27
  :issue_product, :item_options_list, :klass, :location, :parent, :pricing_group, :purchase_tax_code,
28
28
  :quantity_pricing_schedule, :rev_rec_schedule, :sale_unit, :sales_tax_code, :store_display_image,
29
- :store_display_thumbnail, :store_item_template, :subsidiary_list, :tax_schedule, :units_type
29
+ :store_display_thumbnail, :store_item_template, :tax_schedule, :units_type
30
30
 
31
31
  field :pricing_matrix, PricingMatrix
32
32
  field :custom_field_list, CustomFieldList
33
+ field :subsidiary_list, RecordRefList
33
34
 
34
35
  attr_reader :internal_id
35
36
  attr_accessor :external_id
@@ -0,0 +1,40 @@
1
+ module NetSuite
2
+ module Records
3
+ class TransactionShipGroup
4
+ include Support::Fields
5
+ include Support::RecordRefs
6
+ include Support::Records
7
+ include Namespaces::TranSales
8
+
9
+ fields :destination_address,
10
+ :handling_rate,
11
+ :handling_tax2_amt,
12
+ :handling_tax2_rate,
13
+ :handling_tax_amt,
14
+ :handling_tax_rate,
15
+ :id,
16
+ :is_fulfilled,
17
+ :is_handling_taxable,
18
+ :is_shipping_taxable,
19
+ :shipping_method,
20
+ :shipping_rate,
21
+ :shipping_tax2_amt,
22
+ :shipping_tax2_rate,
23
+ :shipping_tax_amt,
24
+ :shipping_tax_rate,
25
+ :source_address,
26
+ :weight
27
+
28
+ record_refs :destination_address_ref,
29
+ :handling_tax_code,
30
+ :shipping_method_ref,
31
+ :shipping_tax_code,
32
+ :source_address_ref
33
+
34
+ def initialize(attributes = {})
35
+ initialize_from_attributes_hash(attributes)
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -7,7 +7,7 @@ module NetSuite
7
7
  include Support::Actions
8
8
  include Namespaces::TranPurch
9
9
 
10
- actions :get, :get_list, :delete, :initialize, :search
10
+ actions :add, :get, :get_list, :update, :delete, :initialize, :search
11
11
 
12
12
  fields :created_date, :un_applied, :last_modified_date,
13
13
  :auto_apply, :applied, :transaction_number,
@@ -33,7 +33,8 @@ module NetSuite
33
33
  yield
34
34
  rescue options[:exception] || Savon::SOAPFault => e
35
35
  if !e.message.include?("Only one request may be made against a session at a time") &&
36
- !e.message.include?('java.util.ConcurrentModificationException')
36
+ !e.message.include?('java.util.ConcurrentModificationException') &&
37
+ !e.message.include?('SuiteTalk concurrent request limit exceeded. Request blocked.')
37
38
  raise e
38
39
  end
39
40
  if count >= (options[:attempts] || 8)
@@ -70,6 +71,7 @@ module NetSuite
70
71
  ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::ServiceSaleItem, ns_item_internal_id)
71
72
  ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::GiftCertificateItem, ns_item_internal_id)
72
73
  ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::KitItem, ns_item_internal_id)
74
+ ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::SerializedInventoryItem, ns_item_internal_id)
73
75
 
74
76
  if ns_item.nil?
75
77
  fail NetSuite::RecordNotFound, "item with ID #{ns_item_internal_id} not found"
@@ -1,3 +1,3 @@
1
1
  module Netsuite
2
- VERSION = '0.7.3'
2
+ VERSION = '0.7.4'
3
3
  end
@@ -43,6 +43,7 @@ describe 'basic records' do
43
43
  NetSuite::Records::OtherChargeSaleItem,
44
44
  NetSuite::Records::GiftCertificateItem,
45
45
  NetSuite::Records::ReturnAuthorization,
46
+ NetSuite::Records::SerializedInventoryItem,
46
47
  ]
47
48
  }
48
49
 
@@ -102,7 +102,7 @@ describe NetSuite::Records::CustomFieldList do
102
102
 
103
103
  it 'can represent itself as a SOAP record' do
104
104
  record = {
105
- "platformCore:customField" => [
105
+ "platformCore:customField" => [
106
106
  {
107
107
  'platformCore:value' => 'false',
108
108
  "@internalId" => "custentity_registeredonline",
@@ -125,6 +125,47 @@ describe NetSuite::Records::CustomFieldList do
125
125
  expect(list.to_record.length).to eq(1)
126
126
  end
127
127
 
128
+ context "when custom field list is initialised from a hash" do
129
+ let(:attributes) do
130
+ {
131
+ custom_field: [
132
+ {
133
+ script_id: "custentity_registeredonline",
134
+ type: "platformCore:SelectCustomFieldRef",
135
+ value: { internal_id: 200, type_id: 1 },
136
+ },
137
+ {
138
+ script_id: "custbody_salesclassification",
139
+ type: "platformCore:StringCustomFieldRef",
140
+ value: "foobar"
141
+ }
142
+ ]
143
+ }
144
+ end
145
+
146
+ it "can represent itself as a SOAP record" do
147
+ list = NetSuite::Records::CustomFieldList.new(attributes)
148
+
149
+ record = {
150
+ "platformCore:customField" => [
151
+ {
152
+ "@scriptId" => "custentity_registeredonline",
153
+ "@xsi:type" => "platformCore:SelectCustomFieldRef",
154
+ "platformCore:value" => {:@internalId => 200, :@typeId => "1"},
155
+ },
156
+ {
157
+ "@scriptId" => "custbody_salesclassification",
158
+ "@xsi:type" => "platformCore:StringCustomFieldRef",
159
+ "platformCore:value" => "foobar",
160
+ },
161
+ ]
162
+ }
163
+
164
+ expect(list.to_record).to eql(record)
165
+ expect(list.to_record.length).to eq(1)
166
+ end
167
+ end
168
+
128
169
  # https://github.com/NetSweet/netsuite/issues/182
129
170
  it 'handles custom fields without an internalId or scriptId' do
130
171
  custom_list = NetSuite::Records::CustomFieldList.new({custom_field: { '@xsi:type' => 'platformCore:StringCustomFieldRef' }})
@@ -19,7 +19,7 @@ describe NetSuite::Records::Customer do
19
19
  :print_transactions, :referrer, :reminder_days, :representing_subsidiary, :require_pwd_change, :resale_number,
20
20
  :sales_group, :sales_readiness, :sales_team_list, :salutation, :send_email, :ship_complete, :shipping_item,
21
21
  :stage, :start_date, :sync_partner_teams, :tax_exempt, :tax_item, :taxable,
22
- :territory, :third_party_acct, :third_party_country, :third_party_zipcode, :title, :unbilled_orders, :url,
22
+ :third_party_acct, :third_party_country, :third_party_zipcode, :title, :unbilled_orders, :url,
23
23
  :vat_reg_number, :visits, :web_lead
24
24
  ].each do |field|
25
25
  expect(customer).to have_field(field)
@@ -28,7 +28,7 @@ describe NetSuite::Records::Customer do
28
28
 
29
29
  it 'has the right record_refs' do
30
30
  [
31
- :access_role, :currency, :custom_form, :entity_status, :partner, :sales_rep, :terms, :parent
31
+ :access_role, :currency, :custom_form, :entity_status, :partner, :sales_rep, :terms, :parent, :territory
32
32
  ].each do |record_ref|
33
33
  expect(customer).to have_record_ref(record_ref)
34
34
  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.7.3
4
+ version: 0.7.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-09-07 00:00:00.000000000 Z
13
+ date: 2016-11-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: savon
@@ -236,7 +236,9 @@ files:
236
236
  - lib/netsuite/records/sales_order.rb
237
237
  - lib/netsuite/records/sales_order_item.rb
238
238
  - lib/netsuite/records/sales_order_item_list.rb
239
+ - lib/netsuite/records/sales_order_ship_group_list.rb
239
240
  - lib/netsuite/records/sales_tax_item.rb
241
+ - lib/netsuite/records/serialized_inventory_item.rb
240
242
  - lib/netsuite/records/service_resale_item.rb
241
243
  - lib/netsuite/records/service_sale_item.rb
242
244
  - lib/netsuite/records/ship_address.rb
@@ -249,6 +251,7 @@ files:
249
251
  - lib/netsuite/records/tax_type.rb
250
252
  - lib/netsuite/records/term.rb
251
253
  - lib/netsuite/records/time_bill.rb
254
+ - lib/netsuite/records/transaction_ship_group.rb
252
255
  - lib/netsuite/records/transfer_order.rb
253
256
  - lib/netsuite/records/transfer_order_item.rb
254
257
  - lib/netsuite/records/transfer_order_item_list.rb