solidus_avatax 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +1 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +15 -0
  6. data/LICENSE +26 -0
  7. data/README.md +71 -0
  8. data/Rakefile +21 -0
  9. data/app/assets/javascripts/spree/frontend/solidus_avatax.js +1 -0
  10. data/app/assets/stylesheets/spree/frontend/solidus_avatax.css +1 -0
  11. data/app/models/spree/adjustment_decorator.rb +21 -0
  12. data/app/models/spree/order_contents_decorator.rb +26 -0
  13. data/app/models/spree/order_decorator.rb +43 -0
  14. data/app/models/spree/promotion_handler/coupon_decorator.rb +11 -0
  15. data/app/models/spree/reimbursement_decorator.rb +1 -0
  16. data/app/models/spree/tax_rate_decorator.rb +45 -0
  17. data/app/models/spree_avatax/calculator.rb +26 -0
  18. data/app/models/spree_avatax/return_invoice.rb +197 -0
  19. data/app/models/spree_avatax/sales_invoice.rb +157 -0
  20. data/app/models/spree_avatax/sales_shared.rb +211 -0
  21. data/app/models/spree_avatax/shared.rb +53 -0
  22. data/app/models/spree_avatax/short_ship_return_invoice.rb +133 -0
  23. data/app/models/spree_avatax/short_ship_return_invoice_inventory_unit.rb +11 -0
  24. data/bin/rails +7 -0
  25. data/circle.yml +6 -0
  26. data/config/locales/en.yml +5 -0
  27. data/db/migrate/20140122165618_add_avatax_response_at_to_orders.rb +5 -0
  28. data/db/migrate/20140214153139_add_avatax_invoice_at_to_orders.rb +5 -0
  29. data/db/migrate/20140617222244_close_all_tax_adjustments.rb +5 -0
  30. data/db/migrate/20140701144237_update_avatax_calculator_type.rb +17 -0
  31. data/db/migrate/20140801132302_create_spree_avatax_return_invoices.rb +19 -0
  32. data/db/migrate/20140903135132_create_spree_avatax_sales_orders.rb +15 -0
  33. data/db/migrate/20140903135357_create_spree_avatax_sales_invoices.rb +19 -0
  34. data/db/migrate/20140904171341_generate_uncommitted_sales_invoices.rb +31 -0
  35. data/db/migrate/20140911214414_add_transaction_id_to_sales_orders_and_sales_invoices.rb +6 -0
  36. data/db/migrate/20140911215422_add_canceled_at_and_cancel_transaction_id_to_sales_invoices.rb +6 -0
  37. data/db/migrate/20150427154942_create_spree_avatax_short_ship_return_invoices.rb +44 -0
  38. data/db/migrate/20150518172627_fix_avatax_short_ship_index.rb +30 -0
  39. data/lib/generators/solidus_avatax/install/install_generator.rb +31 -0
  40. data/lib/generators/solidus_avatax/install/templates/config/initializers/avatax.rb +18 -0
  41. data/lib/solidus_avatax.rb +4 -0
  42. data/lib/spree_avatax/config.rb +16 -0
  43. data/lib/spree_avatax/engine.rb +29 -0
  44. data/lib/spree_avatax/factories.rb +25 -0
  45. data/lib/tasks/commit_backfill.rake +119 -0
  46. data/lib/tasks/sales_invoice_backfill.rake +43 -0
  47. data/solidus_avatax.gemspec +34 -0
  48. data/spec/features/store_credits_spec.rb +92 -0
  49. data/spec/features/tax_calculation_spec.rb +75 -0
  50. data/spec/fixtures/vcr_cassettes/sales_invoice_gettax_with_discounts.yml +136 -0
  51. data/spec/fixtures/vcr_cassettes/sales_invoice_gettax_without_discounts.yml +136 -0
  52. data/spec/fixtures/vcr_cassettes/taxes_with_store_credits.yml +113 -0
  53. data/spec/models/spree/adjustment_spec.rb +23 -0
  54. data/spec/models/spree/order_contents_spec.rb +35 -0
  55. data/spec/models/spree/order_spec.rb +111 -0
  56. data/spec/models/spree/shipping_rate_spec.rb +23 -0
  57. data/spec/models/spree/tax_rate_spec.rb +40 -0
  58. data/spec/models/spree_avatax/calculator.rb +20 -0
  59. data/spec/models/spree_avatax/return_invoice_spec.rb +193 -0
  60. data/spec/models/spree_avatax/sales_invoice_spec.rb +491 -0
  61. data/spec/models/spree_avatax/sales_shared_spec.rb +47 -0
  62. data/spec/models/spree_avatax/shared_spec.rb +89 -0
  63. data/spec/models/spree_avatax/short_ship_return_invoice_spec.rb +181 -0
  64. data/spec/spec_helper.rb +85 -0
  65. data/spec/support/return_invoice_soap_responses.rb +117 -0
  66. data/spec/support/sales_invoice_soap_responses.rb +259 -0
  67. data/spec/support/short_ship_return_invoice_soap_responses.rb +178 -0
  68. data/spec/support/zone_support.rb +6 -0
  69. metadata +320 -0
