e-invoice-api 0.10.1 → 0.12.0
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/CHANGELOG.md +17 -0
- data/README.md +2 -2
- data/lib/e_invoice_api/models/allowance.rb +42 -14
- data/lib/e_invoice_api/models/charge.rb +193 -4
- data/lib/e_invoice_api/models/document_create.rb +728 -125
- data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +127 -61
- data/lib/e_invoice_api/models/document_response.rb +377 -83
- data/lib/e_invoice_api/models/me_retrieve_response.rb +21 -7
- data/lib/e_invoice_api/models/payment_detail_create.rb +15 -4
- data/lib/e_invoice_api/resources/documents.rb +43 -39
- data/lib/e_invoice_api/resources/validate.rb +43 -39
- data/lib/e_invoice_api/version.rb +1 -1
- data/rbi/e_invoice_api/models/allowance.rbi +81 -21
- data/rbi/e_invoice_api/models/charge.rbi +202 -5
- data/rbi/e_invoice_api/models/document_create.rbi +3094 -708
- data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +142 -34
- data/rbi/e_invoice_api/models/document_response.rbi +1238 -62
- data/rbi/e_invoice_api/models/me_retrieve_response.rbi +20 -6
- data/rbi/e_invoice_api/models/payment_detail_create.rbi +10 -0
- data/rbi/e_invoice_api/resources/documents.rbi +54 -12
- data/rbi/e_invoice_api/resources/validate.rbi +54 -12
- data/sig/e_invoice_api/models/allowance.rbs +59 -8
- data/sig/e_invoice_api/models/charge.rbs +369 -4
- data/sig/e_invoice_api/models/document_create.rbs +939 -44
- data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +15 -0
- data/sig/e_invoice_api/models/document_response.rbs +443 -12
- data/sig/e_invoice_api/models/me_retrieve_response.rbs +5 -0
- data/sig/e_invoice_api/resources/documents.rbs +2 -0
- data/sig/e_invoice_api/resources/validate.rbs +2 -0
- metadata +2 -2
|
@@ -14,8 +14,7 @@ module EInvoiceAPI
|
|
|
14
14
|
sig { returns(T.nilable(T::Array[EInvoiceAPI::Allowance])) }
|
|
15
15
|
attr_accessor :allowances
|
|
16
16
|
|
|
17
|
-
# The amount due
|
|
18
|
-
# decimals
|
|
17
|
+
# The amount due for payment. Must be positive and rounded to maximum 2 decimals
|
|
19
18
|
sig { returns(T.nilable(String)) }
|
|
20
19
|
attr_accessor :amount_due
|
|
21
20
|
|
|
@@ -24,63 +23,82 @@ module EInvoiceAPI
|
|
|
24
23
|
end
|
|
25
24
|
attr_accessor :attachments
|
|
26
25
|
|
|
26
|
+
# The billing address (if different from customer address)
|
|
27
27
|
sig { returns(T.nilable(String)) }
|
|
28
28
|
attr_accessor :billing_address
|
|
29
29
|
|
|
30
|
+
# The recipient name at the billing address
|
|
30
31
|
sig { returns(T.nilable(String)) }
|
|
31
32
|
attr_accessor :billing_address_recipient
|
|
32
33
|
|
|
33
34
|
sig { returns(T.nilable(T::Array[EInvoiceAPI::Charge])) }
|
|
34
35
|
attr_accessor :charges
|
|
35
36
|
|
|
36
|
-
# Currency of the invoice
|
|
37
|
+
# Currency of the invoice (ISO 4217 currency code)
|
|
37
38
|
sig { returns(T.nilable(EInvoiceAPI::CurrencyCode::TaggedSymbol)) }
|
|
38
39
|
attr_reader :currency
|
|
39
40
|
|
|
40
41
|
sig { params(currency: EInvoiceAPI::CurrencyCode::OrSymbol).void }
|
|
41
42
|
attr_writer :currency
|
|
42
43
|
|
|
44
|
+
# The address of the customer/buyer
|
|
43
45
|
sig { returns(T.nilable(String)) }
|
|
44
46
|
attr_accessor :customer_address
|
|
45
47
|
|
|
48
|
+
# The recipient name at the customer address
|
|
46
49
|
sig { returns(T.nilable(String)) }
|
|
47
50
|
attr_accessor :customer_address_recipient
|
|
48
51
|
|
|
52
|
+
# Customer company ID. For Belgium this is the CBE number or their EUID (European
|
|
53
|
+
# Unique Identifier) number. In the Netherlands this is the KVK number.
|
|
54
|
+
sig { returns(T.nilable(String)) }
|
|
55
|
+
attr_accessor :customer_company_id
|
|
56
|
+
|
|
57
|
+
# The email address of the customer
|
|
49
58
|
sig { returns(T.nilable(String)) }
|
|
50
59
|
attr_accessor :customer_email
|
|
51
60
|
|
|
61
|
+
# The unique identifier for the customer in your system
|
|
52
62
|
sig { returns(T.nilable(String)) }
|
|
53
63
|
attr_accessor :customer_id
|
|
54
64
|
|
|
65
|
+
# The company name of the customer/buyer
|
|
55
66
|
sig { returns(T.nilable(String)) }
|
|
56
67
|
attr_accessor :customer_name
|
|
57
68
|
|
|
69
|
+
# Customer tax ID. For Belgium this is the VAT number. Must include the country
|
|
70
|
+
# prefix
|
|
58
71
|
sig { returns(T.nilable(String)) }
|
|
59
72
|
attr_accessor :customer_tax_id
|
|
60
73
|
|
|
74
|
+
# The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
|
|
61
75
|
sig { returns(T.nilable(EInvoiceAPI::DocumentDirection::TaggedSymbol)) }
|
|
62
76
|
attr_reader :direction
|
|
63
77
|
|
|
64
78
|
sig { params(direction: EInvoiceAPI::DocumentDirection::OrSymbol).void }
|
|
65
79
|
attr_writer :direction
|
|
66
80
|
|
|
81
|
+
# The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
|
|
67
82
|
sig { returns(T.nilable(EInvoiceAPI::DocumentType::TaggedSymbol)) }
|
|
68
83
|
attr_reader :document_type
|
|
69
84
|
|
|
70
85
|
sig { params(document_type: EInvoiceAPI::DocumentType::OrSymbol).void }
|
|
71
86
|
attr_writer :document_type
|
|
72
87
|
|
|
88
|
+
# The date when payment is due
|
|
73
89
|
sig { returns(T.nilable(Date)) }
|
|
74
90
|
attr_accessor :due_date
|
|
75
91
|
|
|
92
|
+
# The date when the invoice was issued
|
|
76
93
|
sig { returns(T.nilable(Date)) }
|
|
77
94
|
attr_accessor :invoice_date
|
|
78
95
|
|
|
96
|
+
# The unique invoice identifier/number
|
|
79
97
|
sig { returns(T.nilable(String)) }
|
|
80
98
|
attr_accessor :invoice_id
|
|
81
99
|
|
|
82
|
-
# The total amount of the invoice (
|
|
83
|
-
# total_discount). Must be positive and rounded to maximum 2 decimals
|
|
100
|
+
# The total amount of the invoice including tax (invoice_total = subtotal +
|
|
101
|
+
# total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
|
|
84
102
|
sig { returns(T.nilable(String)) }
|
|
85
103
|
attr_accessor :invoice_total
|
|
86
104
|
|
|
@@ -104,47 +122,59 @@ module EInvoiceAPI
|
|
|
104
122
|
end
|
|
105
123
|
attr_writer :items
|
|
106
124
|
|
|
125
|
+
# Additional notes or comments for the invoice
|
|
107
126
|
sig { returns(T.nilable(String)) }
|
|
108
127
|
attr_accessor :note
|
|
109
128
|
|
|
110
129
|
sig { returns(T.nilable(T::Array[EInvoiceAPI::PaymentDetailCreate])) }
|
|
111
130
|
attr_accessor :payment_details
|
|
112
131
|
|
|
132
|
+
# The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
|
|
113
133
|
sig { returns(T.nilable(String)) }
|
|
114
134
|
attr_accessor :payment_term
|
|
115
135
|
|
|
116
|
-
# The previous unpaid balance
|
|
117
|
-
# to maximum 2 decimals
|
|
136
|
+
# The previous unpaid balance from prior invoices, if any. Must be positive and
|
|
137
|
+
# rounded to maximum 2 decimals
|
|
118
138
|
sig { returns(T.nilable(String)) }
|
|
119
139
|
attr_accessor :previous_unpaid_balance
|
|
120
140
|
|
|
141
|
+
# The purchase order reference number
|
|
121
142
|
sig { returns(T.nilable(String)) }
|
|
122
143
|
attr_accessor :purchase_order
|
|
123
144
|
|
|
145
|
+
# The address where payment should be sent or remitted to
|
|
124
146
|
sig { returns(T.nilable(String)) }
|
|
125
147
|
attr_accessor :remittance_address
|
|
126
148
|
|
|
149
|
+
# The recipient name at the remittance address
|
|
127
150
|
sig { returns(T.nilable(String)) }
|
|
128
151
|
attr_accessor :remittance_address_recipient
|
|
129
152
|
|
|
153
|
+
# The address where services were performed or goods were delivered
|
|
130
154
|
sig { returns(T.nilable(String)) }
|
|
131
155
|
attr_accessor :service_address
|
|
132
156
|
|
|
157
|
+
# The recipient name at the service address
|
|
133
158
|
sig { returns(T.nilable(String)) }
|
|
134
159
|
attr_accessor :service_address_recipient
|
|
135
160
|
|
|
161
|
+
# The end date of the service period or delivery period
|
|
136
162
|
sig { returns(T.nilable(Date)) }
|
|
137
163
|
attr_accessor :service_end_date
|
|
138
164
|
|
|
165
|
+
# The start date of the service period or delivery period
|
|
139
166
|
sig { returns(T.nilable(Date)) }
|
|
140
167
|
attr_accessor :service_start_date
|
|
141
168
|
|
|
169
|
+
# The shipping/delivery address
|
|
142
170
|
sig { returns(T.nilable(String)) }
|
|
143
171
|
attr_accessor :shipping_address
|
|
144
172
|
|
|
173
|
+
# The recipient name at the shipping address
|
|
145
174
|
sig { returns(T.nilable(String)) }
|
|
146
175
|
attr_accessor :shipping_address_recipient
|
|
147
176
|
|
|
177
|
+
# The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
|
|
148
178
|
sig { returns(T.nilable(EInvoiceAPI::DocumentState::TaggedSymbol)) }
|
|
149
179
|
attr_reader :state
|
|
150
180
|
|
|
@@ -164,7 +194,8 @@ module EInvoiceAPI
|
|
|
164
194
|
sig { params(success: T::Boolean).void }
|
|
165
195
|
attr_writer :success
|
|
166
196
|
|
|
167
|
-
# Tax category code of the invoice
|
|
197
|
+
# Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
|
|
198
|
+
# for exempt)
|
|
168
199
|
sig do
|
|
169
200
|
returns(
|
|
170
201
|
T.nilable(
|
|
@@ -193,12 +224,14 @@ module EInvoiceAPI
|
|
|
193
224
|
end
|
|
194
225
|
attr_accessor :tax_details
|
|
195
226
|
|
|
196
|
-
# The
|
|
197
|
-
#
|
|
227
|
+
# The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
|
|
228
|
+
# allowances). Can be positive (net charge), negative (net discount), or zero.
|
|
229
|
+
# Must be rounded to maximum 2 decimals
|
|
198
230
|
sig { returns(T.nilable(String)) }
|
|
199
231
|
attr_accessor :total_discount
|
|
200
232
|
|
|
201
|
-
# The total tax of the invoice. Must be positive and rounded to maximum 2
|
|
233
|
+
# The total tax amount of the invoice. Must be positive and rounded to maximum 2
|
|
234
|
+
# decimals
|
|
202
235
|
sig { returns(T.nilable(String)) }
|
|
203
236
|
attr_accessor :total_tax
|
|
204
237
|
|
|
@@ -218,22 +251,33 @@ module EInvoiceAPI
|
|
|
218
251
|
end
|
|
219
252
|
attr_accessor :vatex
|
|
220
253
|
|
|
221
|
-
#
|
|
254
|
+
# Textual explanation for VAT exemption
|
|
222
255
|
sig { returns(T.nilable(String)) }
|
|
223
256
|
attr_accessor :vatex_note
|
|
224
257
|
|
|
258
|
+
# The address of the vendor/seller
|
|
225
259
|
sig { returns(T.nilable(String)) }
|
|
226
260
|
attr_accessor :vendor_address
|
|
227
261
|
|
|
262
|
+
# The recipient name at the vendor address
|
|
228
263
|
sig { returns(T.nilable(String)) }
|
|
229
264
|
attr_accessor :vendor_address_recipient
|
|
230
265
|
|
|
266
|
+
# Vendor company ID. For Belgium this is the CBE number or their EUID (European
|
|
267
|
+
# Unique Identifier) number. In the Netherlands this is the KVK number.
|
|
268
|
+
sig { returns(T.nilable(String)) }
|
|
269
|
+
attr_accessor :vendor_company_id
|
|
270
|
+
|
|
271
|
+
# The email address of the vendor
|
|
231
272
|
sig { returns(T.nilable(String)) }
|
|
232
273
|
attr_accessor :vendor_email
|
|
233
274
|
|
|
275
|
+
# The name of the vendor/seller/supplier
|
|
234
276
|
sig { returns(T.nilable(String)) }
|
|
235
277
|
attr_accessor :vendor_name
|
|
236
278
|
|
|
279
|
+
# Vendor tax ID. For Belgium this is the VAT number. Must include the country
|
|
280
|
+
# prefix
|
|
237
281
|
sig { returns(T.nilable(String)) }
|
|
238
282
|
attr_accessor :vendor_tax_id
|
|
239
283
|
|
|
@@ -249,6 +293,7 @@ module EInvoiceAPI
|
|
|
249
293
|
currency: EInvoiceAPI::CurrencyCode::OrSymbol,
|
|
250
294
|
customer_address: T.nilable(String),
|
|
251
295
|
customer_address_recipient: T.nilable(String),
|
|
296
|
+
customer_company_id: T.nilable(String),
|
|
252
297
|
customer_email: T.nilable(String),
|
|
253
298
|
customer_id: T.nilable(String),
|
|
254
299
|
customer_name: T.nilable(String),
|
|
@@ -298,6 +343,7 @@ module EInvoiceAPI
|
|
|
298
343
|
vatex_note: T.nilable(String),
|
|
299
344
|
vendor_address: T.nilable(String),
|
|
300
345
|
vendor_address_recipient: T.nilable(String),
|
|
346
|
+
vendor_company_id: T.nilable(String),
|
|
301
347
|
vendor_email: T.nilable(String),
|
|
302
348
|
vendor_name: T.nilable(String),
|
|
303
349
|
vendor_tax_id: T.nilable(String)
|
|
@@ -305,46 +351,74 @@ module EInvoiceAPI
|
|
|
305
351
|
end
|
|
306
352
|
def self.new(
|
|
307
353
|
allowances: nil,
|
|
308
|
-
# The amount due
|
|
309
|
-
# decimals
|
|
354
|
+
# The amount due for payment. Must be positive and rounded to maximum 2 decimals
|
|
310
355
|
amount_due: nil,
|
|
311
356
|
attachments: nil,
|
|
357
|
+
# The billing address (if different from customer address)
|
|
312
358
|
billing_address: nil,
|
|
359
|
+
# The recipient name at the billing address
|
|
313
360
|
billing_address_recipient: nil,
|
|
314
361
|
charges: nil,
|
|
315
|
-
# Currency of the invoice
|
|
362
|
+
# Currency of the invoice (ISO 4217 currency code)
|
|
316
363
|
currency: nil,
|
|
364
|
+
# The address of the customer/buyer
|
|
317
365
|
customer_address: nil,
|
|
366
|
+
# The recipient name at the customer address
|
|
318
367
|
customer_address_recipient: nil,
|
|
368
|
+
# Customer company ID. For Belgium this is the CBE number or their EUID (European
|
|
369
|
+
# Unique Identifier) number. In the Netherlands this is the KVK number.
|
|
370
|
+
customer_company_id: nil,
|
|
371
|
+
# The email address of the customer
|
|
319
372
|
customer_email: nil,
|
|
373
|
+
# The unique identifier for the customer in your system
|
|
320
374
|
customer_id: nil,
|
|
375
|
+
# The company name of the customer/buyer
|
|
321
376
|
customer_name: nil,
|
|
377
|
+
# Customer tax ID. For Belgium this is the VAT number. Must include the country
|
|
378
|
+
# prefix
|
|
322
379
|
customer_tax_id: nil,
|
|
380
|
+
# The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
|
|
323
381
|
direction: nil,
|
|
382
|
+
# The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
|
|
324
383
|
document_type: nil,
|
|
384
|
+
# The date when payment is due
|
|
325
385
|
due_date: nil,
|
|
386
|
+
# The date when the invoice was issued
|
|
326
387
|
invoice_date: nil,
|
|
388
|
+
# The unique invoice identifier/number
|
|
327
389
|
invoice_id: nil,
|
|
328
|
-
# The total amount of the invoice (
|
|
329
|
-
# total_discount). Must be positive and rounded to maximum 2 decimals
|
|
390
|
+
# The total amount of the invoice including tax (invoice_total = subtotal +
|
|
391
|
+
# total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
|
|
330
392
|
invoice_total: nil,
|
|
331
393
|
# At least one line item is required
|
|
332
394
|
items: nil,
|
|
395
|
+
# Additional notes or comments for the invoice
|
|
333
396
|
note: nil,
|
|
334
397
|
payment_details: nil,
|
|
398
|
+
# The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
|
|
335
399
|
payment_term: nil,
|
|
336
|
-
# The previous unpaid balance
|
|
337
|
-
# to maximum 2 decimals
|
|
400
|
+
# The previous unpaid balance from prior invoices, if any. Must be positive and
|
|
401
|
+
# rounded to maximum 2 decimals
|
|
338
402
|
previous_unpaid_balance: nil,
|
|
403
|
+
# The purchase order reference number
|
|
339
404
|
purchase_order: nil,
|
|
405
|
+
# The address where payment should be sent or remitted to
|
|
340
406
|
remittance_address: nil,
|
|
407
|
+
# The recipient name at the remittance address
|
|
341
408
|
remittance_address_recipient: nil,
|
|
409
|
+
# The address where services were performed or goods were delivered
|
|
342
410
|
service_address: nil,
|
|
411
|
+
# The recipient name at the service address
|
|
343
412
|
service_address_recipient: nil,
|
|
413
|
+
# The end date of the service period or delivery period
|
|
344
414
|
service_end_date: nil,
|
|
415
|
+
# The start date of the service period or delivery period
|
|
345
416
|
service_start_date: nil,
|
|
417
|
+
# The shipping/delivery address
|
|
346
418
|
shipping_address: nil,
|
|
419
|
+
# The recipient name at the shipping address
|
|
347
420
|
shipping_address_recipient: nil,
|
|
421
|
+
# The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
|
|
348
422
|
state: nil,
|
|
349
423
|
# The taxable base of the invoice. Should be the sum of all line items -
|
|
350
424
|
# allowances (for example commercial discounts) + charges with impact on VAT. Must
|
|
@@ -352,13 +426,16 @@ module EInvoiceAPI
|
|
|
352
426
|
subtotal: nil,
|
|
353
427
|
# Whether the PDF was successfully converted into a compliant e-invoice
|
|
354
428
|
success: nil,
|
|
355
|
-
# Tax category code of the invoice
|
|
429
|
+
# Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
|
|
430
|
+
# for exempt)
|
|
356
431
|
tax_code: nil,
|
|
357
432
|
tax_details: nil,
|
|
358
|
-
# The
|
|
359
|
-
#
|
|
433
|
+
# The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
|
|
434
|
+
# allowances). Can be positive (net charge), negative (net discount), or zero.
|
|
435
|
+
# Must be rounded to maximum 2 decimals
|
|
360
436
|
total_discount: nil,
|
|
361
|
-
# The total tax of the invoice. Must be positive and rounded to maximum 2
|
|
437
|
+
# The total tax amount of the invoice. Must be positive and rounded to maximum 2
|
|
438
|
+
# decimals
|
|
362
439
|
total_tax: nil,
|
|
363
440
|
# The UBL document as an XML string
|
|
364
441
|
ubl_document: nil,
|
|
@@ -366,12 +443,21 @@ module EInvoiceAPI
|
|
|
366
443
|
#
|
|
367
444
|
# Agency: CEF Identifier: vatex
|
|
368
445
|
vatex: nil,
|
|
369
|
-
#
|
|
446
|
+
# Textual explanation for VAT exemption
|
|
370
447
|
vatex_note: nil,
|
|
448
|
+
# The address of the vendor/seller
|
|
371
449
|
vendor_address: nil,
|
|
450
|
+
# The recipient name at the vendor address
|
|
372
451
|
vendor_address_recipient: nil,
|
|
452
|
+
# Vendor company ID. For Belgium this is the CBE number or their EUID (European
|
|
453
|
+
# Unique Identifier) number. In the Netherlands this is the KVK number.
|
|
454
|
+
vendor_company_id: nil,
|
|
455
|
+
# The email address of the vendor
|
|
373
456
|
vendor_email: nil,
|
|
457
|
+
# The name of the vendor/seller/supplier
|
|
374
458
|
vendor_name: nil,
|
|
459
|
+
# Vendor tax ID. For Belgium this is the VAT number. Must include the country
|
|
460
|
+
# prefix
|
|
375
461
|
vendor_tax_id: nil
|
|
376
462
|
)
|
|
377
463
|
end
|
|
@@ -389,6 +475,7 @@ module EInvoiceAPI
|
|
|
389
475
|
currency: EInvoiceAPI::CurrencyCode::TaggedSymbol,
|
|
390
476
|
customer_address: T.nilable(String),
|
|
391
477
|
customer_address_recipient: T.nilable(String),
|
|
478
|
+
customer_company_id: T.nilable(String),
|
|
392
479
|
customer_email: T.nilable(String),
|
|
393
480
|
customer_id: T.nilable(String),
|
|
394
481
|
customer_name: T.nilable(String),
|
|
@@ -438,6 +525,7 @@ module EInvoiceAPI
|
|
|
438
525
|
vatex_note: T.nilable(String),
|
|
439
526
|
vendor_address: T.nilable(String),
|
|
440
527
|
vendor_address_recipient: T.nilable(String),
|
|
528
|
+
vendor_company_id: T.nilable(String),
|
|
441
529
|
vendor_email: T.nilable(String),
|
|
442
530
|
vendor_name: T.nilable(String),
|
|
443
531
|
vendor_tax_id: T.nilable(String)
|
|
@@ -460,9 +548,9 @@ module EInvoiceAPI
|
|
|
460
548
|
sig { returns(T.nilable(T::Array[EInvoiceAPI::Allowance])) }
|
|
461
549
|
attr_accessor :allowances
|
|
462
550
|
|
|
463
|
-
# The
|
|
464
|
-
#
|
|
465
|
-
# decimals
|
|
551
|
+
# The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
|
|
552
|
+
# allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
|
|
553
|
+
# quantity) - allowances + charges. Must be rounded to maximum 2 decimals
|
|
466
554
|
sig { returns(T.nilable(String)) }
|
|
467
555
|
attr_accessor :amount
|
|
468
556
|
|
|
@@ -477,6 +565,11 @@ module EInvoiceAPI
|
|
|
477
565
|
sig { returns(T.nilable(String)) }
|
|
478
566
|
attr_accessor :description
|
|
479
567
|
|
|
568
|
+
# The item price base quantity (BT-149). The number of item units to which the
|
|
569
|
+
# price applies. Defaults to 1. Must be rounded to maximum 4 decimals
|
|
570
|
+
sig { returns(T.nilable(String)) }
|
|
571
|
+
attr_accessor :price_base_quantity
|
|
572
|
+
|
|
480
573
|
# The product code of the line item.
|
|
481
574
|
sig { returns(T.nilable(String)) }
|
|
482
575
|
attr_accessor :product_code
|
|
@@ -498,7 +591,8 @@ module EInvoiceAPI
|
|
|
498
591
|
sig { returns(T.nilable(EInvoiceAPI::UnitOfMeasureCode::TaggedSymbol)) }
|
|
499
592
|
attr_accessor :unit
|
|
500
593
|
|
|
501
|
-
# The
|
|
594
|
+
# The item net price (BT-146). The price of an item, exclusive of VAT, after
|
|
595
|
+
# subtracting item price discount. Must be rounded to maximum 4 decimals
|
|
502
596
|
sig { returns(T.nilable(String)) }
|
|
503
597
|
attr_accessor :unit_price
|
|
504
598
|
|
|
@@ -509,6 +603,7 @@ module EInvoiceAPI
|
|
|
509
603
|
charges: T.nilable(T::Array[EInvoiceAPI::Charge::OrHash]),
|
|
510
604
|
date: NilClass,
|
|
511
605
|
description: T.nilable(String),
|
|
606
|
+
price_base_quantity: T.nilable(String),
|
|
512
607
|
product_code: T.nilable(String),
|
|
513
608
|
quantity: T.nilable(String),
|
|
514
609
|
tax: T.nilable(String),
|
|
@@ -520,15 +615,18 @@ module EInvoiceAPI
|
|
|
520
615
|
def self.new(
|
|
521
616
|
# The allowances of the line item.
|
|
522
617
|
allowances: nil,
|
|
523
|
-
# The
|
|
524
|
-
#
|
|
525
|
-
# decimals
|
|
618
|
+
# The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
|
|
619
|
+
# allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
|
|
620
|
+
# quantity) - allowances + charges. Must be rounded to maximum 2 decimals
|
|
526
621
|
amount: nil,
|
|
527
622
|
# The charges of the line item.
|
|
528
623
|
charges: nil,
|
|
529
624
|
date: nil,
|
|
530
625
|
# The description of the line item.
|
|
531
626
|
description: nil,
|
|
627
|
+
# The item price base quantity (BT-149). The number of item units to which the
|
|
628
|
+
# price applies. Defaults to 1. Must be rounded to maximum 4 decimals
|
|
629
|
+
price_base_quantity: nil,
|
|
532
630
|
# The product code of the line item.
|
|
533
631
|
product_code: nil,
|
|
534
632
|
# The quantity of items (goods or services) that is the subject of the line item.
|
|
@@ -540,7 +638,8 @@ module EInvoiceAPI
|
|
|
540
638
|
tax_rate: nil,
|
|
541
639
|
# Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
|
|
542
640
|
unit: nil,
|
|
543
|
-
# The
|
|
641
|
+
# The item net price (BT-146). The price of an item, exclusive of VAT, after
|
|
642
|
+
# subtracting item price discount. Must be rounded to maximum 4 decimals
|
|
544
643
|
unit_price: nil
|
|
545
644
|
)
|
|
546
645
|
end
|
|
@@ -553,6 +652,7 @@ module EInvoiceAPI
|
|
|
553
652
|
charges: T.nilable(T::Array[EInvoiceAPI::Charge]),
|
|
554
653
|
date: NilClass,
|
|
555
654
|
description: T.nilable(String),
|
|
655
|
+
price_base_quantity: T.nilable(String),
|
|
556
656
|
product_code: T.nilable(String),
|
|
557
657
|
quantity: T.nilable(String),
|
|
558
658
|
tax: T.nilable(String),
|
|
@@ -566,7 +666,8 @@ module EInvoiceAPI
|
|
|
566
666
|
end
|
|
567
667
|
end
|
|
568
668
|
|
|
569
|
-
# Tax category code of the invoice
|
|
669
|
+
# Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
|
|
670
|
+
# for exempt)
|
|
570
671
|
module TaxCode
|
|
571
672
|
extend EInvoiceAPI::Internal::Type::Enum
|
|
572
673
|
|
|
@@ -650,9 +751,11 @@ module EInvoiceAPI
|
|
|
650
751
|
)
|
|
651
752
|
end
|
|
652
753
|
|
|
754
|
+
# The tax amount for this tax category. Must be rounded to maximum 2 decimals
|
|
653
755
|
sig { returns(T.nilable(String)) }
|
|
654
756
|
attr_accessor :amount
|
|
655
757
|
|
|
758
|
+
# The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
|
|
656
759
|
sig { returns(T.nilable(String)) }
|
|
657
760
|
attr_accessor :rate
|
|
658
761
|
|
|
@@ -661,7 +764,12 @@ module EInvoiceAPI
|
|
|
661
764
|
T.attached_class
|
|
662
765
|
)
|
|
663
766
|
end
|
|
664
|
-
def self.new(
|
|
767
|
+
def self.new(
|
|
768
|
+
# The tax amount for this tax category. Must be rounded to maximum 2 decimals
|
|
769
|
+
amount: nil,
|
|
770
|
+
# The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
|
|
771
|
+
rate: nil
|
|
772
|
+
)
|
|
665
773
|
end
|
|
666
774
|
|
|
667
775
|
sig do
|