paperless_to_xero 1.2.0 → 1.2.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.
- data/Rakefile +0 -28
- data/VERSION +1 -1
- data/lib/paperless_to_xero/invoice_item.rb +1 -0
- data/spec/fixtures/dollars_with_swedish_vat.csv +2 -0
- data/spec/paperless_to_xero/converter_spec.rb +18 -0
- metadata +57 -14
- data/paperless_to_xero.gemspec +0 -91
data/Rakefile
CHANGED
@@ -38,32 +38,4 @@ namespace :spec do
|
|
38
38
|
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
39
39
|
t.spec_files = FileList['spec/**/*_spec.rb']
|
40
40
|
end
|
41
|
-
end
|
42
|
-
|
43
|
-
begin
|
44
|
-
require 'jeweler'
|
45
|
-
Jeweler::Tasks.new do |s|
|
46
|
-
s.name = "paperless_to_xero"
|
47
|
-
s.summary = "Convert Paperless CSV exports to Xero invoice import CSV"
|
48
|
-
s.description = File.read('README.rdoc')
|
49
|
-
s.authors = ["Matt Patterson"]
|
50
|
-
s.email = "matt@reprocessed.org"
|
51
|
-
s.homepage = "http://github.com/fidothe/paperless_to_xero/"
|
52
|
-
|
53
|
-
s.extra_rdoc_files = %w(README.rdoc)
|
54
|
-
s.rdoc_options = %w(--main README.rdoc)
|
55
|
-
|
56
|
-
s.require_paths = ["lib"]
|
57
|
-
|
58
|
-
# If you want to depend on other gems, add them here, along with any
|
59
|
-
# relevant versions
|
60
|
-
|
61
|
-
s.add_development_dependency("rspec") # add any other gems for testing/development
|
62
|
-
|
63
|
-
# If you want to publish automatically to rubyforge, you'll may need
|
64
|
-
# to tweak this, and the publishing task below too.
|
65
|
-
s.rubyforge_project = "paperless_to_xero"
|
66
|
-
end
|
67
|
-
rescue LoadError
|
68
|
-
puts "Jeweler not available. Install it with: sudo gem install jeweler"
|
69
41
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
@@ -14,6 +14,7 @@ module PaperlessToXero
|
|
14
14
|
'7% (Germany, VAT on expenses)' => 1.07.to_d,
|
15
15
|
'19% (Germany, VAT on expenses)' => 1.19.to_d,
|
16
16
|
'25% (Denmark, VAT on expenses)' => 1.25.to_d,
|
17
|
+
'25% (Sweden, VAT on expenses)' => 1.25.to_d,
|
17
18
|
'21.5% (Ireland, VAT on expenses)' => 1.215.to_d,
|
18
19
|
'15% (EU VAT ID)' => 1.15.to_d,
|
19
20
|
'15% (VAT on expenses)' => 1.15.to_d,
|
@@ -0,0 +1,2 @@
|
|
1
|
+
"Date","Merchant","Currency","Amount","Tax","Category","Payment Method","Notes","Description","Reference #","Status"
|
2
|
+
06/06/2010,"Pingdom","£","149.25","29.95","429 - General Expenses","Credit Card","$; VAT - 25% - Sweden","Pingdom site monitoring subscription","2010-06-06-01",
|
@@ -244,6 +244,24 @@ describe PaperlessToXero::Converter do
|
|
244
244
|
end
|
245
245
|
end
|
246
246
|
end
|
247
|
+
|
248
|
+
describe "handling Pingdom's USD invoices with Swedish 25%" do
|
249
|
+
it "correctly applies both currency and VAT" do
|
250
|
+
@converter.stubs(:input_path).returns(fixture_path('dollars_with_swedish_vat'))
|
251
|
+
@converter.parse
|
252
|
+
|
253
|
+
verify_invoice_details(
|
254
|
+
:invoice => {:date => Date.parse('2010-06-06'), :merchant => 'Pingdom',
|
255
|
+
:reference_id => '2010-06-06-01', :inc_vat_total => '149.25', :vat_total => '29.95',
|
256
|
+
:ex_vat_total => '119.30', :currency => 'USD'},
|
257
|
+
:vat_inclusive => true,
|
258
|
+
:line_items => [
|
259
|
+
{:description => 'Pingdom site monitoring subscription', :category => '429', :vat_type => '25% (Sweden, VAT on expenses)',
|
260
|
+
:vat_inclusive_amount => '149.25', :vat_exclusive_amount => '119.30', :vat_amount => '29.95'}
|
261
|
+
]
|
262
|
+
)
|
263
|
+
end
|
264
|
+
end
|
247
265
|
end
|
248
266
|
|
249
267
|
describe "multi-item inputs" do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperless_to_xero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
version: 1.2.
|
9
|
+
- 1
|
10
|
+
version: 1.2.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Matt Patterson
|
@@ -21,14 +22,30 @@ dependencies:
|
|
21
22
|
name: rspec
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
30
33
|
type: :development
|
31
34
|
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: mocha
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id002
|
32
49
|
description: |-
|
33
50
|
= Paperless-to-Xero
|
34
51
|
|
@@ -41,22 +58,29 @@ executables:
|
|
41
58
|
extensions: []
|
42
59
|
|
43
60
|
extra_rdoc_files:
|
61
|
+
- MIT-LICENSE
|
44
62
|
- README.rdoc
|
45
63
|
files:
|
46
|
-
-
|
64
|
+
- VERSION
|
47
65
|
- README.rdoc
|
66
|
+
- MIT-LICENSE
|
48
67
|
- Rakefile
|
49
|
-
- VERSION
|
50
|
-
- bin/paperless_to_xero
|
51
|
-
- lib/paperless_to_xero.rb
|
52
68
|
- lib/paperless_to_xero/converter.rb
|
53
69
|
- lib/paperless_to_xero/decimal_helpers.rb
|
54
70
|
- lib/paperless_to_xero/errors.rb
|
55
71
|
- lib/paperless_to_xero/invoice.rb
|
56
72
|
- lib/paperless_to_xero/invoice_item.rb
|
57
73
|
- lib/paperless_to_xero/version.rb
|
58
|
-
- paperless_to_xero.
|
74
|
+
- lib/paperless_to_xero.rb
|
75
|
+
- bin/paperless_to_xero
|
76
|
+
- spec/spec.opts
|
77
|
+
- spec/paperless_to_xero/converter_spec.rb
|
78
|
+
- spec/paperless_to_xero/errors_spec.rb
|
79
|
+
- spec/paperless_to_xero/invoice_item_spec.rb
|
80
|
+
- spec/paperless_to_xero/invoice_spec.rb
|
81
|
+
- spec/spec_helper.rb
|
59
82
|
- spec/fixtures/dodgy-header.csv
|
83
|
+
- spec/fixtures/dollars_with_swedish_vat.csv
|
60
84
|
- spec/fixtures/end_to_end-input.csv
|
61
85
|
- spec/fixtures/end_to_end-output.csv
|
62
86
|
- spec/fixtures/multi-ex-vat.csv
|
@@ -75,12 +99,6 @@ files:
|
|
75
99
|
- spec/fixtures/single-vat-2010-01-01.csv
|
76
100
|
- spec/fixtures/single-vat-pre-2008-12.csv
|
77
101
|
- spec/fixtures/single-zero_rated.csv
|
78
|
-
- spec/paperless_to_xero/converter_spec.rb
|
79
|
-
- spec/paperless_to_xero/errors_spec.rb
|
80
|
-
- spec/paperless_to_xero/invoice_item_spec.rb
|
81
|
-
- spec/paperless_to_xero/invoice_spec.rb
|
82
|
-
- spec/spec.opts
|
83
|
-
- spec/spec_helper.rb
|
84
102
|
has_rdoc: true
|
85
103
|
homepage: http://github.com/fidothe/paperless_to_xero/
|
86
104
|
licenses: []
|
@@ -92,29 +110,54 @@ rdoc_options:
|
|
92
110
|
require_paths:
|
93
111
|
- lib
|
94
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
95
114
|
requirements:
|
96
115
|
- - ">="
|
97
116
|
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
98
118
|
segments:
|
99
119
|
- 0
|
100
120
|
version: "0"
|
101
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
102
123
|
requirements:
|
103
124
|
- - ">="
|
104
125
|
- !ruby/object:Gem::Version
|
126
|
+
hash: 3
|
105
127
|
segments:
|
106
128
|
- 0
|
107
129
|
version: "0"
|
108
130
|
requirements: []
|
109
131
|
|
110
132
|
rubyforge_project: paperless_to_xero
|
111
|
-
rubygems_version: 1.3.
|
133
|
+
rubygems_version: 1.3.7
|
112
134
|
signing_key:
|
113
135
|
specification_version: 3
|
114
136
|
summary: Convert Paperless CSV exports to Xero invoice import CSV
|
115
137
|
test_files:
|
138
|
+
- spec/spec.opts
|
116
139
|
- spec/paperless_to_xero/converter_spec.rb
|
117
140
|
- spec/paperless_to_xero/errors_spec.rb
|
118
141
|
- spec/paperless_to_xero/invoice_item_spec.rb
|
119
142
|
- spec/paperless_to_xero/invoice_spec.rb
|
120
143
|
- spec/spec_helper.rb
|
144
|
+
- spec/fixtures/dodgy-header.csv
|
145
|
+
- spec/fixtures/dollars_with_swedish_vat.csv
|
146
|
+
- spec/fixtures/end_to_end-input.csv
|
147
|
+
- spec/fixtures/end_to_end-output.csv
|
148
|
+
- spec/fixtures/multi-ex-vat.csv
|
149
|
+
- spec/fixtures/multi-foreign.csv
|
150
|
+
- spec/fixtures/multi-item-mixed_vat_and_exempt.csv
|
151
|
+
- spec/fixtures/multi-item.csv
|
152
|
+
- spec/fixtures/single-1000.csv
|
153
|
+
- spec/fixtures/single-basic.csv
|
154
|
+
- spec/fixtures/single-dkk.csv
|
155
|
+
- spec/fixtures/single-foreign.csv
|
156
|
+
- spec/fixtures/single-no-vat.csv
|
157
|
+
- spec/fixtures/single-vat-2008-11-30.csv
|
158
|
+
- spec/fixtures/single-vat-2008-12-01.csv
|
159
|
+
- spec/fixtures/single-vat-2009-12-31.csv
|
160
|
+
- spec/fixtures/single-vat-2009.csv
|
161
|
+
- spec/fixtures/single-vat-2010-01-01.csv
|
162
|
+
- spec/fixtures/single-vat-pre-2008-12.csv
|
163
|
+
- spec/fixtures/single-zero_rated.csv
|
data/paperless_to_xero.gemspec
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{paperless_to_xero}
|
8
|
-
s.version = "1.2.0"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Matt Patterson"]
|
12
|
-
s.date = %q{2010-02-27}
|
13
|
-
s.default_executable = %q{paperless_to_xero}
|
14
|
-
s.description = %q{= Paperless-to-Xero
|
15
|
-
|
16
|
-
A simple translator which takes a CSV file from Mariner's Paperless receipt/document management software and makes a Xero accounts payable invoice CSV, for import into Xero.
|
17
|
-
|
18
|
-
Formatting in Paperless is very important, so you probably want to wait until I've written the docs}
|
19
|
-
s.email = %q{matt@reprocessed.org}
|
20
|
-
s.executables = ["paperless_to_xero"]
|
21
|
-
s.extra_rdoc_files = [
|
22
|
-
"README.rdoc"
|
23
|
-
]
|
24
|
-
s.files = [
|
25
|
-
"MIT-LICENSE",
|
26
|
-
"README.rdoc",
|
27
|
-
"Rakefile",
|
28
|
-
"VERSION",
|
29
|
-
"bin/paperless_to_xero",
|
30
|
-
"lib/paperless_to_xero.rb",
|
31
|
-
"lib/paperless_to_xero/converter.rb",
|
32
|
-
"lib/paperless_to_xero/decimal_helpers.rb",
|
33
|
-
"lib/paperless_to_xero/errors.rb",
|
34
|
-
"lib/paperless_to_xero/invoice.rb",
|
35
|
-
"lib/paperless_to_xero/invoice_item.rb",
|
36
|
-
"lib/paperless_to_xero/version.rb",
|
37
|
-
"paperless_to_xero.gemspec",
|
38
|
-
"spec/fixtures/dodgy-header.csv",
|
39
|
-
"spec/fixtures/end_to_end-input.csv",
|
40
|
-
"spec/fixtures/end_to_end-output.csv",
|
41
|
-
"spec/fixtures/multi-ex-vat.csv",
|
42
|
-
"spec/fixtures/multi-foreign.csv",
|
43
|
-
"spec/fixtures/multi-item-mixed_vat_and_exempt.csv",
|
44
|
-
"spec/fixtures/multi-item.csv",
|
45
|
-
"spec/fixtures/single-1000.csv",
|
46
|
-
"spec/fixtures/single-basic.csv",
|
47
|
-
"spec/fixtures/single-dkk.csv",
|
48
|
-
"spec/fixtures/single-foreign.csv",
|
49
|
-
"spec/fixtures/single-no-vat.csv",
|
50
|
-
"spec/fixtures/single-vat-2008-11-30.csv",
|
51
|
-
"spec/fixtures/single-vat-2008-12-01.csv",
|
52
|
-
"spec/fixtures/single-vat-2009-12-31.csv",
|
53
|
-
"spec/fixtures/single-vat-2009.csv",
|
54
|
-
"spec/fixtures/single-vat-2010-01-01.csv",
|
55
|
-
"spec/fixtures/single-vat-pre-2008-12.csv",
|
56
|
-
"spec/fixtures/single-zero_rated.csv",
|
57
|
-
"spec/paperless_to_xero/converter_spec.rb",
|
58
|
-
"spec/paperless_to_xero/errors_spec.rb",
|
59
|
-
"spec/paperless_to_xero/invoice_item_spec.rb",
|
60
|
-
"spec/paperless_to_xero/invoice_spec.rb",
|
61
|
-
"spec/spec.opts",
|
62
|
-
"spec/spec_helper.rb"
|
63
|
-
]
|
64
|
-
s.homepage = %q{http://github.com/fidothe/paperless_to_xero/}
|
65
|
-
s.rdoc_options = ["--main", "README.rdoc"]
|
66
|
-
s.require_paths = ["lib"]
|
67
|
-
s.rubyforge_project = %q{paperless_to_xero}
|
68
|
-
s.rubygems_version = %q{1.3.6}
|
69
|
-
s.summary = %q{Convert Paperless CSV exports to Xero invoice import CSV}
|
70
|
-
s.test_files = [
|
71
|
-
"spec/paperless_to_xero/converter_spec.rb",
|
72
|
-
"spec/paperless_to_xero/errors_spec.rb",
|
73
|
-
"spec/paperless_to_xero/invoice_item_spec.rb",
|
74
|
-
"spec/paperless_to_xero/invoice_spec.rb",
|
75
|
-
"spec/spec_helper.rb"
|
76
|
-
]
|
77
|
-
|
78
|
-
if s.respond_to? :specification_version then
|
79
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
80
|
-
s.specification_version = 3
|
81
|
-
|
82
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
83
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
84
|
-
else
|
85
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
86
|
-
end
|
87
|
-
else
|
88
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|