polish_invoicer 0.0.33 → 0.0.34
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/README.md +1 -0
- data/lib/polish_invoicer/invoice.rb +7 -0
- data/lib/polish_invoicer/presenter.rb +1 -1
- data/lib/polish_invoicer/version.rb +1 -1
- data/lib/polish_invoicer.rb +1 -0
- data/polish_invoicer.gemspec +1 -0
- data/test/test_generator.rb +3 -1
- data/tpl/invoice-en.slim +13 -3
- data/tpl/invoice-es.slim +13 -3
- data/tpl/invoice-pl.slim +13 -3
- data/tpl/invoice-pl_en.slim +13 -6
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a28a6aa9425c98da6aa3779b3c1251438efcd6976f876448d6c2bab5acedf5d1
|
|
4
|
+
data.tar.gz: b6f4c0ed789da7f1333fad67ebb02a624dc63545db19f314e6e7a209888f67ee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ef7113d42bb6cf1eb62b5cd6fab2dd5fd08612594618cf5d449fe18b796cc4686771293f8d4d5c9f4dcc667a39553ff4d8969a73e074b8b7cb06e969ec54ecf
|
|
7
|
+
data.tar.gz: 3a6f869d6ff8618b83c9d2e97bedfab5231ab7aca08bf516a1a5e79882d9098c1dcdd5b811a483984530c5cda92409401d5d7225ad463c320ea13d7cb69163d6
|
data/README.md
CHANGED
|
@@ -110,6 +110,7 @@ invoice.save_to_pdf('/path/to/invoice.pdf')
|
|
|
110
110
|
:footer, # treść umieszczana w stopce faktury (string)
|
|
111
111
|
:price_paid, # kwota częściowego opłacenia faktury w złotych (float)
|
|
112
112
|
:ksef_number, # numer faktury w KSeF (string)
|
|
113
|
+
:ksef_qr_code_url, # adres URL kodu QR dla faktury w KSeF (string)
|
|
113
114
|
|
|
114
115
|
### Parametry systemowe
|
|
115
116
|
|
|
@@ -5,6 +5,7 @@ module PolishInvoicer
|
|
|
5
5
|
AVAILABLE_PARAMS = [
|
|
6
6
|
:number, # numer faktury (string)
|
|
7
7
|
:ksef_number, # numer faktury w KSeF (string)
|
|
8
|
+
:ksef_qr_code_url, # adres URL kodu QR dla faktury w KSeF
|
|
8
9
|
:create_date, # data wystawienia faktury (date)
|
|
9
10
|
:trade_date, # data sprzedaży (date)
|
|
10
11
|
:seller, # adres sprzedawcy (tablica stringów)
|
|
@@ -113,6 +114,12 @@ module PolishInvoicer
|
|
|
113
114
|
proforma ? "proforma-#{template_lang}.slim" : "invoice-#{template_lang}.slim"
|
|
114
115
|
end
|
|
115
116
|
|
|
117
|
+
def qr_code_data_url
|
|
118
|
+
return unless ksef_qr_code_url
|
|
119
|
+
|
|
120
|
+
RQRCode::QRCode.new(ksef_qr_code_url).as_png(size: 220).to_data_url
|
|
121
|
+
end
|
|
122
|
+
|
|
116
123
|
private
|
|
117
124
|
|
|
118
125
|
def set_defaults
|
|
@@ -33,7 +33,7 @@ module PolishInvoicer
|
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def copy_additional_params
|
|
36
|
-
%w[net_value vat_value gross_value exchanged_tax].each do |field|
|
|
36
|
+
%w[net_value vat_value gross_value exchanged_tax qr_code_data_url].each do |field|
|
|
37
37
|
@out[field.to_sym] = @invoice.send(field)
|
|
38
38
|
end
|
|
39
39
|
end
|
data/lib/polish_invoicer.rb
CHANGED
data/polish_invoicer.gemspec
CHANGED
data/test/test_generator.rb
CHANGED
|
@@ -9,7 +9,9 @@ i = PolishInvoicer::Invoice.new(
|
|
|
9
9
|
item_name: 'Jakiś długi tytuł i jeszcze jakieś informacje na różne tematy oraz dodatkowy komentarz w sprawie różnej.',
|
|
10
10
|
price: 123.45, payment_date: Date.today,
|
|
11
11
|
comments: 'Test uwag', footer: 'Stopka faktury plus tekst promocyjny',
|
|
12
|
-
seller_nip: '123-456-78-90', buyer_nip: '987-654-32-10'
|
|
12
|
+
seller_nip: '123-456-78-90', buyer_nip: '987-654-32-10',
|
|
13
|
+
ksef_number: '1234567890-20260211-0200C0785341-F8',
|
|
14
|
+
ksef_qr_code_url: 'https://qr-test.ksef.mf.gov.pl/invoice/1234567890/11-02-2026/vgAXyW8BGst1ply1ag8hwbZ84Qz4Fgi0GDw6r84u6Pg'
|
|
13
15
|
)
|
|
14
16
|
|
|
15
17
|
i.save_to_pdf('/tmp/invoice-default.pdf')
|
data/tpl/invoice-en.slim
CHANGED
|
@@ -18,9 +18,6 @@ html
|
|
|
18
18
|
|
|
19
19
|
h3 = "Invoice number #{number}"
|
|
20
20
|
|
|
21
|
-
- if ksef_number
|
|
22
|
-
h4 = "KSeF number: #{ksef_number}"
|
|
23
|
-
|
|
24
21
|
.row
|
|
25
22
|
.col-xs-6
|
|
26
23
|
h4 Seller
|
|
@@ -117,3 +114,16 @@ html
|
|
|
117
114
|
br
|
|
118
115
|
br
|
|
119
116
|
b Levy of VAT reverse charged to recipient of service (reverse charge)
|
|
117
|
+
|
|
118
|
+
- if ksef_number && ksef_qr_code_url
|
|
119
|
+
hr
|
|
120
|
+
.row
|
|
121
|
+
.col-xs-4
|
|
122
|
+
img src=qr_code_data_url
|
|
123
|
+
.col-xs-8
|
|
124
|
+
br
|
|
125
|
+
h4 KSeF
|
|
126
|
+
= ksef_number
|
|
127
|
+
br
|
|
128
|
+
br
|
|
129
|
+
a href=ksef_qr_code_url #{ksef_qr_code_url}
|
data/tpl/invoice-es.slim
CHANGED
|
@@ -18,9 +18,6 @@ html
|
|
|
18
18
|
|
|
19
19
|
h3 = "Factura No. #{number}"
|
|
20
20
|
|
|
21
|
-
- if ksef_number
|
|
22
|
-
h4 = "Número KSeF: #{ksef_number}"
|
|
23
|
-
|
|
24
21
|
.row
|
|
25
22
|
.col-xs-6
|
|
26
23
|
h4 Vendedor
|
|
@@ -117,3 +114,16 @@ html
|
|
|
117
114
|
br
|
|
118
115
|
br
|
|
119
116
|
b Recaudación del IVA con cargo revertido al destinatario del servicio (cargo revertido)
|
|
117
|
+
|
|
118
|
+
- if ksef_number && ksef_qr_code_url
|
|
119
|
+
hr
|
|
120
|
+
.row
|
|
121
|
+
.col-xs-4
|
|
122
|
+
img src=qr_code_data_url
|
|
123
|
+
.col-xs-8
|
|
124
|
+
br
|
|
125
|
+
h4 KSeF
|
|
126
|
+
= ksef_number
|
|
127
|
+
br
|
|
128
|
+
br
|
|
129
|
+
a href=ksef_qr_code_url #{ksef_qr_code_url}
|
data/tpl/invoice-pl.slim
CHANGED
|
@@ -18,9 +18,6 @@ html
|
|
|
18
18
|
|
|
19
19
|
h3 = "Faktura nr #{number}"
|
|
20
20
|
|
|
21
|
-
- if ksef_number
|
|
22
|
-
h4 = "Numer KSeF: #{ksef_number}"
|
|
23
|
-
|
|
24
21
|
.row
|
|
25
22
|
.col-xs-6
|
|
26
23
|
h4 Sprzedawca
|
|
@@ -135,3 +132,16 @@ html
|
|
|
135
132
|
b Podstawa zwolnienia z podatku VAT:
|
|
136
133
|
br
|
|
137
134
|
= no_vat_reason
|
|
135
|
+
|
|
136
|
+
- if ksef_number && ksef_qr_code_url
|
|
137
|
+
hr
|
|
138
|
+
.row
|
|
139
|
+
.col-xs-4
|
|
140
|
+
img src=qr_code_data_url
|
|
141
|
+
.col-xs-8
|
|
142
|
+
br
|
|
143
|
+
h4 KSeF
|
|
144
|
+
= ksef_number
|
|
145
|
+
br
|
|
146
|
+
br
|
|
147
|
+
a href=ksef_qr_code_url #{ksef_qr_code_url}
|
data/tpl/invoice-pl_en.slim
CHANGED
|
@@ -20,12 +20,6 @@ html
|
|
|
20
20
|
h6.small
|
|
21
21
|
em = "Invoice number #{number}"
|
|
22
22
|
|
|
23
|
-
- if ksef_number
|
|
24
|
-
h4 = "Numer KSeF: #{ksef_number}"
|
|
25
|
-
h6.small
|
|
26
|
-
em = "KSeF number: #{ksef_number}"
|
|
27
|
-
|
|
28
|
-
|
|
29
23
|
.row
|
|
30
24
|
.col-xs-6
|
|
31
25
|
h4 Sprzedawca
|
|
@@ -210,3 +204,16 @@ html
|
|
|
210
204
|
.small
|
|
211
205
|
em Basis for VAT exemption:
|
|
212
206
|
= no_vat_reason
|
|
207
|
+
|
|
208
|
+
- if ksef_number && ksef_qr_code_url
|
|
209
|
+
hr
|
|
210
|
+
.row
|
|
211
|
+
.col-xs-4
|
|
212
|
+
img src=qr_code_data_url
|
|
213
|
+
.col-xs-8
|
|
214
|
+
br
|
|
215
|
+
h4 KSeF
|
|
216
|
+
= ksef_number
|
|
217
|
+
br
|
|
218
|
+
br
|
|
219
|
+
a href=ksef_qr_code_url #{ksef_qr_code_url}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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.34
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Piotr Macuk
|
|
@@ -107,6 +107,20 @@ dependencies:
|
|
|
107
107
|
- - ">="
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '0'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: rqrcode
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
110
124
|
- !ruby/object:Gem::Dependency
|
|
111
125
|
name: slim2pdf
|
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|