vatsense 0.1.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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +14 -0
- data/README.md +235 -0
- data/SECURITY.md +27 -0
- data/lib/vatsense/client.rb +129 -0
- data/lib/vatsense/errors.rb +228 -0
- data/lib/vatsense/file_part.rb +58 -0
- data/lib/vatsense/internal/transport/base_client.rb +595 -0
- data/lib/vatsense/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/vatsense/internal/type/array_of.rb +168 -0
- data/lib/vatsense/internal/type/base_model.rb +531 -0
- data/lib/vatsense/internal/type/base_page.rb +55 -0
- data/lib/vatsense/internal/type/boolean.rb +77 -0
- data/lib/vatsense/internal/type/converter.rb +327 -0
- data/lib/vatsense/internal/type/enum.rb +131 -0
- data/lib/vatsense/internal/type/file_input.rb +111 -0
- data/lib/vatsense/internal/type/hash_of.rb +188 -0
- data/lib/vatsense/internal/type/request_parameters.rb +42 -0
- data/lib/vatsense/internal/type/union.rb +237 -0
- data/lib/vatsense/internal/type/unknown.rb +81 -0
- data/lib/vatsense/internal/util.rb +951 -0
- data/lib/vatsense/internal.rb +20 -0
- data/lib/vatsense/models/country.rb +70 -0
- data/lib/vatsense/models/country_list_params.rb +34 -0
- data/lib/vatsense/models/country_list_provinces_params.rb +22 -0
- data/lib/vatsense/models/country_list_provinces_response.rb +67 -0
- data/lib/vatsense/models/country_list_response.rb +28 -0
- data/lib/vatsense/models/create_invoice.rb +171 -0
- data/lib/vatsense/models/currency_calculate_vat_price_params.rb +53 -0
- data/lib/vatsense/models/currency_calculate_vat_price_response.rb +28 -0
- data/lib/vatsense/models/currency_convert_params.rb +53 -0
- data/lib/vatsense/models/currency_convert_response.rb +87 -0
- data/lib/vatsense/models/currency_list_params.rb +45 -0
- data/lib/vatsense/models/currency_list_response.rb +72 -0
- data/lib/vatsense/models/find_rate.rb +28 -0
- data/lib/vatsense/models/invoice/invoice_item.rb +71 -0
- data/lib/vatsense/models/invoice/invoice_item_input.rb +52 -0
- data/lib/vatsense/models/invoice/item_add_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_delete_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_retrieve_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_retrieve_response.rb +30 -0
- data/lib/vatsense/models/invoice/item_update_params.rb +28 -0
- data/lib/vatsense/models/invoice.rb +301 -0
- data/lib/vatsense/models/invoice_business_input.rb +80 -0
- data/lib/vatsense/models/invoice_conversion_input.rb +24 -0
- data/lib/vatsense/models/invoice_create_params.rb +14 -0
- data/lib/vatsense/models/invoice_customer_input.rb +59 -0
- data/lib/vatsense/models/invoice_delete_params.rb +20 -0
- data/lib/vatsense/models/invoice_delete_response.rb +22 -0
- data/lib/vatsense/models/invoice_list_params.rb +38 -0
- data/lib/vatsense/models/invoice_list_response.rb +28 -0
- data/lib/vatsense/models/invoice_response.rb +28 -0
- data/lib/vatsense/models/invoice_retrieve_params.rb +20 -0
- data/lib/vatsense/models/invoice_update_params.rb +20 -0
- data/lib/vatsense/models/rate.rb +74 -0
- data/lib/vatsense/models/rate_calculate_price_params.rb +88 -0
- data/lib/vatsense/models/rate_calculate_price_response.rb +79 -0
- data/lib/vatsense/models/rate_details_params.rb +69 -0
- data/lib/vatsense/models/rate_find_params.rb +69 -0
- data/lib/vatsense/models/rate_list_params.rb +51 -0
- data/lib/vatsense/models/rate_list_response.rb +28 -0
- data/lib/vatsense/models/rate_list_types_params.rb +14 -0
- data/lib/vatsense/models/rate_list_types_response.rb +28 -0
- data/lib/vatsense/models/rate_with_tax_rate.rb +49 -0
- data/lib/vatsense/models/sandbox_generate_key_params.rb +14 -0
- data/lib/vatsense/models/sandbox_generate_key_response.rb +68 -0
- data/lib/vatsense/models/tax_rate.rb +76 -0
- data/lib/vatsense/models/usage_retrieve_params.rb +14 -0
- data/lib/vatsense/models/usage_retrieve_response.rb +67 -0
- data/lib/vatsense/models/validate_check_params.rb +48 -0
- data/lib/vatsense/models/validate_check_response.rb +135 -0
- data/lib/vatsense/models/vat_price.rb +86 -0
- data/lib/vatsense/models.rb +103 -0
- data/lib/vatsense/request_options.rb +77 -0
- data/lib/vatsense/resources/countries.rb +70 -0
- data/lib/vatsense/resources/currency.rb +111 -0
- data/lib/vatsense/resources/invoice/item.rb +133 -0
- data/lib/vatsense/resources/invoice.rb +206 -0
- data/lib/vatsense/resources/rates.rb +190 -0
- data/lib/vatsense/resources/sandbox.rb +36 -0
- data/lib/vatsense/resources/usage.rb +33 -0
- data/lib/vatsense/resources/validate.rb +56 -0
- data/lib/vatsense/version.rb +5 -0
- data/lib/vatsense.rb +113 -0
- data/manifest.yaml +17 -0
- data/rbi/vatsense/client.rbi +93 -0
- data/rbi/vatsense/errors.rbi +205 -0
- data/rbi/vatsense/file_part.rbi +37 -0
- data/rbi/vatsense/internal/transport/base_client.rbi +300 -0
- data/rbi/vatsense/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/vatsense/internal/type/array_of.rbi +104 -0
- data/rbi/vatsense/internal/type/base_model.rbi +306 -0
- data/rbi/vatsense/internal/type/base_page.rbi +42 -0
- data/rbi/vatsense/internal/type/boolean.rbi +58 -0
- data/rbi/vatsense/internal/type/converter.rbi +216 -0
- data/rbi/vatsense/internal/type/enum.rbi +82 -0
- data/rbi/vatsense/internal/type/file_input.rbi +59 -0
- data/rbi/vatsense/internal/type/hash_of.rbi +104 -0
- data/rbi/vatsense/internal/type/request_parameters.rbi +29 -0
- data/rbi/vatsense/internal/type/union.rbi +128 -0
- data/rbi/vatsense/internal/type/unknown.rbi +58 -0
- data/rbi/vatsense/internal/util.rbi +507 -0
- data/rbi/vatsense/internal.rbi +16 -0
- data/rbi/vatsense/models/country.rbi +111 -0
- data/rbi/vatsense/models/country_list_params.rbi +59 -0
- data/rbi/vatsense/models/country_list_provinces_params.rbi +43 -0
- data/rbi/vatsense/models/country_list_provinces_response.rbi +177 -0
- data/rbi/vatsense/models/country_list_response.rbi +55 -0
- data/rbi/vatsense/models/create_invoice.rbi +240 -0
- data/rbi/vatsense/models/currency_calculate_vat_price_params.rbi +100 -0
- data/rbi/vatsense/models/currency_calculate_vat_price_response.rbi +51 -0
- data/rbi/vatsense/models/currency_convert_params.rbi +81 -0
- data/rbi/vatsense/models/currency_convert_response.rbi +190 -0
- data/rbi/vatsense/models/currency_list_params.rbi +79 -0
- data/rbi/vatsense/models/currency_list_response.rbi +174 -0
- data/rbi/vatsense/models/find_rate.rbi +50 -0
- data/rbi/vatsense/models/invoice/invoice_item.rbi +129 -0
- data/rbi/vatsense/models/invoice/invoice_item_input.rbi +79 -0
- data/rbi/vatsense/models/invoice/item_add_params.rbi +45 -0
- data/rbi/vatsense/models/invoice/item_delete_params.rbi +48 -0
- data/rbi/vatsense/models/invoice/item_retrieve_params.rbi +48 -0
- data/rbi/vatsense/models/invoice/item_retrieve_response.rbi +57 -0
- data/rbi/vatsense/models/invoice/item_update_params.rbi +48 -0
- data/rbi/vatsense/models/invoice.rbi +481 -0
- data/rbi/vatsense/models/invoice_business_input.rbi +113 -0
- data/rbi/vatsense/models/invoice_conversion_input.rbi +35 -0
- data/rbi/vatsense/models/invoice_create_params.rbi +27 -0
- data/rbi/vatsense/models/invoice_customer_input.rbi +93 -0
- data/rbi/vatsense/models/invoice_delete_params.rbi +35 -0
- data/rbi/vatsense/models/invoice_delete_response.rbi +31 -0
- data/rbi/vatsense/models/invoice_list_params.rbi +68 -0
- data/rbi/vatsense/models/invoice_list_response.rbi +55 -0
- data/rbi/vatsense/models/invoice_response.rbi +48 -0
- data/rbi/vatsense/models/invoice_retrieve_params.rbi +35 -0
- data/rbi/vatsense/models/invoice_update_params.rbi +35 -0
- data/rbi/vatsense/models/rate.rbi +119 -0
- data/rbi/vatsense/models/rate_calculate_price_params.rbi +144 -0
- data/rbi/vatsense/models/rate_calculate_price_response.rbi +184 -0
- data/rbi/vatsense/models/rate_details_params.rbi +109 -0
- data/rbi/vatsense/models/rate_find_params.rbi +109 -0
- data/rbi/vatsense/models/rate_list_params.rbi +83 -0
- data/rbi/vatsense/models/rate_list_response.rbi +48 -0
- data/rbi/vatsense/models/rate_list_types_params.rbi +27 -0
- data/rbi/vatsense/models/rate_list_types_response.rbi +51 -0
- data/rbi/vatsense/models/rate_with_tax_rate.rbi +94 -0
- data/rbi/vatsense/models/sandbox_generate_key_params.rbi +27 -0
- data/rbi/vatsense/models/sandbox_generate_key_response.rbi +135 -0
- data/rbi/vatsense/models/tax_rate.rbi +109 -0
- data/rbi/vatsense/models/usage_retrieve_params.rbi +27 -0
- data/rbi/vatsense/models/usage_retrieve_response.rbi +155 -0
- data/rbi/vatsense/models/validate_check_params.rbi +82 -0
- data/rbi/vatsense/models/validate_check_response.rbi +285 -0
- data/rbi/vatsense/models/vat_price.rbi +136 -0
- data/rbi/vatsense/models.rbi +66 -0
- data/rbi/vatsense/request_options.rbi +59 -0
- data/rbi/vatsense/resources/countries.rbi +49 -0
- data/rbi/vatsense/resources/currency.rbi +82 -0
- data/rbi/vatsense/resources/invoice/item.rbi +97 -0
- data/rbi/vatsense/resources/invoice.rbi +191 -0
- data/rbi/vatsense/resources/rates.rbi +164 -0
- data/rbi/vatsense/resources/sandbox.rbi +24 -0
- data/rbi/vatsense/resources/usage.rbi +22 -0
- data/rbi/vatsense/resources/validate.rbi +51 -0
- data/rbi/vatsense/version.rbi +5 -0
- data/sig/vatsense/client.rbs +45 -0
- data/sig/vatsense/errors.rbs +117 -0
- data/sig/vatsense/file_part.rbs +21 -0
- data/sig/vatsense/internal/transport/base_client.rbs +135 -0
- data/sig/vatsense/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/vatsense/internal/type/array_of.rbs +48 -0
- data/sig/vatsense/internal/type/base_model.rbs +102 -0
- data/sig/vatsense/internal/type/base_page.rbs +24 -0
- data/sig/vatsense/internal/type/boolean.rbs +26 -0
- data/sig/vatsense/internal/type/converter.rbs +79 -0
- data/sig/vatsense/internal/type/enum.rbs +32 -0
- data/sig/vatsense/internal/type/file_input.rbs +25 -0
- data/sig/vatsense/internal/type/hash_of.rbs +48 -0
- data/sig/vatsense/internal/type/request_parameters.rbs +17 -0
- data/sig/vatsense/internal/type/union.rbs +52 -0
- data/sig/vatsense/internal/type/unknown.rbs +26 -0
- data/sig/vatsense/internal/util.rbs +195 -0
- data/sig/vatsense/internal.rbs +9 -0
- data/sig/vatsense/models/country.rbs +76 -0
- data/sig/vatsense/models/country_list_params.rbs +32 -0
- data/sig/vatsense/models/country_list_provinces_params.rbs +23 -0
- data/sig/vatsense/models/country_list_provinces_response.rbs +90 -0
- data/sig/vatsense/models/country_list_response.rbs +32 -0
- data/sig/vatsense/models/create_invoice.rbs +154 -0
- data/sig/vatsense/models/currency_calculate_vat_price_params.rbs +47 -0
- data/sig/vatsense/models/currency_calculate_vat_price_response.rbs +28 -0
- data/sig/vatsense/models/currency_convert_params.rbs +47 -0
- data/sig/vatsense/models/currency_convert_response.rbs +104 -0
- data/sig/vatsense/models/currency_list_params.rbs +45 -0
- data/sig/vatsense/models/currency_list_response.rbs +90 -0
- data/sig/vatsense/models/find_rate.rbs +32 -0
- data/sig/vatsense/models/invoice/invoice_item.rbs +85 -0
- data/sig/vatsense/models/invoice/invoice_item_input.rbs +46 -0
- data/sig/vatsense/models/invoice/item_add_params.rbs +33 -0
- data/sig/vatsense/models/invoice/item_delete_params.rbs +30 -0
- data/sig/vatsense/models/invoice/item_retrieve_params.rbs +30 -0
- data/sig/vatsense/models/invoice/item_retrieve_response.rbs +36 -0
- data/sig/vatsense/models/invoice/item_update_params.rbs +34 -0
- data/sig/vatsense/models/invoice.rbs +332 -0
- data/sig/vatsense/models/invoice_business_input.rbs +72 -0
- data/sig/vatsense/models/invoice_conversion_input.rbs +15 -0
- data/sig/vatsense/models/invoice_create_params.rbs +15 -0
- data/sig/vatsense/models/invoice_customer_input.rbs +62 -0
- data/sig/vatsense/models/invoice_delete_params.rbs +23 -0
- data/sig/vatsense/models/invoice_delete_response.rbs +15 -0
- data/sig/vatsense/models/invoice_list_params.rbs +38 -0
- data/sig/vatsense/models/invoice_list_response.rbs +34 -0
- data/sig/vatsense/models/invoice_response.rbs +32 -0
- data/sig/vatsense/models/invoice_retrieve_params.rbs +23 -0
- data/sig/vatsense/models/invoice_update_params.rbs +25 -0
- data/sig/vatsense/models/rate.rbs +79 -0
- data/sig/vatsense/models/rate_calculate_price_params.rbs +77 -0
- data/sig/vatsense/models/rate_calculate_price_response.rbs +104 -0
- data/sig/vatsense/models/rate_details_params.rbs +63 -0
- data/sig/vatsense/models/rate_find_params.rbs +63 -0
- data/sig/vatsense/models/rate_list_params.rbs +44 -0
- data/sig/vatsense/models/rate_list_response.rbs +32 -0
- data/sig/vatsense/models/rate_list_types_params.rbs +15 -0
- data/sig/vatsense/models/rate_list_types_response.rbs +28 -0
- data/sig/vatsense/models/rate_with_tax_rate.rbs +62 -0
- data/sig/vatsense/models/sandbox_generate_key_params.rbs +15 -0
- data/sig/vatsense/models/sandbox_generate_key_response.rbs +85 -0
- data/sig/vatsense/models/tax_rate.rbs +72 -0
- data/sig/vatsense/models/usage_retrieve_params.rbs +15 -0
- data/sig/vatsense/models/usage_retrieve_response.rbs +81 -0
- data/sig/vatsense/models/validate_check_params.rbs +38 -0
- data/sig/vatsense/models/validate_check_response.rbs +161 -0
- data/sig/vatsense/models/vat_price.rbs +89 -0
- data/sig/vatsense/models.rbs +63 -0
- data/sig/vatsense/request_options.rbs +34 -0
- data/sig/vatsense/resources/countries.rbs +18 -0
- data/sig/vatsense/resources/currency.rbs +27 -0
- data/sig/vatsense/resources/invoice/item.rbs +38 -0
- data/sig/vatsense/resources/invoice.rbs +69 -0
- data/sig/vatsense/resources/rates.rbs +50 -0
- data/sig/vatsense/resources/sandbox.rbs +11 -0
- data/sig/vatsense/resources/usage.rbs +11 -0
- data/sig/vatsense/resources/validate.rbs +14 -0
- data/sig/vatsense/version.rbs +3 -0
- metadata +316 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Resources
|
|
5
|
+
# VAT-compliant invoice management
|
|
6
|
+
class Invoice
|
|
7
|
+
# VAT-compliant invoice management
|
|
8
|
+
# @return [Vatsense::Resources::Invoice::Item]
|
|
9
|
+
attr_reader :item
|
|
10
|
+
|
|
11
|
+
# Some parameter documentations has been truncated, see
|
|
12
|
+
# {Vatsense::Models::InvoiceCreateParams} for more details.
|
|
13
|
+
#
|
|
14
|
+
# Create a new VAT-compliant invoice. VAT Sense will automatically calculate the
|
|
15
|
+
# totals based on the items provided.
|
|
16
|
+
#
|
|
17
|
+
# Not available with sandbox API keys.
|
|
18
|
+
#
|
|
19
|
+
# @overload create(business:, currency_code:, date:, items:, tax_point:, conversion: nil, customer: nil, has_vat: nil, invoice_number: nil, is_copy: nil, is_reverse_charge: nil, notes: nil, pad_invoice_number: nil, serial: nil, tax_type: nil, type: nil, zero_rated: nil, request_options: {})
|
|
20
|
+
#
|
|
21
|
+
# @param business [Vatsense::Models::InvoiceBusinessInput]
|
|
22
|
+
#
|
|
23
|
+
# @param currency_code [String] The 3-character currency code the invoice is billed in.
|
|
24
|
+
#
|
|
25
|
+
# @param date [String] The date the invoice was issued (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
26
|
+
#
|
|
27
|
+
# @param items [Array<Vatsense::Models::Invoice::InvoiceItemInput>]
|
|
28
|
+
#
|
|
29
|
+
# @param tax_point [String] The tax point or "time of supply" (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
30
|
+
#
|
|
31
|
+
# @param conversion [Vatsense::Models::InvoiceConversionInput]
|
|
32
|
+
#
|
|
33
|
+
# @param customer [Vatsense::Models::InvoiceCustomerInput]
|
|
34
|
+
#
|
|
35
|
+
# @param has_vat [Boolean] Whether the invoice is subject to VAT.
|
|
36
|
+
#
|
|
37
|
+
# @param invoice_number [String] A unique invoice number. If not provided, defaults to an auto-incremented number
|
|
38
|
+
#
|
|
39
|
+
# @param is_copy [Boolean] Whether the invoice is a copy of a primary invoice.
|
|
40
|
+
#
|
|
41
|
+
# @param is_reverse_charge [Boolean] Whether the invoice is zero-rated due to reverse charge.
|
|
42
|
+
#
|
|
43
|
+
# @param notes [String] Any additional notes for the invoice.
|
|
44
|
+
#
|
|
45
|
+
# @param pad_invoice_number [Integer] Pad the auto-generated invoice number with leading zeros to this length.
|
|
46
|
+
#
|
|
47
|
+
# @param serial [String] A serial prepended to the auto-generated invoice number. Each unique serial has
|
|
48
|
+
#
|
|
49
|
+
# @param tax_type [Symbol, Vatsense::Models::CreateInvoice::TaxType] Whether item prices include or exclude VAT.
|
|
50
|
+
#
|
|
51
|
+
# @param type [Symbol, Vatsense::Models::CreateInvoice::Type] The type of invoice.
|
|
52
|
+
#
|
|
53
|
+
# @param zero_rated [Boolean] Whether the invoice has been zero-rated.
|
|
54
|
+
#
|
|
55
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
56
|
+
#
|
|
57
|
+
# @return [Vatsense::Models::InvoiceResponse]
|
|
58
|
+
#
|
|
59
|
+
# @see Vatsense::Models::InvoiceCreateParams
|
|
60
|
+
def create(params)
|
|
61
|
+
parsed, options = Vatsense::InvoiceCreateParams.dump_request(params)
|
|
62
|
+
@client.request(
|
|
63
|
+
method: :post,
|
|
64
|
+
path: "invoice",
|
|
65
|
+
body: parsed,
|
|
66
|
+
model: Vatsense::InvoiceResponse,
|
|
67
|
+
options: options
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Retrieve a specific invoice by its ID.
|
|
72
|
+
#
|
|
73
|
+
# @overload retrieve(invoice_id, request_options: {})
|
|
74
|
+
#
|
|
75
|
+
# @param invoice_id [String] The unique identifier of the invoice.
|
|
76
|
+
#
|
|
77
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
78
|
+
#
|
|
79
|
+
# @return [Vatsense::Models::InvoiceResponse]
|
|
80
|
+
#
|
|
81
|
+
# @see Vatsense::Models::InvoiceRetrieveParams
|
|
82
|
+
def retrieve(invoice_id, params = {})
|
|
83
|
+
@client.request(
|
|
84
|
+
method: :get,
|
|
85
|
+
path: ["invoice/%1$s", invoice_id],
|
|
86
|
+
model: Vatsense::InvoiceResponse,
|
|
87
|
+
options: params[:request_options]
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Some parameter documentations has been truncated, see
|
|
92
|
+
# {Vatsense::Models::InvoiceUpdateParams} for more details.
|
|
93
|
+
#
|
|
94
|
+
# Update an existing invoice. Only the fields provided will be updated.
|
|
95
|
+
#
|
|
96
|
+
# @overload update(invoice_id, business:, currency_code:, date:, items:, tax_point:, conversion: nil, customer: nil, has_vat: nil, invoice_number: nil, is_copy: nil, is_reverse_charge: nil, notes: nil, pad_invoice_number: nil, serial: nil, tax_type: nil, type: nil, zero_rated: nil, request_options: {})
|
|
97
|
+
#
|
|
98
|
+
# @param invoice_id [String] The unique identifier of the invoice.
|
|
99
|
+
#
|
|
100
|
+
# @param business [Vatsense::Models::InvoiceBusinessInput]
|
|
101
|
+
#
|
|
102
|
+
# @param currency_code [String] The 3-character currency code the invoice is billed in.
|
|
103
|
+
#
|
|
104
|
+
# @param date [String] The date the invoice was issued (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
105
|
+
#
|
|
106
|
+
# @param items [Array<Vatsense::Models::Invoice::InvoiceItemInput>]
|
|
107
|
+
#
|
|
108
|
+
# @param tax_point [String] The tax point or "time of supply" (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
109
|
+
#
|
|
110
|
+
# @param conversion [Vatsense::Models::InvoiceConversionInput]
|
|
111
|
+
#
|
|
112
|
+
# @param customer [Vatsense::Models::InvoiceCustomerInput]
|
|
113
|
+
#
|
|
114
|
+
# @param has_vat [Boolean] Whether the invoice is subject to VAT.
|
|
115
|
+
#
|
|
116
|
+
# @param invoice_number [String] A unique invoice number. If not provided, defaults to an auto-incremented number
|
|
117
|
+
#
|
|
118
|
+
# @param is_copy [Boolean] Whether the invoice is a copy of a primary invoice.
|
|
119
|
+
#
|
|
120
|
+
# @param is_reverse_charge [Boolean] Whether the invoice is zero-rated due to reverse charge.
|
|
121
|
+
#
|
|
122
|
+
# @param notes [String] Any additional notes for the invoice.
|
|
123
|
+
#
|
|
124
|
+
# @param pad_invoice_number [Integer] Pad the auto-generated invoice number with leading zeros to this length.
|
|
125
|
+
#
|
|
126
|
+
# @param serial [String] A serial prepended to the auto-generated invoice number. Each unique serial has
|
|
127
|
+
#
|
|
128
|
+
# @param tax_type [Symbol, Vatsense::Models::CreateInvoice::TaxType] Whether item prices include or exclude VAT.
|
|
129
|
+
#
|
|
130
|
+
# @param type [Symbol, Vatsense::Models::CreateInvoice::Type] The type of invoice.
|
|
131
|
+
#
|
|
132
|
+
# @param zero_rated [Boolean] Whether the invoice has been zero-rated.
|
|
133
|
+
#
|
|
134
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
135
|
+
#
|
|
136
|
+
# @return [Vatsense::Models::InvoiceResponse]
|
|
137
|
+
#
|
|
138
|
+
# @see Vatsense::Models::InvoiceUpdateParams
|
|
139
|
+
def update(invoice_id, params)
|
|
140
|
+
parsed, options = Vatsense::InvoiceUpdateParams.dump_request(params)
|
|
141
|
+
@client.request(
|
|
142
|
+
method: :patch,
|
|
143
|
+
path: ["invoice/%1$s", invoice_id],
|
|
144
|
+
body: parsed,
|
|
145
|
+
model: Vatsense::InvoiceResponse,
|
|
146
|
+
options: options
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Retrieve a paginated list of all invoices.
|
|
151
|
+
#
|
|
152
|
+
# @overload list(limit: nil, offset: nil, search: nil, request_options: {})
|
|
153
|
+
#
|
|
154
|
+
# @param limit [Integer] Number of invoices to return (default 10, max 100).
|
|
155
|
+
#
|
|
156
|
+
# @param offset [Integer] Number of invoices to skip (default 0).
|
|
157
|
+
#
|
|
158
|
+
# @param search [String] Search query to filter invoices.
|
|
159
|
+
#
|
|
160
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
161
|
+
#
|
|
162
|
+
# @return [Vatsense::Models::InvoiceListResponse]
|
|
163
|
+
#
|
|
164
|
+
# @see Vatsense::Models::InvoiceListParams
|
|
165
|
+
def list(params = {})
|
|
166
|
+
parsed, options = Vatsense::InvoiceListParams.dump_request(params)
|
|
167
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
168
|
+
@client.request(
|
|
169
|
+
method: :get,
|
|
170
|
+
path: "invoice",
|
|
171
|
+
query: query,
|
|
172
|
+
model: Vatsense::Models::InvoiceListResponse,
|
|
173
|
+
options: options
|
|
174
|
+
)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Permanently delete an invoice.
|
|
178
|
+
#
|
|
179
|
+
# @overload delete(invoice_id, request_options: {})
|
|
180
|
+
#
|
|
181
|
+
# @param invoice_id [String] The unique identifier of the invoice.
|
|
182
|
+
#
|
|
183
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
184
|
+
#
|
|
185
|
+
# @return [Vatsense::Models::InvoiceDeleteResponse]
|
|
186
|
+
#
|
|
187
|
+
# @see Vatsense::Models::InvoiceDeleteParams
|
|
188
|
+
def delete(invoice_id, params = {})
|
|
189
|
+
@client.request(
|
|
190
|
+
method: :delete,
|
|
191
|
+
path: ["invoice/%1$s", invoice_id],
|
|
192
|
+
model: Vatsense::Models::InvoiceDeleteResponse,
|
|
193
|
+
options: params[:request_options]
|
|
194
|
+
)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# @api private
|
|
198
|
+
#
|
|
199
|
+
# @param client [Vatsense::Client]
|
|
200
|
+
def initialize(client:)
|
|
201
|
+
@client = client
|
|
202
|
+
@item = Vatsense::Resources::Invoice::Item.new(client: client)
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Resources
|
|
5
|
+
# VAT/GST rate lookups for countries worldwide
|
|
6
|
+
class Rates
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Vatsense::Models::RateListParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Returns a list of VAT/GST rates for all countries, sorted alphabetically by
|
|
11
|
+
# country code. Each rate is returned as a rate object containing the standard
|
|
12
|
+
# rate and any other applicable rates.
|
|
13
|
+
#
|
|
14
|
+
# You can optionally filter by country code, IP address, or EU membership.
|
|
15
|
+
#
|
|
16
|
+
# @overload list(country_code: nil, eu: nil, ip_address: nil, period: nil, request_options: {})
|
|
17
|
+
#
|
|
18
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
19
|
+
#
|
|
20
|
+
# @param eu [Boolean] Filter results by EU membership. Use 1 for EU countries only, 0 for non-EU only.
|
|
21
|
+
#
|
|
22
|
+
# @param ip_address [String] An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
23
|
+
#
|
|
24
|
+
# @param period [Time] A historical date to retrieve rates for (format "YYYY-MM-DD HH:MM:SS"). Must be
|
|
25
|
+
#
|
|
26
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
27
|
+
#
|
|
28
|
+
# @return [Vatsense::Models::RateListResponse]
|
|
29
|
+
#
|
|
30
|
+
# @see Vatsense::Models::RateListParams
|
|
31
|
+
def list(params = {})
|
|
32
|
+
parsed, options = Vatsense::RateListParams.dump_request(params)
|
|
33
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
34
|
+
@client.request(
|
|
35
|
+
method: :get,
|
|
36
|
+
path: "rates",
|
|
37
|
+
query: query,
|
|
38
|
+
model: Vatsense::Models::RateListResponse,
|
|
39
|
+
options: options
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Some parameter documentations has been truncated, see
|
|
44
|
+
# {Vatsense::Models::RateCalculatePriceParams} for more details.
|
|
45
|
+
#
|
|
46
|
+
# Combines the functionality of the "Find a tax rate" and "VAT price calculation"
|
|
47
|
+
# endpoints to return the particular VAT price for an applicable VAT rate.
|
|
48
|
+
# Requires both a location (country_code or ip_address) and a price to calculate.
|
|
49
|
+
#
|
|
50
|
+
# @overload calculate_price(price:, tax_type:, country_code: nil, eu: nil, ip_address: nil, province_code: nil, type: nil, request_options: {})
|
|
51
|
+
#
|
|
52
|
+
# @param price [String] The price to calculate on. Must be a string with exactly 2 decimal places (e.g.
|
|
53
|
+
#
|
|
54
|
+
# @param tax_type [Symbol, Vatsense::Models::RateCalculatePriceParams::TaxType] Whether the provided price is inclusive or exclusive of VAT.
|
|
55
|
+
#
|
|
56
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
57
|
+
#
|
|
58
|
+
# @param eu [Boolean] Filter results by EU membership. Use 1 for EU countries only, 0 for non-EU only.
|
|
59
|
+
#
|
|
60
|
+
# @param ip_address [String] An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
61
|
+
#
|
|
62
|
+
# @param province_code [String] A 2-character province code (e.g. "NU", "NT"). If providing a province
|
|
63
|
+
#
|
|
64
|
+
# @param type [String] The product type to find the applicable rate for. See the /rates/types
|
|
65
|
+
#
|
|
66
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
67
|
+
#
|
|
68
|
+
# @return [Vatsense::Models::RateCalculatePriceResponse]
|
|
69
|
+
#
|
|
70
|
+
# @see Vatsense::Models::RateCalculatePriceParams
|
|
71
|
+
def calculate_price(params)
|
|
72
|
+
parsed, options = Vatsense::RateCalculatePriceParams.dump_request(params)
|
|
73
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
74
|
+
@client.request(
|
|
75
|
+
method: :get,
|
|
76
|
+
path: "rates/price",
|
|
77
|
+
query: query,
|
|
78
|
+
model: Vatsense::Models::RateCalculatePriceResponse,
|
|
79
|
+
options: options
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Some parameter documentations has been truncated, see
|
|
84
|
+
# {Vatsense::Models::RateDetailsParams} for more details.
|
|
85
|
+
#
|
|
86
|
+
# Get detailed tax rate information for a location, including all applicable rate
|
|
87
|
+
# classes (standard, reduced, zero, etc.).
|
|
88
|
+
#
|
|
89
|
+
# @overload details(country_code: nil, eu: nil, ip_address: nil, period: nil, province_code: nil, type: nil, request_options: {})
|
|
90
|
+
#
|
|
91
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
92
|
+
#
|
|
93
|
+
# @param eu [Boolean] Filter results by EU membership. Use 1 for EU countries only, 0 for non-EU only.
|
|
94
|
+
#
|
|
95
|
+
# @param ip_address [String] An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
96
|
+
#
|
|
97
|
+
# @param period [Time] A historical date to retrieve rates for (format "YYYY-MM-DD HH:MM:SS"). Must be
|
|
98
|
+
#
|
|
99
|
+
# @param province_code [String] A 2-character province code (e.g. "NU", "NT"). If providing a province
|
|
100
|
+
#
|
|
101
|
+
# @param type [String] The product type to find the applicable rate for. See the /rates/types
|
|
102
|
+
#
|
|
103
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
104
|
+
#
|
|
105
|
+
# @return [Vatsense::Models::FindRate]
|
|
106
|
+
#
|
|
107
|
+
# @see Vatsense::Models::RateDetailsParams
|
|
108
|
+
def details(params = {})
|
|
109
|
+
parsed, options = Vatsense::RateDetailsParams.dump_request(params)
|
|
110
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
111
|
+
@client.request(
|
|
112
|
+
method: :get,
|
|
113
|
+
path: "rates/tax_rate",
|
|
114
|
+
query: query,
|
|
115
|
+
model: Vatsense::FindRate,
|
|
116
|
+
options: options
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Some parameter documentations has been truncated, see
|
|
121
|
+
# {Vatsense::Models::RateFindParams} for more details.
|
|
122
|
+
#
|
|
123
|
+
# A handy endpoint for finding a rate that applies to a particular country and
|
|
124
|
+
# optional product type, based on country code or IP address.
|
|
125
|
+
#
|
|
126
|
+
# If no type is provided, or no specific rate is applied to the given type, then
|
|
127
|
+
# the standard rate will be returned if the country is subject to tax.
|
|
128
|
+
#
|
|
129
|
+
# If the country is not subject to VAT/GST then an error response will be
|
|
130
|
+
# returned, indicating no tax applies.
|
|
131
|
+
#
|
|
132
|
+
# @overload find(country_code: nil, eu: nil, ip_address: nil, period: nil, province_code: nil, type: nil, request_options: {})
|
|
133
|
+
#
|
|
134
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
135
|
+
#
|
|
136
|
+
# @param eu [Boolean] Filter results by EU membership. Use 1 for EU countries only, 0 for non-EU only.
|
|
137
|
+
#
|
|
138
|
+
# @param ip_address [String] An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
139
|
+
#
|
|
140
|
+
# @param period [Time] A historical date to retrieve rates for (format "YYYY-MM-DD HH:MM:SS"). Must be
|
|
141
|
+
#
|
|
142
|
+
# @param province_code [String] A 2-character province code (e.g. "NU", "NT"). If providing a province
|
|
143
|
+
#
|
|
144
|
+
# @param type [String] The product type to find the applicable rate for. See the /rates/types
|
|
145
|
+
#
|
|
146
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
147
|
+
#
|
|
148
|
+
# @return [Vatsense::Models::FindRate]
|
|
149
|
+
#
|
|
150
|
+
# @see Vatsense::Models::RateFindParams
|
|
151
|
+
def find(params = {})
|
|
152
|
+
parsed, options = Vatsense::RateFindParams.dump_request(params)
|
|
153
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
154
|
+
@client.request(
|
|
155
|
+
method: :get,
|
|
156
|
+
path: "rates/rate",
|
|
157
|
+
query: query,
|
|
158
|
+
model: Vatsense::FindRate,
|
|
159
|
+
options: options
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Returns a list of all available product types that can be used to filter tax
|
|
164
|
+
# rates.
|
|
165
|
+
#
|
|
166
|
+
# @overload list_types(request_options: {})
|
|
167
|
+
#
|
|
168
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
169
|
+
#
|
|
170
|
+
# @return [Vatsense::Models::RateListTypesResponse]
|
|
171
|
+
#
|
|
172
|
+
# @see Vatsense::Models::RateListTypesParams
|
|
173
|
+
def list_types(params = {})
|
|
174
|
+
@client.request(
|
|
175
|
+
method: :get,
|
|
176
|
+
path: "rates/types",
|
|
177
|
+
model: Vatsense::Models::RateListTypesResponse,
|
|
178
|
+
options: params[:request_options]
|
|
179
|
+
)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# @api private
|
|
183
|
+
#
|
|
184
|
+
# @param client [Vatsense::Client]
|
|
185
|
+
def initialize(client:)
|
|
186
|
+
@client = client
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Resources
|
|
5
|
+
# Temporary sandbox API keys for testing
|
|
6
|
+
class Sandbox
|
|
7
|
+
# Generate a temporary sandbox API key for testing. Sandbox keys have limited
|
|
8
|
+
# request allowances and restricted endpoint access (no invoice endpoints). Rate
|
|
9
|
+
# limited to 1 key per IP address per 6 hours.
|
|
10
|
+
#
|
|
11
|
+
# @overload generate_key(request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
|
+
#
|
|
15
|
+
# @return [Vatsense::Models::SandboxGenerateKeyResponse]
|
|
16
|
+
#
|
|
17
|
+
# @see Vatsense::Models::SandboxGenerateKeyParams
|
|
18
|
+
def generate_key(params = {})
|
|
19
|
+
@client.request(
|
|
20
|
+
method: :post,
|
|
21
|
+
path: "sandbox/key",
|
|
22
|
+
model: Vatsense::Models::SandboxGenerateKeyResponse,
|
|
23
|
+
security: {},
|
|
24
|
+
options: params[:request_options]
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @api private
|
|
29
|
+
#
|
|
30
|
+
# @param client [Vatsense::Client]
|
|
31
|
+
def initialize(client:)
|
|
32
|
+
@client = client
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Resources
|
|
5
|
+
# API usage statistics
|
|
6
|
+
class Usage
|
|
7
|
+
# Check your used and remaining API requests.
|
|
8
|
+
#
|
|
9
|
+
# @overload retrieve(request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
12
|
+
#
|
|
13
|
+
# @return [Vatsense::Models::UsageRetrieveResponse]
|
|
14
|
+
#
|
|
15
|
+
# @see Vatsense::Models::UsageRetrieveParams
|
|
16
|
+
def retrieve(params = {})
|
|
17
|
+
@client.request(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: "usage",
|
|
20
|
+
model: Vatsense::Models::UsageRetrieveResponse,
|
|
21
|
+
options: params[:request_options]
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @api private
|
|
26
|
+
#
|
|
27
|
+
# @param client [Vatsense::Client]
|
|
28
|
+
def initialize(client:)
|
|
29
|
+
@client = client
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Resources
|
|
5
|
+
# VAT and EORI number validation
|
|
6
|
+
class Validate
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Vatsense::Models::ValidateCheckParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Check whether a given VAT number or EORI number is valid against live government
|
|
11
|
+
# records.
|
|
12
|
+
#
|
|
13
|
+
# **VAT validation** checks against UK (HMRC), EU (VIES), Australia, Norway,
|
|
14
|
+
# Switzerland, South Africa, and Brazil records.
|
|
15
|
+
#
|
|
16
|
+
# **EORI validation** checks against UK and EU records only.
|
|
17
|
+
#
|
|
18
|
+
# If the external validation service is temporarily unavailable, the API returns a
|
|
19
|
+
# `412` error and the request does not count against your usage quota.
|
|
20
|
+
#
|
|
21
|
+
# Provide either `vat_number` or `eori_number`, but not both.
|
|
22
|
+
#
|
|
23
|
+
# @overload check(eori_number: nil, requester_vat_number: nil, vat_number: nil, request_options: {})
|
|
24
|
+
#
|
|
25
|
+
# @param eori_number [String] The EORI number to validate. Must include the leading 2-character
|
|
26
|
+
#
|
|
27
|
+
# @param requester_vat_number [String] Your own VAT number. If supplied, the response will include a unique
|
|
28
|
+
#
|
|
29
|
+
# @param vat_number [String] The VAT number to validate. Must include the leading 2-character
|
|
30
|
+
#
|
|
31
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
32
|
+
#
|
|
33
|
+
# @return [Vatsense::Models::ValidateCheckResponse]
|
|
34
|
+
#
|
|
35
|
+
# @see Vatsense::Models::ValidateCheckParams
|
|
36
|
+
def check(params = {})
|
|
37
|
+
parsed, options = Vatsense::ValidateCheckParams.dump_request(params)
|
|
38
|
+
query = Vatsense::Internal::Util.encode_query_params(parsed)
|
|
39
|
+
@client.request(
|
|
40
|
+
method: :get,
|
|
41
|
+
path: "validate",
|
|
42
|
+
query: query,
|
|
43
|
+
model: Vatsense::Models::ValidateCheckResponse,
|
|
44
|
+
options: options
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @api private
|
|
49
|
+
#
|
|
50
|
+
# @param client [Vatsense::Client]
|
|
51
|
+
def initialize(client:)
|
|
52
|
+
@client = client
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
data/lib/vatsense.rb
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Standard libraries.
|
|
4
|
+
# rubocop:disable Lint/RedundantRequireStatement
|
|
5
|
+
require "English"
|
|
6
|
+
require "base64"
|
|
7
|
+
require "cgi"
|
|
8
|
+
require "date"
|
|
9
|
+
require "erb"
|
|
10
|
+
require "etc"
|
|
11
|
+
require "json"
|
|
12
|
+
require "net/http"
|
|
13
|
+
require "openssl"
|
|
14
|
+
require "pathname"
|
|
15
|
+
require "rbconfig"
|
|
16
|
+
require "securerandom"
|
|
17
|
+
require "set"
|
|
18
|
+
require "stringio"
|
|
19
|
+
require "time"
|
|
20
|
+
require "uri"
|
|
21
|
+
# rubocop:enable Lint/RedundantRequireStatement
|
|
22
|
+
|
|
23
|
+
# We already ship the preferred sorbet manifests in the package itself.
|
|
24
|
+
# `tapioca` currently does not offer us a way to opt out of unnecessary compilation.
|
|
25
|
+
if Object.const_defined?(:Tapioca) &&
|
|
26
|
+
caller.chain([$PROGRAM_NAME]).chain(ARGV).any?(/tapioca/) &&
|
|
27
|
+
ARGV.none?(/dsl/)
|
|
28
|
+
return
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Gems.
|
|
32
|
+
require "connection_pool"
|
|
33
|
+
|
|
34
|
+
# Package files.
|
|
35
|
+
require_relative "vatsense/version"
|
|
36
|
+
require_relative "vatsense/internal/util"
|
|
37
|
+
require_relative "vatsense/internal/type/converter"
|
|
38
|
+
require_relative "vatsense/internal/type/unknown"
|
|
39
|
+
require_relative "vatsense/internal/type/boolean"
|
|
40
|
+
require_relative "vatsense/internal/type/file_input"
|
|
41
|
+
require_relative "vatsense/internal/type/enum"
|
|
42
|
+
require_relative "vatsense/internal/type/union"
|
|
43
|
+
require_relative "vatsense/internal/type/array_of"
|
|
44
|
+
require_relative "vatsense/internal/type/hash_of"
|
|
45
|
+
require_relative "vatsense/internal/type/base_model"
|
|
46
|
+
require_relative "vatsense/internal/type/base_page"
|
|
47
|
+
require_relative "vatsense/internal/type/request_parameters"
|
|
48
|
+
require_relative "vatsense/internal"
|
|
49
|
+
require_relative "vatsense/request_options"
|
|
50
|
+
require_relative "vatsense/file_part"
|
|
51
|
+
require_relative "vatsense/errors"
|
|
52
|
+
require_relative "vatsense/internal/transport/base_client"
|
|
53
|
+
require_relative "vatsense/internal/transport/pooled_net_requester"
|
|
54
|
+
require_relative "vatsense/client"
|
|
55
|
+
require_relative "vatsense/models/invoice/invoice_item_input"
|
|
56
|
+
require_relative "vatsense/models/create_invoice"
|
|
57
|
+
require_relative "vatsense/models/tax_rate"
|
|
58
|
+
require_relative "vatsense/models/country"
|
|
59
|
+
require_relative "vatsense/models/country_list_params"
|
|
60
|
+
require_relative "vatsense/models/country_list_provinces_params"
|
|
61
|
+
require_relative "vatsense/models/country_list_provinces_response"
|
|
62
|
+
require_relative "vatsense/models/country_list_response"
|
|
63
|
+
require_relative "vatsense/models/currency_calculate_vat_price_params"
|
|
64
|
+
require_relative "vatsense/models/currency_calculate_vat_price_response"
|
|
65
|
+
require_relative "vatsense/models/currency_convert_params"
|
|
66
|
+
require_relative "vatsense/models/currency_convert_response"
|
|
67
|
+
require_relative "vatsense/models/currency_list_params"
|
|
68
|
+
require_relative "vatsense/models/currency_list_response"
|
|
69
|
+
require_relative "vatsense/models/find_rate"
|
|
70
|
+
require_relative "vatsense/models/invoice/invoice_item"
|
|
71
|
+
require_relative "vatsense/models/invoice/item_add_params"
|
|
72
|
+
require_relative "vatsense/models/invoice/item_delete_params"
|
|
73
|
+
require_relative "vatsense/models/invoice/item_retrieve_params"
|
|
74
|
+
require_relative "vatsense/models/invoice/item_retrieve_response"
|
|
75
|
+
require_relative "vatsense/models/invoice/item_update_params"
|
|
76
|
+
require_relative "vatsense/models/invoice"
|
|
77
|
+
require_relative "vatsense/models/invoice_business_input"
|
|
78
|
+
require_relative "vatsense/models/invoice_conversion_input"
|
|
79
|
+
require_relative "vatsense/models/invoice_create_params"
|
|
80
|
+
require_relative "vatsense/models/invoice_customer_input"
|
|
81
|
+
require_relative "vatsense/models/invoice_delete_params"
|
|
82
|
+
require_relative "vatsense/models/invoice_delete_response"
|
|
83
|
+
require_relative "vatsense/models/invoice_list_params"
|
|
84
|
+
require_relative "vatsense/models/invoice_list_response"
|
|
85
|
+
require_relative "vatsense/models/invoice_response"
|
|
86
|
+
require_relative "vatsense/models/invoice_retrieve_params"
|
|
87
|
+
require_relative "vatsense/models/invoice_update_params"
|
|
88
|
+
require_relative "vatsense/models/rate"
|
|
89
|
+
require_relative "vatsense/models/rate_calculate_price_params"
|
|
90
|
+
require_relative "vatsense/models/rate_calculate_price_response"
|
|
91
|
+
require_relative "vatsense/models/rate_details_params"
|
|
92
|
+
require_relative "vatsense/models/rate_find_params"
|
|
93
|
+
require_relative "vatsense/models/rate_list_params"
|
|
94
|
+
require_relative "vatsense/models/rate_list_response"
|
|
95
|
+
require_relative "vatsense/models/rate_list_types_params"
|
|
96
|
+
require_relative "vatsense/models/rate_list_types_response"
|
|
97
|
+
require_relative "vatsense/models/rate_with_tax_rate"
|
|
98
|
+
require_relative "vatsense/models/sandbox_generate_key_params"
|
|
99
|
+
require_relative "vatsense/models/sandbox_generate_key_response"
|
|
100
|
+
require_relative "vatsense/models/usage_retrieve_params"
|
|
101
|
+
require_relative "vatsense/models/usage_retrieve_response"
|
|
102
|
+
require_relative "vatsense/models/validate_check_params"
|
|
103
|
+
require_relative "vatsense/models/validate_check_response"
|
|
104
|
+
require_relative "vatsense/models/vat_price"
|
|
105
|
+
require_relative "vatsense/models"
|
|
106
|
+
require_relative "vatsense/resources/countries"
|
|
107
|
+
require_relative "vatsense/resources/currency"
|
|
108
|
+
require_relative "vatsense/resources/invoice"
|
|
109
|
+
require_relative "vatsense/resources/invoice/item"
|
|
110
|
+
require_relative "vatsense/resources/rates"
|
|
111
|
+
require_relative "vatsense/resources/sandbox"
|
|
112
|
+
require_relative "vatsense/resources/usage"
|
|
113
|
+
require_relative "vatsense/resources/validate"
|