@@ -0,0 +1,259 @@
1
+ module SalesInvoiceSoapResponses
2
+ def sales_invoice_gettax_response(doc_code, line_item, shipment, time = Time.now)
3
+ {
4
+ transaction_id: "4314427373575624",
5
+ result_code: "Success",
6
+ doc_id: "56879220",
7
+ doc_type: "SalesInvoice",
8
+ doc_code: doc_code,
9
+ doc_date: time.to_date,
10
+ doc_status: "Saved",
11
+ reconciled: false,
12
+ timestamp: time,
13
+ total_amount: "110",
14
+ total_discount: "0",
15
+ total_exemption: "0",
16
+ total_taxable: "110",
17
+ total_tax: "9.77",
18
+ total_tax_calculated: "9.77",
19
+ hash_code: "0",
20
+ tax_lines: {
21
+ tax_line: [
22
+ {
23
+ no: SpreeAvatax::SalesShared.avatax_id(line_item),
24
+ tax_code: "P0000000",
25
+ taxability: true,
26
+ boundary_level: "Zip5",
27
+ exemption: "0",
28
+ discount: "0",
29
+ taxable: "10",
30
+ rate: "0.088750",
31
+ tax: "0.89",
32
+ tax_calculated: "0.89",
33
+ tax_included: false,
34
+ tax_details: {
35
+ tax_detail: [
36
+ {
37
+ country: "US",
38
+ region: "NY",
39
+ juris_type: "State",
40
+ juris_code: "36",
41
+ tax_type: "Sales",
42
+ base: "10",
43
+ taxable: "10",
44
+ rate: "0.040000",
45
+ tax: "0.4",
46
+ tax_calculated: "0.4",
47
+ non_taxable: "0",
48
+ exemption: "0",
49
+ juris_name: "NEW YORK",
50
+ tax_name: "NY STATE TAX",
51
+ tax_authority_type: "45",
52
+ tax_group: nil,
53
+ rate_type: "G",
54
+ state_assigned_no: nil
55
+ },
56
+ {
57
+ country: "US",
58
+ region: "NY",
59
+ juris_type: "City",
60
+ juris_code: "51000",
61
+ tax_type: "Sales",
62
+ base: "10",
63
+ taxable: "10",
64
+ rate: "0.045000",
65
+ tax: "0.45",
66
+ tax_calculated: "0.45",
67
+ non_taxable: "0",
68
+ exemption: "0",
69
+ juris_name: "NEW YORK CITY",
70
+ tax_name: "NY CITY TAX",
71
+ tax_authority_type: "45",
72
+ tax_group: nil,
73
+ rate_type: "G",
74
+ state_assigned_no: "NE 8081"
75
+ },
76
+ {
77
+ country: "US",
78
+ region: "NY",
79
+ juris_type: "Special",
80
+ juris_code: "359071",
81
+ tax_type: "Sales",
82
+ base: "10",
83
+ taxable: "10",
84
+ rate: "0.003750",
85
+ tax: "0.04",
86
+ tax_calculated: "0.04",
87
+ non_taxable: "0",
88
+ exemption: "0",
89
+ juris_name: "METROPOLITAN COMMUTER TRANSPORTATION DISTRICT",
90
+ tax_name: "NY SPECIAL TAX",
91
+ tax_authority_type: "45",
92
+ tax_group: nil,
93
+ rate_type: "G",
94
+ state_assigned_no: "NE 8061"
95
+ }
96
+ ]
97
+ },
98
+ exempt_cert_id: "0",
99
+ tax_date: time.to_date,
100
+ reporting_date: time.to_date,
101
+ accounting_method: "Accrual"
102
+ },
103
+ {
104
+ no: SpreeAvatax::SalesShared.avatax_id(shipment),
105
+ tax_code: "FR020100",
106
+ taxability: true,
107
+ boundary_level: "Zip5",
108
+ exemption: "0",
109
+ discount: "0",
110
+ taxable: "100",
111
+ rate: "0.088750",
112
+ tax: "8.88",
113
+ tax_calculated: "8.88",
114
+ tax_included: false,
115
+ tax_details: {
116
+ tax_detail: [
117
+ {
118
+ country: "US",
119
+ region: "NY",
120
+ juris_type: "State",
121
+ juris_code: "36",
122
+ tax_type: "Sales",
123
+ base: "100",
124
+ taxable: "100",
125
+ rate: "0.040000",
126
+ tax: "4",
127
+ tax_calculated: "4",
128
+ non_taxable: "0",
129
+ exemption: "0",
130
+ juris_name: "NEW YORK",
131
+ tax_name: "NY STATE TAX",
132
+ tax_authority_type: "45",
133
+ tax_group: nil,
134
+ rate_type: "G",
135
+ state_assigned_no: nil
136
+ },
137
+ {
138
+ country: "US",
139
+ region: "NY",
140
+ juris_type: "City",
141
+ juris_code: "51000",
142
+ tax_type: "Sales",
143
+ base: "100",
144
+ taxable: "100",
145
+ rate: "0.045000",
146
+ tax: "4.5",
147
+ tax_calculated: "4.5",
148
+ non_taxable: "0",
149
+ exemption: "0",
150
+ juris_name: "NEW YORK CITY",
151
+ tax_name: "NY CITY TAX",
152
+ tax_authority_type: "45",
153
+ tax_group: nil,
154
+ rate_type: "G",
155
+ state_assigned_no: "NE 8081"
156
+ },
157
+ {
158
+ country: "US",
159
+ region: "NY",
160
+ juris_type: "Special",
161
+ juris_code: "359071",
162
+ tax_type: "Sales",
163
+ base: "100",
164
+ taxable: "100",
165
+ rate: "0.003750",
166
+ tax: "0.38",
167
+ tax_calculated: "0.38",
168
+ non_taxable: "0",
169
+ exemption: "0",
170
+ juris_name: "METROPOLITAN COMMUTER TRANSPORTATION DISTRICT",
171
+ tax_name: "NY SPECIAL TAX",
172
+ tax_authority_type: "45",
173
+ tax_group: nil,
174
+ rate_type: "G",
175
+ state_assigned_no: "NE 8061"
176
+ }
177
+ ]
178
+ },
179
+ exempt_cert_id: "0",
180
+ tax_date: time.to_date,
181
+ reporting_date: time.to_date,
182
+ accounting_method: "Accrual"
183
+ }
184
+ ]
185
+ },
186
+ tax_addresses: {
187
+ tax_address: {
188
+ address: "1234 Way",
189
+ address_code: "1",
190
+ boundary_level: "2",
191
+ city: "New York",
192
+ country: "US",
193
+ postal_code: "10010",
194
+ region: "NY",
195
+ tax_region_id: "2088629",
196
+ juris_code: "3600051000",
197
+ latitude: nil,
198
+ longitude: nil,
199
+ geocode_type: "ZIP5Centroid",
200
+ validate_status: "HouseNotOnStreet",
201
+ distance_to_boundary: "0"
202
+ }
203
+ },
204
+ locked: false,
205
+ adjustment_reason: "0",
206
+ adjustment_description: nil,
207
+ version: "1",
208
+ tax_date: time.to_date,
209
+ tax_summary: nil,
210
+ volatile_tax_rates: false,
211
+ messages: [
212
+ {
213
+ summary: nil,
214
+ details: nil,
215
+ helplink: nil,
216
+ refersto: nil,
217
+ severity: nil,
218
+ source: nil
219
+ }
220
+ ]
221
+ }
222
+ end
223
+
224
+ def sales_invoice_posttax_response
225
+ {
226
+ transaction_id: "4314427475194657",
227
+ result_code: "Success",
228
+ doc_id: "56879220",
229
+ messages:[
230
+ {
231
+ summary: nil,
232
+ details: nil,
233
+ helplink: nil,
234
+ refersto: nil,
235
+ severity: nil,
236
+ source: nil,
237
+ },
238
+ ],
239
+ }
240
+ end
241
+
242
+ def sales_invoice_canceltax_response
243
+ {
244
+ transaction_id: "4321919394664864",
245
+ result_code: "Success",
246
+ doc_id: "57305344",
247
+ messages: [
248
+ {
249
+ summary: nil,
250
+ details: nil,
251
+ helplink: nil,
252
+ refersto: nil,
253
+ severity: nil,
254
+ source: nil,
255
+ },
256
+ ],
257
+ }
258
+ end
259
+ end
@@ -0,0 +1,178 @@
1
+ module ShortShipReturnInvoiceSoapResponses
2
+ def short_ship_return_invoice_gettax_response(doc_code: 'asdf')
3
+ {
4
+ transaction_id: "4533642402940720",
5
+ result_code: "Success",
6
+ doc_id: "85696863",
7
+ doc_type: "ReturnInvoice",
8
+ doc_code: doc_code,
9
+ doc_date: "2015-05-15",
10
+ doc_status: "Committed",
11
+ reconciled: false,
12
+ timestamp: "2015-05-15T13:30:40+00:00",
13
+ total_amount: "0",
14
+ total_discount: "0",
15
+ total_exemption: "0",
16
+ total_taxable: "0",
17
+ total_tax: "0",
18
+ total_tax_calculated: "0",
19
+ hash_code: "0",
20
+ tax_lines: {
21
+ tax_line: {
22
+ no: "3478149",
23
+ tax_code: "PC040144",
24
+ taxability: true,
25
+ boundary_level: "Address",
26
+ exemption: "0",
27
+ discount: "0",
28
+ taxable: "0",
29
+ rate: "0.066000",
30
+ tax: "0",
31
+ tax_calculated: "0",
32
+ tax_included: false,
33
+ tax_details: {
34
+ tax_detail: [
35
+ {
36
+ country: "US",
37
+ region: "UT",
38
+ juris_type: "State",
39
+ juris_code: "49",
40
+ tax_type: "Sales",
41
+ base: "0",
42
+ taxable: "0",
43
+ rate: "0.047000",
44
+ tax: "0",
45
+ tax_calculated: "0",
46
+ non_taxable: "0",
47
+ exemption: "0",
48
+ juris_name: "UTAH",
49
+ tax_name: "UT STATE TAX",
50
+ tax_authority_type: "45",
51
+ tax_group: nil,
52
+ rate_type: "G",
53
+ state_assigned_no: nil,
54
+ },
55
+ {
56
+ country: "US",
57
+ region: "UT",
58
+ juris_type: "County",
59
+ juris_code: "005",
60
+ tax_type: "Sales",
61
+ base: "0",
62
+ taxable: "0",
63
+ rate: "0.001000",
64
+ tax: "0",
65
+ tax_calculated: "0",
66
+ non_taxable: "0",
67
+ exemption: "0",
68
+ juris_name: "CACHE",
69
+ tax_name: "UT COUNTY TAX",
70
+ tax_authority_type: "45",
71
+ tax_group: nil,
72
+ rate_type: "G",
73
+ state_assigned_no: "03-038"},
74
+ {
75
+ country: "US",
76
+ region: "UT",
77
+ juris_type: "City",
78
+ juris_code: "45860",
79
+ tax_type: "Sales",
80
+ base: "0",
81
+ taxable: "0",
82
+ rate: "0.010000",
83
+ tax: "0",
84
+ tax_calculated: "0",
85
+ non_taxable: "0",
86
+ exemption: "0",
87
+ juris_name: "LOGAN",
88
+ tax_name: "UT CITY TAX",
89
+ tax_authority_type: "45",
90
+ tax_group: nil,
91
+ rate_type: "G",
92
+ state_assigned_no: "03-038",
93
+ },
94
+ {
95
+ country: "US",
96
+ region: "UT",
97
+ juris_type: "Special",
98
+ juris_code: "BTNM",
99
+ tax_type: "Sales",
100
+ base: "0",
101
+ taxable: "0",
102
+ rate: "0.002500",
103
+ tax: "0",
104
+ tax_calculated: "0",
105
+ non_taxable: "0",
106
+ exemption: "0",
107
+ juris_name: "CACHE CO TR",
108
+ tax_name: "UT SPECIAL TAX",
109
+ tax_authority_type: "45",
110
+ tax_group: nil,
111
+ rate_type: "G",
112
+ state_assigned_no: "03-038"},
113
+ {
114
+ country: "US",
115
+ region: "UT",
116
+ juris_type: "Special",
117
+ juris_code: "DTTR",
118
+ tax_type: "Sales",
119
+ base: "0",
120
+ taxable: "0",
121
+ rate: "0.005500",
122
+ tax: "0",
123
+ tax_calculated: "0",
124
+ non_taxable: "0",
125
+ exemption: "0",
126
+ juris_name: "LOGAN TR SP",
127
+ tax_name: "UT SPECIAL TAX",
128
+ tax_authority_type: "45",
129
+ tax_group: nil,
130
+ rate_type: "G",
131
+ state_assigned_no: "03-038",
132
+ }
133
+ ]
134
+ },
135
+ exempt_cert_id: "0",
136
+ tax_date: "2015-05-14",
137
+ reporting_date: "2015-05-15",
138
+ accounting_method: "Accrual",
139
+ },
140
+ },
141
+ tax_addresses: {
142
+ tax_address: {
143
+ address: "1362 N 1720 E",
144
+ address_code: "1",
145
+ boundary_level: "0",
146
+ city: "Logan",
147
+ country: "US",
148
+ postal_code: "84341",
149
+ region: "UT",
150
+ tax_region_id: "2106677",
151
+ juris_code: "4900545860",
152
+ latitude: nil,
153
+ longitude: nil,
154
+ geocode_type: "StreetLevel",
155
+ validate_status: "NormalHit",
156
+ distance_to_boundary: "0",
157
+ },
158
+ },
159
+ locked: false,
160
+ adjustment_reason: "0",
161
+ adjustment_description: nil,
162
+ version: "1",
163
+ tax_date: "2015-05-15",
164
+ tax_summary: nil,
165
+ volatile_tax_rates: false,
166
+ messages: [
167
+ {
168
+ summary: nil,
169
+ details: nil,
170
+ helplink: nil,
171
+ refersto: nil,
172
+ severity: nil,
173
+ source: nil,
174
+ },
175
+ ],
176
+ }
177
+ end
178
+ end
@@ -0,0 +1,6 @@
1
+ module ZoneSupport
2
+ def self.global_zone
3
+ # seem to be netting zones in the db somehow and there is a uniqueness constraint
4
+ Spree::Zone.find_by_name("GlobalZone") || FactoryGirl.create(:global_zone)
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,320 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: solidus_avatax
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Solidus Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-08-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: solidus_core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.1.0.pre
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.0.pre
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2'
33
+ - !ruby/object:Gem::Dependency
34
+ name: hashie
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 2.l.5
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 2.l.5
47
+ - !ruby/object:Gem::Dependency
48
+ name: multi_json
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: Avatax_TaxService
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 2.0.0
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 2.0.0
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.2'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.2'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: sqlite3
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: sass-rails
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: coffee-rails
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: factory_girl
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '4.2'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '4.2'
159
+ - !ruby/object:Gem::Dependency
160
+ name: capybara
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.1'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '2.1'
173
+ - !ruby/object:Gem::Dependency
174
+ name: database_cleaner
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: ffaker
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ description: Solidus extension to retrieve tax rates via Avalara's SOAP API.
202
+ email: contact@solidus.io
203
+ executables: []
204
+ extensions: []
205
+ extra_rdoc_files: []
206
+ files:
207
+ - ".gitignore"
208
+ - ".rspec"
209
+ - ".ruby-version"
210
+ - Gemfile
211
+ - LICENSE
212
+ - README.md
213
+ - Rakefile
214
+ - app/assets/javascripts/spree/frontend/solidus_avatax.js
215
+ - app/assets/stylesheets/spree/frontend/solidus_avatax.css
216
+ - app/models/spree/adjustment_decorator.rb
217
+ - app/models/spree/order_contents_decorator.rb
218
+ - app/models/spree/order_decorator.rb
219
+ - app/models/spree/promotion_handler/coupon_decorator.rb
220
+ - app/models/spree/reimbursement_decorator.rb
221
+ - app/models/spree/tax_rate_decorator.rb
222
+ - app/models/spree_avatax/calculator.rb
223
+ - app/models/spree_avatax/return_invoice.rb
224
+ - app/models/spree_avatax/sales_invoice.rb
225
+ - app/models/spree_avatax/sales_shared.rb
226
+ - app/models/spree_avatax/shared.rb
227
+ - app/models/spree_avatax/short_ship_return_invoice.rb
228
+ - app/models/spree_avatax/short_ship_return_invoice_inventory_unit.rb
229
+ - bin/rails
230
+ - circle.yml
231
+ - config/locales/en.yml
232
+ - db/migrate/20140122165618_add_avatax_response_at_to_orders.rb
233
+ - db/migrate/20140214153139_add_avatax_invoice_at_to_orders.rb
234
+ - db/migrate/20140617222244_close_all_tax_adjustments.rb
235
+ - db/migrate/20140701144237_update_avatax_calculator_type.rb
236
+ - db/migrate/20140801132302_create_spree_avatax_return_invoices.rb
237
+ - db/migrate/20140903135132_create_spree_avatax_sales_orders.rb
238
+ - db/migrate/20140903135357_create_spree_avatax_sales_invoices.rb
239
+ - db/migrate/20140904171341_generate_uncommitted_sales_invoices.rb
240
+ - db/migrate/20140911214414_add_transaction_id_to_sales_orders_and_sales_invoices.rb
241
+ - db/migrate/20140911215422_add_canceled_at_and_cancel_transaction_id_to_sales_invoices.rb
242
+ - db/migrate/20150427154942_create_spree_avatax_short_ship_return_invoices.rb
243
+ - db/migrate/20150518172627_fix_avatax_short_ship_index.rb
244
+ - lib/generators/solidus_avatax/install/install_generator.rb
245
+ - lib/generators/solidus_avatax/install/templates/config/initializers/avatax.rb
246
+ - lib/solidus_avatax.rb
247
+ - lib/spree_avatax/config.rb
248
+ - lib/spree_avatax/engine.rb
249
+ - lib/spree_avatax/factories.rb
250
+ - lib/tasks/commit_backfill.rake
251
+ - lib/tasks/sales_invoice_backfill.rake
252
+ - solidus_avatax.gemspec
253
+ - spec/features/store_credits_spec.rb
254
+ - spec/features/tax_calculation_spec.rb
255
+ - spec/fixtures/vcr_cassettes/sales_invoice_gettax_with_discounts.yml
256
+ - spec/fixtures/vcr_cassettes/sales_invoice_gettax_without_discounts.yml
257
+ - spec/fixtures/vcr_cassettes/taxes_with_store_credits.yml
258
+ - spec/models/spree/adjustment_spec.rb
259
+ - spec/models/spree/order_contents_spec.rb
260
+ - spec/models/spree/order_spec.rb
261
+ - spec/models/spree/shipping_rate_spec.rb
262
+ - spec/models/spree/tax_rate_spec.rb
263
+ - spec/models/spree_avatax/calculator.rb
264
+ - spec/models/spree_avatax/return_invoice_spec.rb
265
+ - spec/models/spree_avatax/sales_invoice_spec.rb
266
+ - spec/models/spree_avatax/sales_shared_spec.rb
267
+ - spec/models/spree_avatax/shared_spec.rb
268
+ - spec/models/spree_avatax/short_ship_return_invoice_spec.rb
269
+ - spec/spec_helper.rb
270
+ - spec/support/return_invoice_soap_responses.rb
271
+ - spec/support/sales_invoice_soap_responses.rb
272
+ - spec/support/short_ship_return_invoice_soap_responses.rb
273
+ - spec/support/zone_support.rb
274
+ homepage: https://solidus.io
275
+ licenses:
276
+ - BSD-3
277
+ metadata: {}
278
+ post_install_message:
279
+ rdoc_options: []
280
+ require_paths:
281
+ - lib
282
+ required_ruby_version: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '2.1'
287
+ required_rubygems_version: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ requirements:
293
+ - none
294
+ rubyforge_project:
295
+ rubygems_version: 2.2.3
296
+ signing_key:
297
+ specification_version: 4
298
+ summary: Avatax extension for Solidus
299
+ test_files:
300
+ - spec/features/store_credits_spec.rb
301
+ - spec/features/tax_calculation_spec.rb
302
+ - spec/fixtures/vcr_cassettes/sales_invoice_gettax_with_discounts.yml
303
+ - spec/fixtures/vcr_cassettes/sales_invoice_gettax_without_discounts.yml
304
+ - spec/fixtures/vcr_cassettes/taxes_with_store_credits.yml
305
+ - spec/models/spree/adjustment_spec.rb
306
+ - spec/models/spree/order_contents_spec.rb
307
+ - spec/models/spree/order_spec.rb
308
+ - spec/models/spree/shipping_rate_spec.rb
309
+ - spec/models/spree/tax_rate_spec.rb
310
+ - spec/models/spree_avatax/calculator.rb
311
+ - spec/models/spree_avatax/return_invoice_spec.rb
312
+ - spec/models/spree_avatax/sales_invoice_spec.rb
313
+ - spec/models/spree_avatax/sales_shared_spec.rb
314
+ - spec/models/spree_avatax/shared_spec.rb
315
+ - spec/models/spree_avatax/short_ship_return_invoice_spec.rb
316
+ - spec/spec_helper.rb
317
+ - spec/support/return_invoice_soap_responses.rb
318
+ - spec/support/sales_invoice_soap_responses.rb
319
+ - spec/support/short_ship_return_invoice_soap_responses.rb
320
+ - spec/support/zone_support.rb