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.
Files changed (245) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +14 -0
  4. data/README.md +235 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/vatsense/client.rb +129 -0
  7. data/lib/vatsense/errors.rb +228 -0
  8. data/lib/vatsense/file_part.rb +58 -0
  9. data/lib/vatsense/internal/transport/base_client.rb +595 -0
  10. data/lib/vatsense/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/vatsense/internal/type/array_of.rb +168 -0
  12. data/lib/vatsense/internal/type/base_model.rb +531 -0
  13. data/lib/vatsense/internal/type/base_page.rb +55 -0
  14. data/lib/vatsense/internal/type/boolean.rb +77 -0
  15. data/lib/vatsense/internal/type/converter.rb +327 -0
  16. data/lib/vatsense/internal/type/enum.rb +131 -0
  17. data/lib/vatsense/internal/type/file_input.rb +111 -0
  18. data/lib/vatsense/internal/type/hash_of.rb +188 -0
  19. data/lib/vatsense/internal/type/request_parameters.rb +42 -0
  20. data/lib/vatsense/internal/type/union.rb +237 -0
  21. data/lib/vatsense/internal/type/unknown.rb +81 -0
  22. data/lib/vatsense/internal/util.rb +951 -0
  23. data/lib/vatsense/internal.rb +20 -0
  24. data/lib/vatsense/models/country.rb +70 -0
  25. data/lib/vatsense/models/country_list_params.rb +34 -0
  26. data/lib/vatsense/models/country_list_provinces_params.rb +22 -0
  27. data/lib/vatsense/models/country_list_provinces_response.rb +67 -0
  28. data/lib/vatsense/models/country_list_response.rb +28 -0
  29. data/lib/vatsense/models/create_invoice.rb +171 -0
  30. data/lib/vatsense/models/currency_calculate_vat_price_params.rb +53 -0
  31. data/lib/vatsense/models/currency_calculate_vat_price_response.rb +28 -0
  32. data/lib/vatsense/models/currency_convert_params.rb +53 -0
  33. data/lib/vatsense/models/currency_convert_response.rb +87 -0
  34. data/lib/vatsense/models/currency_list_params.rb +45 -0
  35. data/lib/vatsense/models/currency_list_response.rb +72 -0
  36. data/lib/vatsense/models/find_rate.rb +28 -0
  37. data/lib/vatsense/models/invoice/invoice_item.rb +71 -0
  38. data/lib/vatsense/models/invoice/invoice_item_input.rb +52 -0
  39. data/lib/vatsense/models/invoice/item_add_params.rb +28 -0
  40. data/lib/vatsense/models/invoice/item_delete_params.rb +28 -0
  41. data/lib/vatsense/models/invoice/item_retrieve_params.rb +28 -0
  42. data/lib/vatsense/models/invoice/item_retrieve_response.rb +30 -0
  43. data/lib/vatsense/models/invoice/item_update_params.rb +28 -0
  44. data/lib/vatsense/models/invoice.rb +301 -0
  45. data/lib/vatsense/models/invoice_business_input.rb +80 -0
  46. data/lib/vatsense/models/invoice_conversion_input.rb +24 -0
  47. data/lib/vatsense/models/invoice_create_params.rb +14 -0
  48. data/lib/vatsense/models/invoice_customer_input.rb +59 -0
  49. data/lib/vatsense/models/invoice_delete_params.rb +20 -0
  50. data/lib/vatsense/models/invoice_delete_response.rb +22 -0
  51. data/lib/vatsense/models/invoice_list_params.rb +38 -0
  52. data/lib/vatsense/models/invoice_list_response.rb +28 -0
  53. data/lib/vatsense/models/invoice_response.rb +28 -0
  54. data/lib/vatsense/models/invoice_retrieve_params.rb +20 -0
  55. data/lib/vatsense/models/invoice_update_params.rb +20 -0
  56. data/lib/vatsense/models/rate.rb +74 -0
  57. data/lib/vatsense/models/rate_calculate_price_params.rb +88 -0
  58. data/lib/vatsense/models/rate_calculate_price_response.rb +79 -0
  59. data/lib/vatsense/models/rate_details_params.rb +69 -0
  60. data/lib/vatsense/models/rate_find_params.rb +69 -0
  61. data/lib/vatsense/models/rate_list_params.rb +51 -0
  62. data/lib/vatsense/models/rate_list_response.rb +28 -0
  63. data/lib/vatsense/models/rate_list_types_params.rb +14 -0
  64. data/lib/vatsense/models/rate_list_types_response.rb +28 -0
  65. data/lib/vatsense/models/rate_with_tax_rate.rb +49 -0
  66. data/lib/vatsense/models/sandbox_generate_key_params.rb +14 -0
  67. data/lib/vatsense/models/sandbox_generate_key_response.rb +68 -0
  68. data/lib/vatsense/models/tax_rate.rb +76 -0
  69. data/lib/vatsense/models/usage_retrieve_params.rb +14 -0
  70. data/lib/vatsense/models/usage_retrieve_response.rb +67 -0
  71. data/lib/vatsense/models/validate_check_params.rb +48 -0
  72. data/lib/vatsense/models/validate_check_response.rb +135 -0
  73. data/lib/vatsense/models/vat_price.rb +86 -0
  74. data/lib/vatsense/models.rb +103 -0
  75. data/lib/vatsense/request_options.rb +77 -0
  76. data/lib/vatsense/resources/countries.rb +70 -0
  77. data/lib/vatsense/resources/currency.rb +111 -0
  78. data/lib/vatsense/resources/invoice/item.rb +133 -0
  79. data/lib/vatsense/resources/invoice.rb +206 -0
  80. data/lib/vatsense/resources/rates.rb +190 -0
  81. data/lib/vatsense/resources/sandbox.rb +36 -0
  82. data/lib/vatsense/resources/usage.rb +33 -0
  83. data/lib/vatsense/resources/validate.rb +56 -0
  84. data/lib/vatsense/version.rb +5 -0
  85. data/lib/vatsense.rb +113 -0
  86. data/manifest.yaml +17 -0
  87. data/rbi/vatsense/client.rbi +93 -0
  88. data/rbi/vatsense/errors.rbi +205 -0
  89. data/rbi/vatsense/file_part.rbi +37 -0
  90. data/rbi/vatsense/internal/transport/base_client.rbi +300 -0
  91. data/rbi/vatsense/internal/transport/pooled_net_requester.rbi +83 -0
  92. data/rbi/vatsense/internal/type/array_of.rbi +104 -0
  93. data/rbi/vatsense/internal/type/base_model.rbi +306 -0
  94. data/rbi/vatsense/internal/type/base_page.rbi +42 -0
  95. data/rbi/vatsense/internal/type/boolean.rbi +58 -0
  96. data/rbi/vatsense/internal/type/converter.rbi +216 -0
  97. data/rbi/vatsense/internal/type/enum.rbi +82 -0
  98. data/rbi/vatsense/internal/type/file_input.rbi +59 -0
  99. data/rbi/vatsense/internal/type/hash_of.rbi +104 -0
  100. data/rbi/vatsense/internal/type/request_parameters.rbi +29 -0
  101. data/rbi/vatsense/internal/type/union.rbi +128 -0
  102. data/rbi/vatsense/internal/type/unknown.rbi +58 -0
  103. data/rbi/vatsense/internal/util.rbi +507 -0
  104. data/rbi/vatsense/internal.rbi +16 -0
  105. data/rbi/vatsense/models/country.rbi +111 -0
  106. data/rbi/vatsense/models/country_list_params.rbi +59 -0
  107. data/rbi/vatsense/models/country_list_provinces_params.rbi +43 -0
  108. data/rbi/vatsense/models/country_list_provinces_response.rbi +177 -0
  109. data/rbi/vatsense/models/country_list_response.rbi +55 -0
  110. data/rbi/vatsense/models/create_invoice.rbi +240 -0
  111. data/rbi/vatsense/models/currency_calculate_vat_price_params.rbi +100 -0
  112. data/rbi/vatsense/models/currency_calculate_vat_price_response.rbi +51 -0
  113. data/rbi/vatsense/models/currency_convert_params.rbi +81 -0
  114. data/rbi/vatsense/models/currency_convert_response.rbi +190 -0
  115. data/rbi/vatsense/models/currency_list_params.rbi +79 -0
  116. data/rbi/vatsense/models/currency_list_response.rbi +174 -0
  117. data/rbi/vatsense/models/find_rate.rbi +50 -0
  118. data/rbi/vatsense/models/invoice/invoice_item.rbi +129 -0
  119. data/rbi/vatsense/models/invoice/invoice_item_input.rbi +79 -0
  120. data/rbi/vatsense/models/invoice/item_add_params.rbi +45 -0
  121. data/rbi/vatsense/models/invoice/item_delete_params.rbi +48 -0
  122. data/rbi/vatsense/models/invoice/item_retrieve_params.rbi +48 -0
  123. data/rbi/vatsense/models/invoice/item_retrieve_response.rbi +57 -0
  124. data/rbi/vatsense/models/invoice/item_update_params.rbi +48 -0
  125. data/rbi/vatsense/models/invoice.rbi +481 -0
  126. data/rbi/vatsense/models/invoice_business_input.rbi +113 -0
  127. data/rbi/vatsense/models/invoice_conversion_input.rbi +35 -0
  128. data/rbi/vatsense/models/invoice_create_params.rbi +27 -0
  129. data/rbi/vatsense/models/invoice_customer_input.rbi +93 -0
  130. data/rbi/vatsense/models/invoice_delete_params.rbi +35 -0
  131. data/rbi/vatsense/models/invoice_delete_response.rbi +31 -0
  132. data/rbi/vatsense/models/invoice_list_params.rbi +68 -0
  133. data/rbi/vatsense/models/invoice_list_response.rbi +55 -0
  134. data/rbi/vatsense/models/invoice_response.rbi +48 -0
  135. data/rbi/vatsense/models/invoice_retrieve_params.rbi +35 -0
  136. data/rbi/vatsense/models/invoice_update_params.rbi +35 -0
  137. data/rbi/vatsense/models/rate.rbi +119 -0
  138. data/rbi/vatsense/models/rate_calculate_price_params.rbi +144 -0
  139. data/rbi/vatsense/models/rate_calculate_price_response.rbi +184 -0
  140. data/rbi/vatsense/models/rate_details_params.rbi +109 -0
  141. data/rbi/vatsense/models/rate_find_params.rbi +109 -0
  142. data/rbi/vatsense/models/rate_list_params.rbi +83 -0
  143. data/rbi/vatsense/models/rate_list_response.rbi +48 -0
  144. data/rbi/vatsense/models/rate_list_types_params.rbi +27 -0
  145. data/rbi/vatsense/models/rate_list_types_response.rbi +51 -0
  146. data/rbi/vatsense/models/rate_with_tax_rate.rbi +94 -0
  147. data/rbi/vatsense/models/sandbox_generate_key_params.rbi +27 -0
  148. data/rbi/vatsense/models/sandbox_generate_key_response.rbi +135 -0
  149. data/rbi/vatsense/models/tax_rate.rbi +109 -0
  150. data/rbi/vatsense/models/usage_retrieve_params.rbi +27 -0
  151. data/rbi/vatsense/models/usage_retrieve_response.rbi +155 -0
  152. data/rbi/vatsense/models/validate_check_params.rbi +82 -0
  153. data/rbi/vatsense/models/validate_check_response.rbi +285 -0
  154. data/rbi/vatsense/models/vat_price.rbi +136 -0
  155. data/rbi/vatsense/models.rbi +66 -0
  156. data/rbi/vatsense/request_options.rbi +59 -0
  157. data/rbi/vatsense/resources/countries.rbi +49 -0
  158. data/rbi/vatsense/resources/currency.rbi +82 -0
  159. data/rbi/vatsense/resources/invoice/item.rbi +97 -0
  160. data/rbi/vatsense/resources/invoice.rbi +191 -0
  161. data/rbi/vatsense/resources/rates.rbi +164 -0
  162. data/rbi/vatsense/resources/sandbox.rbi +24 -0
  163. data/rbi/vatsense/resources/usage.rbi +22 -0
  164. data/rbi/vatsense/resources/validate.rbi +51 -0
  165. data/rbi/vatsense/version.rbi +5 -0
  166. data/sig/vatsense/client.rbs +45 -0
  167. data/sig/vatsense/errors.rbs +117 -0
  168. data/sig/vatsense/file_part.rbs +21 -0
  169. data/sig/vatsense/internal/transport/base_client.rbs +135 -0
  170. data/sig/vatsense/internal/transport/pooled_net_requester.rbs +48 -0
  171. data/sig/vatsense/internal/type/array_of.rbs +48 -0
  172. data/sig/vatsense/internal/type/base_model.rbs +102 -0
  173. data/sig/vatsense/internal/type/base_page.rbs +24 -0
  174. data/sig/vatsense/internal/type/boolean.rbs +26 -0
  175. data/sig/vatsense/internal/type/converter.rbs +79 -0
  176. data/sig/vatsense/internal/type/enum.rbs +32 -0
  177. data/sig/vatsense/internal/type/file_input.rbs +25 -0
  178. data/sig/vatsense/internal/type/hash_of.rbs +48 -0
  179. data/sig/vatsense/internal/type/request_parameters.rbs +17 -0
  180. data/sig/vatsense/internal/type/union.rbs +52 -0
  181. data/sig/vatsense/internal/type/unknown.rbs +26 -0
  182. data/sig/vatsense/internal/util.rbs +195 -0
  183. data/sig/vatsense/internal.rbs +9 -0
  184. data/sig/vatsense/models/country.rbs +76 -0
  185. data/sig/vatsense/models/country_list_params.rbs +32 -0
  186. data/sig/vatsense/models/country_list_provinces_params.rbs +23 -0
  187. data/sig/vatsense/models/country_list_provinces_response.rbs +90 -0
  188. data/sig/vatsense/models/country_list_response.rbs +32 -0
  189. data/sig/vatsense/models/create_invoice.rbs +154 -0
  190. data/sig/vatsense/models/currency_calculate_vat_price_params.rbs +47 -0
  191. data/sig/vatsense/models/currency_calculate_vat_price_response.rbs +28 -0
  192. data/sig/vatsense/models/currency_convert_params.rbs +47 -0
  193. data/sig/vatsense/models/currency_convert_response.rbs +104 -0
  194. data/sig/vatsense/models/currency_list_params.rbs +45 -0
  195. data/sig/vatsense/models/currency_list_response.rbs +90 -0
  196. data/sig/vatsense/models/find_rate.rbs +32 -0
  197. data/sig/vatsense/models/invoice/invoice_item.rbs +85 -0
  198. data/sig/vatsense/models/invoice/invoice_item_input.rbs +46 -0
  199. data/sig/vatsense/models/invoice/item_add_params.rbs +33 -0
  200. data/sig/vatsense/models/invoice/item_delete_params.rbs +30 -0
  201. data/sig/vatsense/models/invoice/item_retrieve_params.rbs +30 -0
  202. data/sig/vatsense/models/invoice/item_retrieve_response.rbs +36 -0
  203. data/sig/vatsense/models/invoice/item_update_params.rbs +34 -0
  204. data/sig/vatsense/models/invoice.rbs +332 -0
  205. data/sig/vatsense/models/invoice_business_input.rbs +72 -0
  206. data/sig/vatsense/models/invoice_conversion_input.rbs +15 -0
  207. data/sig/vatsense/models/invoice_create_params.rbs +15 -0
  208. data/sig/vatsense/models/invoice_customer_input.rbs +62 -0
  209. data/sig/vatsense/models/invoice_delete_params.rbs +23 -0
  210. data/sig/vatsense/models/invoice_delete_response.rbs +15 -0
  211. data/sig/vatsense/models/invoice_list_params.rbs +38 -0
  212. data/sig/vatsense/models/invoice_list_response.rbs +34 -0
  213. data/sig/vatsense/models/invoice_response.rbs +32 -0
  214. data/sig/vatsense/models/invoice_retrieve_params.rbs +23 -0
  215. data/sig/vatsense/models/invoice_update_params.rbs +25 -0
  216. data/sig/vatsense/models/rate.rbs +79 -0
  217. data/sig/vatsense/models/rate_calculate_price_params.rbs +77 -0
  218. data/sig/vatsense/models/rate_calculate_price_response.rbs +104 -0
  219. data/sig/vatsense/models/rate_details_params.rbs +63 -0
  220. data/sig/vatsense/models/rate_find_params.rbs +63 -0
  221. data/sig/vatsense/models/rate_list_params.rbs +44 -0
  222. data/sig/vatsense/models/rate_list_response.rbs +32 -0
  223. data/sig/vatsense/models/rate_list_types_params.rbs +15 -0
  224. data/sig/vatsense/models/rate_list_types_response.rbs +28 -0
  225. data/sig/vatsense/models/rate_with_tax_rate.rbs +62 -0
  226. data/sig/vatsense/models/sandbox_generate_key_params.rbs +15 -0
  227. data/sig/vatsense/models/sandbox_generate_key_response.rbs +85 -0
  228. data/sig/vatsense/models/tax_rate.rbs +72 -0
  229. data/sig/vatsense/models/usage_retrieve_params.rbs +15 -0
  230. data/sig/vatsense/models/usage_retrieve_response.rbs +81 -0
  231. data/sig/vatsense/models/validate_check_params.rbs +38 -0
  232. data/sig/vatsense/models/validate_check_response.rbs +161 -0
  233. data/sig/vatsense/models/vat_price.rbs +89 -0
  234. data/sig/vatsense/models.rbs +63 -0
  235. data/sig/vatsense/request_options.rbs +34 -0
  236. data/sig/vatsense/resources/countries.rbs +18 -0
  237. data/sig/vatsense/resources/currency.rbs +27 -0
  238. data/sig/vatsense/resources/invoice/item.rbs +38 -0
  239. data/sig/vatsense/resources/invoice.rbs +69 -0
  240. data/sig/vatsense/resources/rates.rbs +50 -0
  241. data/sig/vatsense/resources/sandbox.rbs +11 -0
  242. data/sig/vatsense/resources/usage.rbs +11 -0
  243. data/sig/vatsense/resources/validate.rbs +14 -0
  244. data/sig/vatsense/version.rbs +3 -0
  245. metadata +316 -0
