polish_invoicer 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/doc/invoice.rb +4 -3
- data/lib/polish_invoicer/invoice.rb +2 -0
- data/lib/polish_invoicer/validator.rb +3 -0
- data/lib/polish_invoicer/version.rb +1 -1
- data/tpl/invoice-en.slim +30 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52d3a43a6d0c5c147dbd4eeb8e8cb5049b963c69
|
4
|
+
data.tar.gz: 856cc3a64bef075bcc9b81cea182799e8df3c3fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d243cb095fc4c73ba77c9fefc60db15ea018605927abcaa1e94845e03892bbf4f9de604556c2109a88254507ff9c4ed8861415756a7ff2d7b7fab491b12e076d
|
7
|
+
data.tar.gz: e5323c89595f6b96f052eab0b0f4990e63b1ad63f48103012db9df4be8ccc71392fb1215359aafdc0b9fb102ae12c2ea517306db33cd43b7facdce41a2e4e681
|
data/README.md
CHANGED
@@ -96,6 +96,8 @@ invoice.save_to_pdf('/path/to/invoice.pdf')
|
|
96
96
|
# wartość domyślna: 'Przelew'
|
97
97
|
:foreign_buyer, # nabywcą jest firma spoza Polski
|
98
98
|
# wartość domyślna: false (boolean)
|
99
|
+
:reverse_charge # faktura z odwrotnym obciążeniem VAT
|
100
|
+
# wartość domyślna: false (boolean)
|
99
101
|
|
100
102
|
### Parametry dodatkowe
|
101
103
|
|
data/doc/invoice.rb
CHANGED
@@ -13,12 +13,13 @@ invoice = PolishInvoicer::Invoice.new(
|
|
13
13
|
'10-043 Olsztyn'],
|
14
14
|
buyer_nip: '987-654-32-10', # NIP nabywcy
|
15
15
|
item_name: 'Usługi programistyczne', # nazwa usługi
|
16
|
-
price:
|
16
|
+
price: 100, # cena (domyślnie brutto)
|
17
17
|
payment_date: Date.today + 14, # data płatności
|
18
|
-
|
18
|
+
gross_price: false,
|
19
19
|
# proforma: true,
|
20
20
|
# paid: false,
|
21
|
-
|
21
|
+
foreign_buyer: true,
|
22
|
+
reverse_charge: true
|
22
23
|
)
|
23
24
|
invoice.save_to_html('/tmp/invoice.html')
|
24
25
|
invoice.save_to_pdf('/tmp/invoice.pdf')
|
@@ -22,6 +22,7 @@ module PolishInvoicer
|
|
22
22
|
:proforma, # znacznik faktury pro-forma, domyślnie: false (boolean)
|
23
23
|
:no_vat_reason, # podstawa prawna zwolnienia z VAT (string)
|
24
24
|
:foreign_buyer, # nabywcą jest firma spoza Polski, domyślnie: false (boolean)
|
25
|
+
:reverse_charge # faktura z odwrotnym obciążeniem VAT
|
25
26
|
].freeze
|
26
27
|
|
27
28
|
attr_accessor(*AVAILABLE_PARAMS)
|
@@ -86,6 +87,7 @@ module PolishInvoicer
|
|
86
87
|
@paid = true
|
87
88
|
@proforma = false
|
88
89
|
@foreign_buyer = false
|
90
|
+
@reverse_charge = false
|
89
91
|
end
|
90
92
|
|
91
93
|
def validate!
|
@@ -59,6 +59,9 @@ module PolishInvoicer
|
|
59
59
|
unless [true, false].include?(@invoice.foreign_buyer)
|
60
60
|
@errors[:foreign_buyer] = 'Znacznik zagranicznego nabywcy musi być podany jako boolean'
|
61
61
|
end
|
62
|
+
unless [true, false].include?(@invoice.reverse_charge)
|
63
|
+
@errors[:reverse_charge] = 'Znacznik odwrotnego obciążenia VAT musi być podany jako boolean'
|
64
|
+
end
|
62
65
|
end
|
63
66
|
|
64
67
|
def check_dates
|
data/tpl/invoice-en.slim
CHANGED
@@ -101,6 +101,19 @@ html
|
|
101
101
|
| Wart. netto
|
102
102
|
.small
|
103
103
|
em Net amount
|
104
|
+
- unless reverse_charge
|
105
|
+
th.text-center width="1%"
|
106
|
+
| VAT
|
107
|
+
.small
|
108
|
+
em VAT
|
109
|
+
th.text-center width="7%"
|
110
|
+
| Kwota VAT
|
111
|
+
.small
|
112
|
+
em VAT amount
|
113
|
+
th.text-center width="7%"
|
114
|
+
| Wart. brutto
|
115
|
+
.small
|
116
|
+
em Gross amount
|
104
117
|
tr
|
105
118
|
td = item_name
|
106
119
|
- if pkwiu
|
@@ -111,6 +124,10 @@ html
|
|
111
124
|
em 1 service
|
112
125
|
td.text-center = net_value
|
113
126
|
td.text-center = net_value
|
127
|
+
- unless reverse_charge
|
128
|
+
td.text-center = vat
|
129
|
+
td.text-center = vat_value
|
130
|
+
td.text-center = gross_value
|
114
131
|
tr
|
115
132
|
td colspan="#{pkwiu ? 3 : 2}"
|
116
133
|
|
|
@@ -119,6 +136,10 @@ html
|
|
119
136
|
.small
|
120
137
|
em Total
|
121
138
|
td.text-center = net_value
|
139
|
+
- unless reverse_charge
|
140
|
+
td.text-center = vat
|
141
|
+
td.text-center = vat_value
|
142
|
+
th.text-center = gross_value
|
122
143
|
|
123
144
|
br
|
124
145
|
|
@@ -130,7 +151,7 @@ html
|
|
130
151
|
.small
|
131
152
|
em Total to pay:
|
132
153
|
.col-xs-6
|
133
|
-
b = "#{net_value} PLN"
|
154
|
+
b = "#{reverse_charge == true ? net_value : gross_value} PLN"
|
134
155
|
.row
|
135
156
|
.col-xs-6
|
136
157
|
| Zapłacono:
|
@@ -138,7 +159,7 @@ html
|
|
138
159
|
em Amount paid:
|
139
160
|
.col-xs-6
|
140
161
|
- if paid
|
141
|
-
= "#{net_value} PLN"
|
162
|
+
= "#{reverse_charge == true ? net_value : gross_value} PLN"
|
142
163
|
- else
|
143
164
|
| 0,00 PLN
|
144
165
|
.row
|
@@ -150,7 +171,7 @@ html
|
|
150
171
|
- if paid
|
151
172
|
| 0,00 PLN
|
152
173
|
- else
|
153
|
-
= "#{net_value} PLN"
|
174
|
+
= "#{reverse_charge == true ? net_value : gross_value} PLN"
|
154
175
|
|
155
176
|
.col-xs-6
|
156
177
|
- if comments.any?
|
@@ -161,9 +182,10 @@ html
|
|
161
182
|
= line
|
162
183
|
br
|
163
184
|
|
164
|
-
|
165
|
-
|
185
|
+
- if reverse_charge
|
186
|
+
br
|
187
|
+
br
|
166
188
|
|
167
|
-
|
168
|
-
|
169
|
-
|
189
|
+
b Do rozliczenia podatku VAT zobowiązany jest nabywca usługi (odwrotne obciążenie)
|
190
|
+
.small
|
191
|
+
em Levy of VAT reverse charged to recipient of service (reverse charge)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polish_invoicer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Macuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|