quickbooks-ruby 1.0.5 → 1.0.10
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/lib/quickbooks-ruby.rb +13 -0
- data/lib/quickbooks/faraday/middleware/gzip.rb +2 -0
- data/lib/quickbooks/model/account.rb +0 -1
- data/lib/quickbooks/model/bill.rb +1 -0
- data/lib/quickbooks/model/customer.rb +4 -3
- data/lib/quickbooks/model/customer_type.rb +15 -0
- data/lib/quickbooks/model/invoice.rb +0 -1
- data/lib/quickbooks/model/item.rb +2 -4
- data/lib/quickbooks/model/preferences.rb +0 -1
- data/lib/quickbooks/model/purchase_order.rb +0 -1
- data/lib/quickbooks/model/report.rb +1 -1
- data/lib/quickbooks/service/account.rb +0 -5
- data/lib/quickbooks/service/base_service.rb +29 -10
- data/lib/quickbooks/service/custom_field.rb +20 -0
- data/lib/quickbooks/service/customer.rb +1 -11
- data/lib/quickbooks/service/customer_type.rb +20 -0
- data/lib/quickbooks/service/invoice.rb +1 -10
- data/lib/quickbooks/service/item.rb +1 -11
- data/lib/quickbooks/service/preferences.rb +0 -5
- data/lib/quickbooks/service/purchase_order.rb +1 -1
- data/lib/quickbooks/util/query_builder.rb +6 -5
- data/lib/quickbooks/version.rb +1 -1
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a187ff994f94701f0af739a2e2512ffe8e743da2cd5d010bf8052310878b9975
|
4
|
+
data.tar.gz: d6ada45be6703b4b208ba7c0d61be2eb99809273ea3be2ff3d96adec15dc49d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b844255a399c96a721ab04ad83afcf6793f981d54abb080a577abef4103aa96ed41df4549e8310e68746743b00c27def3816539cceb739b639d4dfce594f62ee
|
7
|
+
data.tar.gz: cd6e5821e956088e9bd4aa8afed320de6537be673edde3643dc688186d0ae59623f01a7a1e52ca7321341e9dbb6191cef3f50b634064c3266a29d20b7ae85605
|
data/lib/quickbooks-ruby.rb
CHANGED
@@ -75,6 +75,7 @@ require 'quickbooks/model/invoice_line_item'
|
|
75
75
|
require 'quickbooks/model/invoice_group_line_detail'
|
76
76
|
require 'quickbooks/model/company_info'
|
77
77
|
require 'quickbooks/model/company_currency'
|
78
|
+
require 'quickbooks/model/customer_type'
|
78
79
|
require 'quickbooks/model/customer'
|
79
80
|
require 'quickbooks/model/delivery_info'
|
80
81
|
require 'quickbooks/model/sales_receipt'
|
@@ -137,6 +138,8 @@ require 'quickbooks/service/class'
|
|
137
138
|
require 'quickbooks/service/attachable'
|
138
139
|
require 'quickbooks/service/company_info'
|
139
140
|
require 'quickbooks/service/company_currency'
|
141
|
+
require 'quickbooks/service/customer_type'
|
142
|
+
require 'quickbooks/service/custom_field'
|
140
143
|
require 'quickbooks/service/customer'
|
141
144
|
require 'quickbooks/service/department'
|
142
145
|
require 'quickbooks/service/invoice'
|
@@ -188,6 +191,7 @@ Faraday::Middleware.register_middleware :gzip => lambda { Gzip }
|
|
188
191
|
module Quickbooks
|
189
192
|
@@sandbox_mode = false
|
190
193
|
@@logger = nil
|
194
|
+
@@minorversion = 47
|
191
195
|
|
192
196
|
class << self
|
193
197
|
def sandbox_mode
|
@@ -198,6 +202,14 @@ module Quickbooks
|
|
198
202
|
@@sandbox_mode = sandbox_mode
|
199
203
|
end
|
200
204
|
|
205
|
+
def minorversion=(v)
|
206
|
+
@@minorversion = v
|
207
|
+
end
|
208
|
+
|
209
|
+
def minorversion
|
210
|
+
@@minorversion
|
211
|
+
end
|
212
|
+
|
201
213
|
def logger
|
202
214
|
@@logger ||= ::Logger.new($stdout) # TODO: replace with a real log file
|
203
215
|
end
|
@@ -246,6 +258,7 @@ module Quickbooks
|
|
246
258
|
class TooManyRequests < Error; end
|
247
259
|
class ServiceUnavailable < Error; end
|
248
260
|
class MissingRealmError < Error; end
|
261
|
+
class UnsupportedOperation < Error; end
|
249
262
|
|
250
263
|
class IntuitRequestException < Error
|
251
264
|
attr_accessor :message, :code, :detail, :type, :intuit_tid, :request_xml, :request_json
|
@@ -23,6 +23,8 @@ class Gzip < Faraday::Middleware
|
|
23
23
|
def call(env)
|
24
24
|
env[:request_headers][ACCEPT_ENCODING] ||= SUPPORTED_ENCODINGS
|
25
25
|
@app.call(env).on_complete do |response_env|
|
26
|
+
break if response_env[:response_headers].nil?
|
27
|
+
|
26
28
|
case response_env[:response_headers][CONTENT_ENCODING]
|
27
29
|
when 'gzip'
|
28
30
|
reset_body(response_env, &method(:uncompress_gzip))
|
@@ -16,6 +16,7 @@ module Quickbooks
|
|
16
16
|
xml_accessor :department_ref, :from => 'DepartmentRef', :as => BaseReference
|
17
17
|
|
18
18
|
xml_accessor :line_items, :from => 'Line', :as => [BillLineItem]
|
19
|
+
xml_accessor :txn_tax_detail, :from => 'TxnTaxDetail', :as => TransactionTaxDetail
|
19
20
|
|
20
21
|
xml_accessor :private_note, :from => 'PrivateNote'
|
21
22
|
|
@@ -16,8 +16,6 @@ module Quickbooks
|
|
16
16
|
include NameEntity::Quality
|
17
17
|
include NameEntity::PermitAlterations
|
18
18
|
|
19
|
-
MINORVERSION = 33
|
20
|
-
|
21
19
|
xml_name XML_NODE
|
22
20
|
xml_accessor :id, :from => 'Id'
|
23
21
|
xml_accessor :sync_token, :from => 'SyncToken', :as => Integer
|
@@ -56,12 +54,15 @@ module Quickbooks
|
|
56
54
|
xml_accessor :notes, :from => 'Notes'
|
57
55
|
xml_accessor :currency_ref, :from => 'CurrencyRef', :as => BaseReference
|
58
56
|
xml_accessor :tax_exemption_reason_id, :from => 'TaxExemptionReasonId'
|
57
|
+
xml_accessor :primary_tax_identifier, :from => 'PrimaryTaxIdentifier'
|
58
|
+
xml_accessor :customer_type_ref, :from => 'CustomerTypeRef', :as => BaseReference
|
59
59
|
|
60
60
|
#== Validations
|
61
61
|
validate :names_cannot_contain_invalid_characters
|
62
62
|
validate :email_address_is_valid
|
63
63
|
|
64
|
-
reference_setters :parent_ref, :sales_term_ref, :payment_method_ref, :default_tax_code_ref, :currency_ref
|
64
|
+
reference_setters :parent_ref, :sales_term_ref, :payment_method_ref, :default_tax_code_ref, :currency_ref,
|
65
|
+
:customer_type_ref
|
65
66
|
|
66
67
|
def job?
|
67
68
|
job.to_s == 'true'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Quickbooks
|
2
|
+
module Model
|
3
|
+
class CustomerType < BaseModel
|
4
|
+
XML_COLLECTION_NODE = "CustomerType"
|
5
|
+
XML_NODE = "CustomerType"
|
6
|
+
REST_RESOURCE = 'customertype'
|
7
|
+
|
8
|
+
xml_accessor :id, :from => 'Id'
|
9
|
+
xml_accessor :sync_token, :from => 'SyncToken', :as => Integer
|
10
|
+
xml_accessor :meta_data, :from => 'MetaData', :as => MetaData
|
11
|
+
xml_accessor :name, :from => 'Name'
|
12
|
+
xml_accessor :active?, :from => 'Active'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -10,7 +10,6 @@ module Quickbooks
|
|
10
10
|
XML_COLLECTION_NODE = "Item"
|
11
11
|
XML_NODE = "Item"
|
12
12
|
REST_RESOURCE = 'item'
|
13
|
-
MINORVERSION = 33
|
14
13
|
|
15
14
|
INVENTORY_TYPE = 'Inventory'
|
16
15
|
NON_INVENTORY_TYPE = 'NonInventory'
|
@@ -31,6 +30,7 @@ module Quickbooks
|
|
31
30
|
xml_accessor :level, :from => 'Level', :as => Integer
|
32
31
|
xml_accessor :pref_vendor_ref, :from => 'PrefVendorRef', :as => BaseReference
|
33
32
|
xml_accessor :tax_classification_ref, :from => 'TaxClassificationRef', :as => BaseReference
|
33
|
+
xml_accessor :class_ref, :from => 'ClassRef', :as => BaseReference
|
34
34
|
|
35
35
|
# read-only
|
36
36
|
xml_accessor :fully_qualified_name, :from => 'FullyQualifiedName'
|
@@ -52,13 +52,11 @@ module Quickbooks
|
|
52
52
|
xml_accessor :inv_start_date, :from => 'InvStartDate', :as => Date
|
53
53
|
xml_accessor :custom_fields, :from => "CustomField", as: [CustomField]
|
54
54
|
xml_accessor :print_grouped_items?, :from => 'PrintGroupedItems'
|
55
|
-
|
56
|
-
|
57
55
|
xml_accessor :item_group_details, :from => 'ItemGroupDetail', :as => ItemGroupDetail
|
58
56
|
|
59
57
|
reference_setters :parent_ref, :income_account_ref, :expense_account_ref
|
60
58
|
reference_setters :asset_account_ref, :sales_tax_code_ref, :purchase_tax_code_ref
|
61
|
-
reference_setters :pref_vendor_ref, :tax_classification_ref
|
59
|
+
reference_setters :pref_vendor_ref, :tax_classification_ref, :class_ref
|
62
60
|
|
63
61
|
#== Validations
|
64
62
|
validates_length_of :name, :minimum => 1
|
@@ -38,7 +38,7 @@ module Quickbooks
|
|
38
38
|
value = el.attr('value')
|
39
39
|
|
40
40
|
next nil if value.blank?
|
41
|
-
next value if value.to_s.match(/^\d+$|^\d
|
41
|
+
next value if value.to_s.match(/^\d+$|^\d+\.\d+$|^-\d+|^-\d+\.\d+$|^\.\d+$/).nil?
|
42
42
|
BigDecimal(value)
|
43
43
|
end
|
44
44
|
end
|
@@ -7,11 +7,6 @@ module Quickbooks
|
|
7
7
|
update(account, :sparse => true)
|
8
8
|
end
|
9
9
|
|
10
|
-
def url_for_query(query = nil, start_position = 1, max_results = 20, options = {})
|
11
|
-
url = super(query, start_position, max_results, options)
|
12
|
-
"#{url}&minorversion=#{Quickbooks::Model::Account::MINORVERSION}"
|
13
|
-
end
|
14
|
-
|
15
10
|
private
|
16
11
|
|
17
12
|
def model
|
@@ -9,6 +9,9 @@ module Quickbooks
|
|
9
9
|
attr_reader :base_uri
|
10
10
|
attr_reader :last_response_xml
|
11
11
|
attr_reader :last_response_intuit_tid
|
12
|
+
attr_accessor :before_request
|
13
|
+
attr_accessor :around_request
|
14
|
+
attr_accessor :after_request
|
12
15
|
|
13
16
|
XML_NS = %{xmlns="http://schema.intuit.com/finance/v3"}
|
14
17
|
HTTP_CONTENT_TYPE = 'application/xml'
|
@@ -17,6 +20,8 @@ module Quickbooks
|
|
17
20
|
BASE_DOMAIN = 'quickbooks.api.intuit.com'
|
18
21
|
SANDBOX_DOMAIN = 'sandbox-quickbooks.api.intuit.com'
|
19
22
|
|
23
|
+
RequestInfo = Struct.new(:url, :headers, :body, :method)
|
24
|
+
|
20
25
|
def initialize(attributes = {})
|
21
26
|
domain = Quickbooks.sandbox_mode ? SANDBOX_DOMAIN : BASE_DOMAIN
|
22
27
|
@base_uri = "https://#{domain}/v3/company"
|
@@ -78,7 +83,7 @@ module Quickbooks
|
|
78
83
|
query ||= default_model_query
|
79
84
|
query = "#{query} STARTPOSITION #{start_position} MAXRESULTS #{max_results}"
|
80
85
|
|
81
|
-
"#{url_for_base}/query?query=#{CGI.escape(query)}"
|
86
|
+
"#{url_for_base}/query?query=#{CGI.escape(query)}&minorversion=#{Quickbooks.minorversion}"
|
82
87
|
end
|
83
88
|
|
84
89
|
private
|
@@ -247,17 +252,24 @@ module Quickbooks
|
|
247
252
|
log_request_body(body)
|
248
253
|
log "REQUEST HEADERS = #{headers.inspect}"
|
249
254
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
255
|
+
request_info = RequestInfo.new(url, headers, body, method)
|
256
|
+
before_request.call(request_info) if before_request
|
257
|
+
|
258
|
+
raw_response = with_around_request(request_info) do
|
259
|
+
case method
|
260
|
+
when :get
|
261
|
+
oauth_get(url, headers)
|
262
|
+
when :post
|
263
|
+
oauth_post(url, body, headers)
|
264
|
+
when :upload
|
265
|
+
oauth_post_with_multipart(url, body, headers)
|
266
|
+
else
|
267
|
+
raise "Do not know how to perform that HTTP operation"
|
268
|
+
end
|
259
269
|
end
|
260
270
|
|
271
|
+
after_request.call(request_info, raw_response.body) if after_request
|
272
|
+
|
261
273
|
response = Quickbooks::Service::Responses::OAuthHttpResponse.wrap(raw_response)
|
262
274
|
log "------ QUICKBOOKS-RUBY RESPONSE ------"
|
263
275
|
log "RESPONSE CODE = #{response.code}"
|
@@ -429,6 +441,13 @@ module Quickbooks
|
|
429
441
|
error
|
430
442
|
end
|
431
443
|
|
444
|
+
def with_around_request(request_info, &block)
|
445
|
+
if around_request
|
446
|
+
around_request.call(request_info, &block)
|
447
|
+
else
|
448
|
+
block.call
|
449
|
+
end
|
450
|
+
end
|
432
451
|
end
|
433
452
|
end
|
434
453
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Quickbooks
|
2
|
+
module Service
|
3
|
+
class CustomField < BaseService
|
4
|
+
|
5
|
+
def delete(customer_type)
|
6
|
+
raise Quickbooks::UnsupportedOperation.new('Deleting CustomerType is not supported by Intuit')
|
7
|
+
end
|
8
|
+
|
9
|
+
def create(customer_type)
|
10
|
+
raise Quickbooks::UnsupportedOperation.new('Creating/updating CustomerType is not supported by Intuit')
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def model
|
16
|
+
Quickbooks::Model::CustomField
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -7,21 +7,11 @@ module Quickbooks
|
|
7
7
|
update(customer, :sparse => true)
|
8
8
|
end
|
9
9
|
|
10
|
-
def url_for_resource(resource)
|
11
|
-
url = super(resource)
|
12
|
-
"#{url}?minorversion=#{Quickbooks::Model::Customer::MINORVERSION}"
|
13
|
-
end
|
14
|
-
|
15
10
|
def fetch_by_id(id, params = {})
|
16
|
-
url = "#{url_for_base}/customer/#{id}
|
11
|
+
url = "#{url_for_base}/customer/#{id}"
|
17
12
|
fetch_object(model, url, params)
|
18
13
|
end
|
19
14
|
|
20
|
-
def url_for_query(query = nil, start_position = 1, max_results = 20, options = {})
|
21
|
-
url = super(query, start_position, max_results, options)
|
22
|
-
"#{url}&minorversion=#{Quickbooks::Model::Customer::MINORVERSION}"
|
23
|
-
end
|
24
|
-
|
25
15
|
private
|
26
16
|
|
27
17
|
def model
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Quickbooks
|
2
|
+
module Service
|
3
|
+
class CustomerType < BaseService
|
4
|
+
|
5
|
+
def delete(customer_type)
|
6
|
+
raise Quickbooks::UnsupportedOperation.new('Deleting CustomerType is not supported by Intuit')
|
7
|
+
end
|
8
|
+
|
9
|
+
def create(customer_type)
|
10
|
+
raise Quickbooks::UnsupportedOperation.new('Creating/updating CustomerType is not supported by Intuit')
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def model
|
16
|
+
Quickbooks::Model::CustomerType
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -6,20 +6,11 @@ module Quickbooks
|
|
6
6
|
delete_by_query_string(invoice)
|
7
7
|
end
|
8
8
|
|
9
|
-
def url_for_resource(resource)
|
10
|
-
url = super(resource)
|
11
|
-
end
|
12
|
-
|
13
9
|
def fetch_by_id(id, params = {})
|
14
|
-
url = "#{url_for_base}/invoice/#{id}
|
10
|
+
url = "#{url_for_base}/invoice/#{id}"
|
15
11
|
fetch_object(model, url, params)
|
16
12
|
end
|
17
13
|
|
18
|
-
def url_for_query(query = nil, start_position = 1, max_results = 20, options = {})
|
19
|
-
url = super(query, start_position, max_results, options)
|
20
|
-
"#{url}&minorversion=#{Quickbooks::Model::Invoice::MINORVERSION}"
|
21
|
-
end
|
22
|
-
|
23
14
|
def send(invoice, email_address=nil)
|
24
15
|
query = email_address.present? ? "?sendTo=#{email_address}" : ""
|
25
16
|
url = "#{url_for_resource(model::REST_RESOURCE)}/#{invoice.id}/send#{query}"
|
@@ -7,21 +7,11 @@ module Quickbooks
|
|
7
7
|
update(item, :sparse => true)
|
8
8
|
end
|
9
9
|
|
10
|
-
def url_for_resource(resource)
|
11
|
-
url = super(resource)
|
12
|
-
"#{url}?minorversion=#{Quickbooks::Model::Item::MINORVERSION}"
|
13
|
-
end
|
14
|
-
|
15
10
|
def fetch_by_id(id, params = {})
|
16
|
-
url = "#{url_for_base}/item/#{id}
|
11
|
+
url = "#{url_for_base}/item/#{id}"
|
17
12
|
fetch_object(model, url, params)
|
18
13
|
end
|
19
14
|
|
20
|
-
def url_for_query(query = nil, start_position = 1, max_results = 20, options = {})
|
21
|
-
url = super(query, start_position, max_results, options)
|
22
|
-
"#{url}&minorversion=#{Quickbooks::Model::Item::MINORVERSION}"
|
23
|
-
end
|
24
|
-
|
25
15
|
private
|
26
16
|
|
27
17
|
def model
|
@@ -2,11 +2,6 @@ module Quickbooks
|
|
2
2
|
module Service
|
3
3
|
class Preferences < BaseService
|
4
4
|
|
5
|
-
def url_for_query(query = nil, start_position = 1, max_results = 20, options = {})
|
6
|
-
url = super(query, start_position, max_results, options)
|
7
|
-
"#{url}&minorversion=#{Quickbooks::Model::Preferences::MINORVERSION}"
|
8
|
-
end
|
9
|
-
|
10
5
|
private
|
11
6
|
|
12
7
|
def model
|
@@ -7,7 +7,7 @@ module Quickbooks
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def fetch_by_id(id, params = {})
|
10
|
-
url = "#{url_for_base}/
|
10
|
+
url = "#{url_for_base}/purchaseorder/#{id}?minorversion=#{Quickbooks::Model::PurchaseOrder::MINORVERSION}"
|
11
11
|
fetch_object(model, url, params)
|
12
12
|
end
|
13
13
|
|
@@ -10,26 +10,27 @@ module Quickbooks
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def clause(field, operator, value)
|
13
|
+
# replace with an escaped backslash
|
14
|
+
escape_single_quotes = -> field { field.to_s.gsub("'", "\\\\'") }
|
15
|
+
|
13
16
|
value = case value
|
14
17
|
when DateTime, Time
|
15
18
|
value.iso8601
|
16
19
|
when Date
|
17
20
|
value.strftime('%Y-%m-%d')
|
18
21
|
when Array
|
19
|
-
value = value.map
|
22
|
+
value = value.map(&escape_single_quotes)
|
20
23
|
else
|
21
|
-
|
22
|
-
value = value.gsub("'", "\\\\'")
|
24
|
+
value = escape_single_quotes.call(value)
|
23
25
|
end
|
24
26
|
|
25
27
|
if operator.downcase == 'in' && value.is_a?(Array)
|
26
|
-
value = value.map{|v| "#{VALUE_QUOTE}#{v}#{VALUE_QUOTE}"}
|
28
|
+
value = value.map { |v| "#{VALUE_QUOTE}#{v}#{VALUE_QUOTE}" }
|
27
29
|
"#{field} #{operator} (#{value.join(', ')})"
|
28
30
|
else
|
29
31
|
"#{field} #{operator} #{VALUE_QUOTE}#{value}#{VALUE_QUOTE}"
|
30
32
|
end
|
31
33
|
end
|
32
|
-
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
data/lib/quickbooks/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickbooks-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Caughlan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: roxml
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 4.0
|
33
|
+
version: '4.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 4.0
|
40
|
+
version: '4.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activemodel
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,6 +202,7 @@ files:
|
|
202
202
|
- lib/quickbooks/model/custom_field.rb
|
203
203
|
- lib/quickbooks/model/customer.rb
|
204
204
|
- lib/quickbooks/model/customer_change.rb
|
205
|
+
- lib/quickbooks/model/customer_type.rb
|
205
206
|
- lib/quickbooks/model/definition.rb
|
206
207
|
- lib/quickbooks/model/delivery_info.rb
|
207
208
|
- lib/quickbooks/model/department.rb
|
@@ -293,8 +294,10 @@ files:
|
|
293
294
|
- lib/quickbooks/service/company_info.rb
|
294
295
|
- lib/quickbooks/service/credit_memo.rb
|
295
296
|
- lib/quickbooks/service/credit_memo_change.rb
|
297
|
+
- lib/quickbooks/service/custom_field.rb
|
296
298
|
- lib/quickbooks/service/customer.rb
|
297
299
|
- lib/quickbooks/service/customer_change.rb
|
300
|
+
- lib/quickbooks/service/customer_type.rb
|
298
301
|
- lib/quickbooks/service/department.rb
|
299
302
|
- lib/quickbooks/service/deposit.rb
|
300
303
|
- lib/quickbooks/service/employee.rb
|