@@ -0,0 +1,33 @@
1
+ module Vatsense
2
+ module Models
3
+ module Invoice
4
+ type item_add_params =
5
+ {
6
+ invoice_id: String,
7
+ items: ::Array[Vatsense::Invoice::InvoiceItemInput]
8
+ }
9
+ & Vatsense::Internal::Type::request_parameters
10
+
11
+ class ItemAddParams < Vatsense::Internal::Type::BaseModel
12
+ extend Vatsense::Internal::Type::RequestParameters::Converter
13
+ include Vatsense::Internal::Type::RequestParameters
14
+
15
+ attr_accessor invoice_id: String
16
+
17
+ attr_accessor items: ::Array[Vatsense::Invoice::InvoiceItemInput]
18
+
19
+ def initialize: (
20
+ invoice_id: String,
21
+ items: ::Array[Vatsense::Invoice::InvoiceItemInput],
22
+ ?request_options: Vatsense::request_opts
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ invoice_id: String,
27
+ items: ::Array[Vatsense::Invoice::InvoiceItemInput],
28
+ request_options: Vatsense::RequestOptions
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,30 @@
1
+ module Vatsense
2
+ module Models
3
+ module Invoice
4
+ type item_delete_params =
5
+ { invoice_id: String, item_id: String }
6
+ & Vatsense::Internal::Type::request_parameters
7
+
8
+ class ItemDeleteParams < Vatsense::Internal::Type::BaseModel
9
+ extend Vatsense::Internal::Type::RequestParameters::Converter
10
+ include Vatsense::Internal::Type::RequestParameters
11
+
12
+ attr_accessor invoice_id: String
13
+
14
+ attr_accessor item_id: String
15
+
16
+ def initialize: (
17
+ invoice_id: String,
18
+ item_id: String,
19
+ ?request_options: Vatsense::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ invoice_id: String,
24
+ item_id: String,
25
+ request_options: Vatsense::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module Vatsense
2
+ module Models
3
+ module Invoice
4
+ type item_retrieve_params =
5
+ { invoice_id: String, item_id: String }
6
+ & Vatsense::Internal::Type::request_parameters
7
+
8
+ class ItemRetrieveParams < Vatsense::Internal::Type::BaseModel
9
+ extend Vatsense::Internal::Type::RequestParameters::Converter
10
+ include Vatsense::Internal::Type::RequestParameters
11
+
12
+ attr_accessor invoice_id: String
13
+
14
+ attr_accessor item_id: String
15
+
16
+ def initialize: (
17
+ invoice_id: String,
18
+ item_id: String,
19
+ ?request_options: Vatsense::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ invoice_id: String,
24
+ item_id: String,
25
+ request_options: Vatsense::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,36 @@
1
+ module Vatsense
2
+ module Models
3
+ module Invoice
4
+ type item_retrieve_response =
5
+ { code: Integer, data: Vatsense::Invoice::InvoiceItem, success: bool }
6
+
7
+ class ItemRetrieveResponse < Vatsense::Internal::Type::BaseModel
8
+ attr_reader code: Integer?
9
+
10
+ def code=: (Integer) -> Integer
11
+
12
+ attr_reader data: Vatsense::Invoice::InvoiceItem?
13
+
14
+ def data=: (
15
+ Vatsense::Invoice::InvoiceItem
16
+ ) -> Vatsense::Invoice::InvoiceItem
17
+
18
+ attr_reader success: bool?
19
+
20
+ def success=: (bool) -> bool
21
+
22
+ def initialize: (
23
+ ?code: Integer,
24
+ ?data: Vatsense::Invoice::InvoiceItem,
25
+ ?success: bool
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ code: Integer,
30
+ data: Vatsense::Invoice::InvoiceItem,
31
+ success: bool
32
+ }
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,34 @@
1
+ module Vatsense
2
+ module Models
3
+ module Invoice
4
+ type item_update_params =
5
+ { invoice_id: String, item_id: String }
6
+ & Vatsense::Internal::Type::request_parameters
7
+
8
+ class ItemUpdateParams < Vatsense::Models::Invoice::InvoiceItemInput
9
+ extend Vatsense::Internal::Type::RequestParameters::Converter
10
+ include Vatsense::Internal::Type::RequestParameters
11
+
12
+ def invoice_id: -> String
13
+
14
+ def invoice_id=: (String _) -> String
15
+
16
+ def item_id: -> String
17
+
18
+ def item_id=: (String _) -> String
19
+
20
+ def initialize: (
21
+ invoice_id: String,
22
+ item_id: String,
23
+ ?request_options: Vatsense::request_opts
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ invoice_id: String,
28
+ item_id: String,
29
+ request_options: Vatsense::RequestOptions
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,332 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_api =
4
+ {
5
+ id: String,
6
+ business: Vatsense::InvoiceAPI::Business,
7
+ conversion: Vatsense::InvoiceConversionInput?,
8
+ created: Time,
9
+ currency_code: String,
10
+ customer: Vatsense::InvoiceAPI::Customer?,
11
+ date: String,
12
+ has_vat: bool,
13
+ invoice_number: String,
14
+ invoice_url: String,
15
+ is_copy: bool,
16
+ is_reverse_charge: bool,
17
+ items: ::Array[Vatsense::Invoice::InvoiceItem],
18
+ notes: String?,
19
+ num_items: Integer,
20
+ object: Vatsense::Models::InvoiceAPI::object,
21
+ tax_point: String,
22
+ tax_type: Vatsense::Models::InvoiceAPI::tax_type,
23
+ totals: Vatsense::InvoiceAPI::Totals,
24
+ type: Vatsense::Models::InvoiceAPI::type_,
25
+ updated: Time,
26
+ zero_rated: bool
27
+ }
28
+
29
+ class InvoiceAPI < Vatsense::Internal::Type::BaseModel
30
+ attr_reader id: String?
31
+
32
+ def id=: (String) -> String
33
+
34
+ attr_reader business: Vatsense::InvoiceAPI::Business?
35
+
36
+ def business=: (
37
+ Vatsense::InvoiceAPI::Business
38
+ ) -> Vatsense::InvoiceAPI::Business
39
+
40
+ attr_accessor conversion: Vatsense::InvoiceConversionInput?
41
+
42
+ attr_reader created: Time?
43
+
44
+ def created=: (Time) -> Time
45
+
46
+ attr_reader currency_code: String?
47
+
48
+ def currency_code=: (String) -> String
49
+
50
+ attr_accessor customer: Vatsense::InvoiceAPI::Customer?
51
+
52
+ attr_reader date: String?
53
+
54
+ def date=: (String) -> String
55
+
56
+ attr_reader has_vat: bool?
57
+
58
+ def has_vat=: (bool) -> bool
59
+
60
+ attr_reader invoice_number: String?
61
+
62
+ def invoice_number=: (String) -> String
63
+
64
+ attr_reader invoice_url: String?
65
+
66
+ def invoice_url=: (String) -> String
67
+
68
+ attr_reader is_copy: bool?
69
+
70
+ def is_copy=: (bool) -> bool
71
+
72
+ attr_reader is_reverse_charge: bool?
73
+
74
+ def is_reverse_charge=: (bool) -> bool
75
+
76
+ attr_reader items: ::Array[Vatsense::Invoice::InvoiceItem]?
77
+
78
+ def items=: (
79
+ ::Array[Vatsense::Invoice::InvoiceItem]
80
+ ) -> ::Array[Vatsense::Invoice::InvoiceItem]
81
+
82
+ attr_accessor notes: String?
83
+
84
+ attr_reader num_items: Integer?
85
+
86
+ def num_items=: (Integer) -> Integer
87
+
88
+ attr_reader object: Vatsense::Models::InvoiceAPI::object?
89
+
90
+ def object=: (
91
+ Vatsense::Models::InvoiceAPI::object
92
+ ) -> Vatsense::Models::InvoiceAPI::object
93
+
94
+ attr_reader tax_point: String?
95
+
96
+ def tax_point=: (String) -> String
97
+
98
+ attr_reader tax_type: Vatsense::Models::InvoiceAPI::tax_type?
99
+
100
+ def tax_type=: (
101
+ Vatsense::Models::InvoiceAPI::tax_type
102
+ ) -> Vatsense::Models::InvoiceAPI::tax_type
103
+
104
+ attr_reader totals: Vatsense::InvoiceAPI::Totals?
105
+
106
+ def totals=: (
107
+ Vatsense::InvoiceAPI::Totals
108
+ ) -> Vatsense::InvoiceAPI::Totals
109
+
110
+ attr_reader type: Vatsense::Models::InvoiceAPI::type_?
111
+
112
+ def type=: (
113
+ Vatsense::Models::InvoiceAPI::type_
114
+ ) -> Vatsense::Models::InvoiceAPI::type_
115
+
116
+ attr_reader updated: Time?
117
+
118
+ def updated=: (Time) -> Time
119
+
120
+ attr_reader zero_rated: bool?
121
+
122
+ def zero_rated=: (bool) -> bool
123
+
124
+ def initialize: (
125
+ ?id: String,
126
+ ?business: Vatsense::InvoiceAPI::Business,
127
+ ?conversion: Vatsense::InvoiceConversionInput?,
128
+ ?created: Time,
129
+ ?currency_code: String,
130
+ ?customer: Vatsense::InvoiceAPI::Customer?,
131
+ ?date: String,
132
+ ?has_vat: bool,
133
+ ?invoice_number: String,
134
+ ?invoice_url: String,
135
+ ?is_copy: bool,
136
+ ?is_reverse_charge: bool,
137
+ ?items: ::Array[Vatsense::Invoice::InvoiceItem],
138
+ ?notes: String?,
139
+ ?num_items: Integer,
140
+ ?object: Vatsense::Models::InvoiceAPI::object,
141
+ ?tax_point: String,
142
+ ?tax_type: Vatsense::Models::InvoiceAPI::tax_type,
143
+ ?totals: Vatsense::InvoiceAPI::Totals,
144
+ ?type: Vatsense::Models::InvoiceAPI::type_,
145
+ ?updated: Time,
146
+ ?zero_rated: bool
147
+ ) -> void
148
+
149
+ def to_hash: -> {
150
+ id: String,
151
+ business: Vatsense::InvoiceAPI::Business,
152
+ conversion: Vatsense::InvoiceConversionInput?,
153
+ created: Time,
154
+ currency_code: String,
155
+ customer: Vatsense::InvoiceAPI::Customer?,
156
+ date: String,
157
+ has_vat: bool,
158
+ invoice_number: String,
159
+ invoice_url: String,
160
+ is_copy: bool,
161
+ is_reverse_charge: bool,
162
+ items: ::Array[Vatsense::Invoice::InvoiceItem],
163
+ notes: String?,
164
+ num_items: Integer,
165
+ object: Vatsense::Models::InvoiceAPI::object,
166
+ tax_point: String,
167
+ tax_type: Vatsense::Models::InvoiceAPI::tax_type,
168
+ totals: Vatsense::InvoiceAPI::Totals,
169
+ type: Vatsense::Models::InvoiceAPI::type_,
170
+ updated: Time,
171
+ zero_rated: bool
172
+ }
173
+
174
+ type business =
175
+ {
176
+ address: String,
177
+ company_number: String,
178
+ logo: String?,
179
+ name: String,
180
+ vat_number: String
181
+ }
182
+
183
+ class Business < Vatsense::Internal::Type::BaseModel
184
+ attr_reader address: String?
185
+
186
+ def address=: (String) -> String
187
+
188
+ attr_reader company_number: String?
189
+
190
+ def company_number=: (String) -> String
191
+
192
+ attr_accessor logo: String?
193
+
194
+ attr_reader name: String?
195
+
196
+ def name=: (String) -> String
197
+
198
+ attr_reader vat_number: String?
199
+
200
+ def vat_number=: (String) -> String
201
+
202
+ def initialize: (
203
+ ?address: String,
204
+ ?company_number: String,
205
+ ?logo: String?,
206
+ ?name: String,
207
+ ?vat_number: String
208
+ ) -> void
209
+
210
+ def to_hash: -> {
211
+ address: String,
212
+ company_number: String,
213
+ logo: String?,
214
+ name: String,
215
+ vat_number: String
216
+ }
217
+ end
218
+
219
+ type customer =
220
+ {
221
+ address: String,
222
+ company_number: String,
223
+ logo: String?,
224
+ name: String,
225
+ vat_number: String
226
+ }
227
+
228
+ class Customer < Vatsense::Internal::Type::BaseModel
229
+ attr_reader address: String?
230
+
231
+ def address=: (String) -> String
232
+
233
+ attr_reader company_number: String?
234
+
235
+ def company_number=: (String) -> String
236
+
237
+ attr_accessor logo: String?
238
+
239
+ attr_reader name: String?
240
+
241
+ def name=: (String) -> String
242
+
243
+ attr_reader vat_number: String?
244
+
245
+ def vat_number=: (String) -> String
246
+
247
+ def initialize: (
248
+ ?address: String,
249
+ ?company_number: String,
250
+ ?logo: String?,
251
+ ?name: String,
252
+ ?vat_number: String
253
+ ) -> void
254
+
255
+ def to_hash: -> {
256
+ address: String,
257
+ company_number: String,
258
+ logo: String?,
259
+ name: String,
260
+ vat_number: String
261
+ }
262
+ end
263
+
264
+ type object = :invoice
265
+
266
+ module Object
267
+ extend Vatsense::Internal::Type::Enum
268
+
269
+ INVOICE: :invoice
270
+
271
+ def self?.values: -> ::Array[Vatsense::Models::InvoiceAPI::object]
272
+ end
273
+
274
+ type tax_type = :incl | :excl
275
+
276
+ module TaxType
277
+ extend Vatsense::Internal::Type::Enum
278
+
279
+ INCL: :incl
280
+ EXCL: :excl
281
+
282
+ def self?.values: -> ::Array[Vatsense::Models::InvoiceAPI::tax_type]
283
+ end
284
+
285
+ type totals =
286
+ { discount: Float, subtotal: Float, total: Float, vat: Float }
287
+
288
+ class Totals < Vatsense::Internal::Type::BaseModel
289
+ attr_reader discount: Float?
290
+
291
+ def discount=: (Float) -> Float
292
+
293
+ attr_reader subtotal: Float?
294
+
295
+ def subtotal=: (Float) -> Float
296
+
297
+ attr_reader total: Float?
298
+
299
+ def total=: (Float) -> Float
300
+
301
+ attr_reader vat: Float?
302
+
303
+ def vat=: (Float) -> Float
304
+
305
+ def initialize: (
306
+ ?discount: Float,
307
+ ?subtotal: Float,
308
+ ?total: Float,
309
+ ?vat: Float
310
+ ) -> void
311
+
312
+ def to_hash: -> {
313
+ discount: Float,
314
+ subtotal: Float,
315
+ total: Float,
316
+ vat: Float
317
+ }
318
+ end
319
+
320
+ type type_ = :sale | :refund
321
+
322
+ module Type
323
+ extend Vatsense::Internal::Type::Enum
324
+
325
+ SALE: :sale
326
+ REFUND: :refund
327
+
328
+ def self?.values: -> ::Array[Vatsense::Models::InvoiceAPI::type_]
329
+ end
330
+ end
331
+ end
332
+ end
@@ -0,0 +1,72 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_business_input =
4
+ {
5
+ address: String,
6
+ name: String,
7
+ vat_number: String,
8
+ bank_account: String,
9
+ company_number: String,
10
+ email: String,
11
+ logo: String,
12
+ phone: String,
13
+ website: String
14
+ }
15
+
16
+ class InvoiceBusinessInput < Vatsense::Internal::Type::BaseModel
17
+ attr_accessor address: String
18
+
19
+ attr_accessor name: String
20
+
21
+ attr_accessor vat_number: String
22
+
23
+ attr_reader bank_account: String?
24
+
25
+ def bank_account=: (String) -> String
26
+
27
+ attr_reader company_number: String?
28
+
29
+ def company_number=: (String) -> String
30
+
31
+ attr_reader email: String?
32
+
33
+ def email=: (String) -> String
34
+
35
+ attr_reader logo: String?
36
+
37
+ def logo=: (String) -> String
38
+
39
+ attr_reader phone: String?
40
+
41
+ def phone=: (String) -> String
42
+
43
+ attr_reader website: String?
44
+
45
+ def website=: (String) -> String
46
+
47
+ def initialize: (
48
+ address: String,
49
+ name: String,
50
+ vat_number: String,
51
+ ?bank_account: String,
52
+ ?company_number: String,
53
+ ?email: String,
54
+ ?logo: String,
55
+ ?phone: String,
56
+ ?website: String
57
+ ) -> void
58
+
59
+ def to_hash: -> {
60
+ address: String,
61
+ name: String,
62
+ vat_number: String,
63
+ bank_account: String,
64
+ company_number: String,
65
+ email: String,
66
+ logo: String,
67
+ phone: String,
68
+ website: String
69
+ }
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,15 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_conversion_input = { currency_code: String, rate: Float }
4
+
5
+ class InvoiceConversionInput < Vatsense::Internal::Type::BaseModel
6
+ attr_accessor currency_code: String
7
+
8
+ attr_accessor rate: Float
9
+
10
+ def initialize: (currency_code: String, rate: Float) -> void
11
+
12
+ def to_hash: -> { currency_code: String, rate: Float }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_create_params =
4
+ { } & Vatsense::Internal::Type::request_parameters
5
+
6
+ class InvoiceCreateParams < Vatsense::Models::CreateInvoice
7
+ extend Vatsense::Internal::Type::RequestParameters::Converter
8
+ include Vatsense::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Vatsense::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Vatsense::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,62 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_customer_input =
4
+ {
5
+ name: String,
6
+ address: String,
7
+ company_number: String,
8
+ country_code: String,
9
+ email: String,
10
+ logo: String,
11
+ vat_number: String
12
+ }
13
+
14
+ class InvoiceCustomerInput < Vatsense::Internal::Type::BaseModel
15
+ attr_accessor name: String
16
+
17
+ attr_reader address: String?
18
+
19
+ def address=: (String) -> String
20
+
21
+ attr_reader company_number: String?
22
+
23
+ def company_number=: (String) -> String
24
+
25
+ attr_reader country_code: String?
26
+
27
+ def country_code=: (String) -> String
28
+
29
+ attr_reader email: String?
30
+
31
+ def email=: (String) -> String
32
+
33
+ attr_reader logo: String?
34
+
35
+ def logo=: (String) -> String
36
+
37
+ attr_reader vat_number: String?
38
+
39
+ def vat_number=: (String) -> String
40
+
41
+ def initialize: (
42
+ name: String,
43
+ ?address: String,
44
+ ?company_number: String,
45
+ ?country_code: String,
46
+ ?email: String,
47
+ ?logo: String,
48
+ ?vat_number: String
49
+ ) -> void
50
+
51
+ def to_hash: -> {
52
+ name: String,
53
+ address: String,
54
+ company_number: String,
55
+ country_code: String,
56
+ email: String,
57
+ logo: String,
58
+ vat_number: String
59
+ }
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,23 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_delete_params =
4
+ { invoice_id: String } & Vatsense::Internal::Type::request_parameters
5
+
6
+ class InvoiceDeleteParams < Vatsense::Internal::Type::BaseModel
7
+ extend Vatsense::Internal::Type::RequestParameters::Converter
8
+ include Vatsense::Internal::Type::RequestParameters
9
+
10
+ attr_accessor invoice_id: String
11
+
12
+ def initialize: (
13
+ invoice_id: String,
14
+ ?request_options: Vatsense::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ invoice_id: String,
19
+ request_options: Vatsense::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ module Vatsense
2
+ module Models
3
+ type invoice_delete_response = { code: Integer, success: bool }
4
+
5
+ class InvoiceDeleteResponse < Vatsense::Internal::Type::BaseModel
6
+ attr_accessor code: Integer
7
+
8
+ attr_accessor success: bool
9
+
10
+ def initialize: (code: Integer, success: bool) -> void
11
+
12
+ def to_hash: -> { code: Integer, success: bool }
13
+ end
14
+ end
15
+ end