e-invoice-api 0.7.0 → 0.8.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +5 -5
  4. data/lib/e_invoice_api/client.rb +4 -0
  5. data/lib/e_invoice_api/internal/type/base_model.rb +5 -5
  6. data/lib/e_invoice_api/models/allowance.rb +96 -0
  7. data/lib/e_invoice_api/models/charge.rb +96 -0
  8. data/lib/e_invoice_api/models/document_create_from_pdf_params.rb +32 -0
  9. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +584 -0
  10. data/lib/e_invoice_api/models/document_response.rb +6 -192
  11. data/lib/e_invoice_api/models/document_validate_params.rb +14 -0
  12. data/lib/e_invoice_api/models/documents/ubl_create_from_ubl_params.rb +22 -0
  13. data/lib/e_invoice_api/models/me_retrieve_params.rb +14 -0
  14. data/lib/e_invoice_api/models/me_retrieve_response.rb +149 -0
  15. data/lib/e_invoice_api/models.rb +10 -0
  16. data/lib/e_invoice_api/resources/documents/ubl.rb +22 -0
  17. data/lib/e_invoice_api/resources/documents.rb +52 -0
  18. data/lib/e_invoice_api/resources/me.rb +32 -0
  19. data/lib/e_invoice_api/version.rb +1 -1
  20. data/lib/e_invoice_api.rb +9 -0
  21. data/rbi/e_invoice_api/client.rbi +3 -0
  22. data/rbi/e_invoice_api/models/allowance.rbi +124 -0
  23. data/rbi/e_invoice_api/models/charge.rbi +122 -0
  24. data/rbi/e_invoice_api/models/document_create_from_pdf_params.rbi +56 -0
  25. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +1014 -0
  26. data/rbi/e_invoice_api/models/document_response.rbi +6 -388
  27. data/rbi/e_invoice_api/models/document_validate_params.rbi +30 -0
  28. data/rbi/e_invoice_api/models/documents/ubl_create_from_ubl_params.rbi +43 -0
  29. data/rbi/e_invoice_api/models/me_retrieve_params.rbi +27 -0
  30. data/rbi/e_invoice_api/models/me_retrieve_response.rbi +195 -0
  31. data/rbi/e_invoice_api/models.rbi +10 -0
  32. data/rbi/e_invoice_api/resources/documents/ubl.rbi +10 -0
  33. data/rbi/e_invoice_api/resources/documents.rbi +34 -0
  34. data/rbi/e_invoice_api/resources/me.rbi +21 -0
  35. data/sig/e_invoice_api/client.rbs +2 -0
  36. data/sig/e_invoice_api/models/allowance.rbs +69 -0
  37. data/sig/e_invoice_api/models/charge.rbs +69 -0
  38. data/sig/e_invoice_api/models/document_create_from_pdf_params.rbs +36 -0
  39. data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +512 -0
  40. data/sig/e_invoice_api/models/document_response.rbs +8 -140
  41. data/sig/e_invoice_api/models/document_validate_params.rbs +15 -0
  42. data/sig/e_invoice_api/models/documents/ubl_create_from_ubl_params.rbs +26 -0
  43. data/sig/e_invoice_api/models/me_retrieve_params.rbs +15 -0
  44. data/sig/e_invoice_api/models/me_retrieve_response.rbs +107 -0
  45. data/sig/e_invoice_api/models.rbs +10 -0
  46. data/sig/e_invoice_api/resources/documents/ubl.rbs +5 -0
  47. data/sig/e_invoice_api/resources/documents.rbs +12 -0
  48. data/sig/e_invoice_api/resources/me.rbs +11 -0
  49. metadata +28 -1
@@ -759,11 +759,7 @@ module EInvoiceAPI
759
759
  end
760
760
 
761
761
  # The allowances of the line item.
762
- sig do
763
- returns(
764
- T.nilable(T::Array[EInvoiceAPI::DocumentResponse::Item::Allowance])
765
- )
766
- end
762
+ sig { returns(T.nilable(T::Array[EInvoiceAPI::Allowance])) }
767
763
  attr_accessor :allowances
768
764
 
769
765
  # The total amount of the line item, exclusive of VAT, after subtracting line
@@ -773,11 +769,7 @@ module EInvoiceAPI
773
769
  attr_accessor :amount
774
770
 
775
771
  # The charges of the line item.
776
- sig do
777
- returns(
778
- T.nilable(T::Array[EInvoiceAPI::DocumentResponse::Item::Charge])
779
- )
780
- end
772
+ sig { returns(T.nilable(T::Array[EInvoiceAPI::Charge])) }
781
773
  attr_accessor :charges
782
774
 
783
775
  sig { returns(NilClass) }
@@ -814,15 +806,9 @@ module EInvoiceAPI
814
806
 
815
807
  sig do
816
808
  params(
817
- allowances:
818
- T.nilable(
819
- T::Array[EInvoiceAPI::DocumentResponse::Item::Allowance::OrHash]
820
- ),
809
+ allowances: T.nilable(T::Array[EInvoiceAPI::Allowance::OrHash]),
821
810
  amount: T.nilable(String),
822
- charges:
823
- T.nilable(
824
- T::Array[EInvoiceAPI::DocumentResponse::Item::Charge::OrHash]
825
- ),
811
+ charges: T.nilable(T::Array[EInvoiceAPI::Charge::OrHash]),
826
812
  date: NilClass,
827
813
  description: T.nilable(String),
828
814
  product_code: T.nilable(String),
@@ -864,15 +850,9 @@ module EInvoiceAPI
864
850
  sig do
865
851
  override.returns(
866
852
  {
867
- allowances:
868
- T.nilable(
869
- T::Array[EInvoiceAPI::DocumentResponse::Item::Allowance]
870
- ),
853
+ allowances: T.nilable(T::Array[EInvoiceAPI::Allowance]),
871
854
  amount: T.nilable(String),
872
- charges:
873
- T.nilable(
874
- T::Array[EInvoiceAPI::DocumentResponse::Item::Charge]
875
- ),
855
+ charges: T.nilable(T::Array[EInvoiceAPI::Charge]),
876
856
  date: NilClass,
877
857
  description: T.nilable(String),
878
858
  product_code: T.nilable(String),
@@ -886,368 +866,6 @@ module EInvoiceAPI
886
866
  end
887
867
  def to_hash
888
868
  end
889
-
890
- class Allowance < EInvoiceAPI::Internal::Type::BaseModel
891
- OrHash =
892
- T.type_alias do
893
- T.any(
894
- EInvoiceAPI::DocumentResponse::Item::Allowance,
895
- EInvoiceAPI::Internal::AnyHash
896
- )
897
- end
898
-
899
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
900
- sig { returns(T.nilable(String)) }
901
- attr_accessor :amount
902
-
903
- # The base amount that may be used, in conjunction with the allowance percentage,
904
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
905
- sig { returns(T.nilable(String)) }
906
- attr_accessor :base_amount
907
-
908
- # The percentage that may be used, in conjunction with the allowance base amount,
909
- # to calculate the allowance amount. To state 20%, use value 20
910
- sig { returns(T.nilable(String)) }
911
- attr_accessor :multiplier_factor
912
-
913
- # The reason for the allowance
914
- sig { returns(T.nilable(String)) }
915
- attr_accessor :reason
916
-
917
- # The code for the allowance reason
918
- sig { returns(T.nilable(String)) }
919
- attr_accessor :reason_code
920
-
921
- # Duty or tax or fee category codes (Subset of UNCL5305)
922
- #
923
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
924
- sig do
925
- returns(
926
- T.nilable(
927
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
928
- )
929
- )
930
- end
931
- attr_accessor :tax_code
932
-
933
- # The VAT rate, represented as percentage that applies to the allowance
934
- sig { returns(T.nilable(String)) }
935
- attr_accessor :tax_rate
936
-
937
- # An allowance is a discount for example for early payment, volume discount, etc.
938
- sig do
939
- params(
940
- amount: T.nilable(String),
941
- base_amount: T.nilable(String),
942
- multiplier_factor: T.nilable(String),
943
- reason: T.nilable(String),
944
- reason_code: T.nilable(String),
945
- tax_code:
946
- T.nilable(
947
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::OrSymbol
948
- ),
949
- tax_rate: T.nilable(String)
950
- ).returns(T.attached_class)
951
- end
952
- def self.new(
953
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
954
- amount: nil,
955
- # The base amount that may be used, in conjunction with the allowance percentage,
956
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
957
- base_amount: nil,
958
- # The percentage that may be used, in conjunction with the allowance base amount,
959
- # to calculate the allowance amount. To state 20%, use value 20
960
- multiplier_factor: nil,
961
- # The reason for the allowance
962
- reason: nil,
963
- # The code for the allowance reason
964
- reason_code: nil,
965
- # Duty or tax or fee category codes (Subset of UNCL5305)
966
- #
967
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
968
- tax_code: nil,
969
- # The VAT rate, represented as percentage that applies to the allowance
970
- tax_rate: nil
971
- )
972
- end
973
-
974
- sig do
975
- override.returns(
976
- {
977
- amount: T.nilable(String),
978
- base_amount: T.nilable(String),
979
- multiplier_factor: T.nilable(String),
980
- reason: T.nilable(String),
981
- reason_code: T.nilable(String),
982
- tax_code:
983
- T.nilable(
984
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
985
- ),
986
- tax_rate: T.nilable(String)
987
- }
988
- )
989
- end
990
- def to_hash
991
- end
992
-
993
- # Duty or tax or fee category codes (Subset of UNCL5305)
994
- #
995
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
996
- module TaxCode
997
- extend EInvoiceAPI::Internal::Type::Enum
998
-
999
- TaggedSymbol =
1000
- T.type_alias do
1001
- T.all(
1002
- Symbol,
1003
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode
1004
- )
1005
- end
1006
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1007
-
1008
- AE =
1009
- T.let(
1010
- :AE,
1011
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1012
- )
1013
- E =
1014
- T.let(
1015
- :E,
1016
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1017
- )
1018
- S =
1019
- T.let(
1020
- :S,
1021
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1022
- )
1023
- Z =
1024
- T.let(
1025
- :Z,
1026
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1027
- )
1028
- G =
1029
- T.let(
1030
- :G,
1031
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1032
- )
1033
- O =
1034
- T.let(
1035
- :O,
1036
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1037
- )
1038
- K =
1039
- T.let(
1040
- :K,
1041
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1042
- )
1043
- L =
1044
- T.let(
1045
- :L,
1046
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1047
- )
1048
- M =
1049
- T.let(
1050
- :M,
1051
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1052
- )
1053
- B =
1054
- T.let(
1055
- :B,
1056
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1057
- )
1058
-
1059
- sig do
1060
- override.returns(
1061
- T::Array[
1062
- EInvoiceAPI::DocumentResponse::Item::Allowance::TaxCode::TaggedSymbol
1063
- ]
1064
- )
1065
- end
1066
- def self.values
1067
- end
1068
- end
1069
- end
1070
-
1071
- class Charge < EInvoiceAPI::Internal::Type::BaseModel
1072
- OrHash =
1073
- T.type_alias do
1074
- T.any(
1075
- EInvoiceAPI::DocumentResponse::Item::Charge,
1076
- EInvoiceAPI::Internal::AnyHash
1077
- )
1078
- end
1079
-
1080
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1081
- sig { returns(T.nilable(String)) }
1082
- attr_accessor :amount
1083
-
1084
- # The base amount that may be used, in conjunction with the charge percentage, to
1085
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1086
- sig { returns(T.nilable(String)) }
1087
- attr_accessor :base_amount
1088
-
1089
- # The percentage that may be used, in conjunction with the charge base amount, to
1090
- # calculate the charge amount. To state 20%, use value 20
1091
- sig { returns(T.nilable(String)) }
1092
- attr_accessor :multiplier_factor
1093
-
1094
- # The reason for the charge
1095
- sig { returns(T.nilable(String)) }
1096
- attr_accessor :reason
1097
-
1098
- # The code for the charge reason
1099
- sig { returns(T.nilable(String)) }
1100
- attr_accessor :reason_code
1101
-
1102
- # Duty or tax or fee category codes (Subset of UNCL5305)
1103
- #
1104
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1105
- sig do
1106
- returns(
1107
- T.nilable(
1108
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1109
- )
1110
- )
1111
- end
1112
- attr_accessor :tax_code
1113
-
1114
- # The VAT rate, represented as percentage that applies to the charge
1115
- sig { returns(T.nilable(String)) }
1116
- attr_accessor :tax_rate
1117
-
1118
- # A charge is an additional fee for example for late payment, late delivery, etc.
1119
- sig do
1120
- params(
1121
- amount: T.nilable(String),
1122
- base_amount: T.nilable(String),
1123
- multiplier_factor: T.nilable(String),
1124
- reason: T.nilable(String),
1125
- reason_code: T.nilable(String),
1126
- tax_code:
1127
- T.nilable(
1128
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::OrSymbol
1129
- ),
1130
- tax_rate: T.nilable(String)
1131
- ).returns(T.attached_class)
1132
- end
1133
- def self.new(
1134
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1135
- amount: nil,
1136
- # The base amount that may be used, in conjunction with the charge percentage, to
1137
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1138
- base_amount: nil,
1139
- # The percentage that may be used, in conjunction with the charge base amount, to
1140
- # calculate the charge amount. To state 20%, use value 20
1141
- multiplier_factor: nil,
1142
- # The reason for the charge
1143
- reason: nil,
1144
- # The code for the charge reason
1145
- reason_code: nil,
1146
- # Duty or tax or fee category codes (Subset of UNCL5305)
1147
- #
1148
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1149
- tax_code: nil,
1150
- # The VAT rate, represented as percentage that applies to the charge
1151
- tax_rate: nil
1152
- )
1153
- end
1154
-
1155
- sig do
1156
- override.returns(
1157
- {
1158
- amount: T.nilable(String),
1159
- base_amount: T.nilable(String),
1160
- multiplier_factor: T.nilable(String),
1161
- reason: T.nilable(String),
1162
- reason_code: T.nilable(String),
1163
- tax_code:
1164
- T.nilable(
1165
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1166
- ),
1167
- tax_rate: T.nilable(String)
1168
- }
1169
- )
1170
- end
1171
- def to_hash
1172
- end
1173
-
1174
- # Duty or tax or fee category codes (Subset of UNCL5305)
1175
- #
1176
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1177
- module TaxCode
1178
- extend EInvoiceAPI::Internal::Type::Enum
1179
-
1180
- TaggedSymbol =
1181
- T.type_alias do
1182
- T.all(
1183
- Symbol,
1184
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode
1185
- )
1186
- end
1187
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1188
-
1189
- AE =
1190
- T.let(
1191
- :AE,
1192
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1193
- )
1194
- E =
1195
- T.let(
1196
- :E,
1197
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1198
- )
1199
- S =
1200
- T.let(
1201
- :S,
1202
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1203
- )
1204
- Z =
1205
- T.let(
1206
- :Z,
1207
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1208
- )
1209
- G =
1210
- T.let(
1211
- :G,
1212
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1213
- )
1214
- O =
1215
- T.let(
1216
- :O,
1217
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1218
- )
1219
- K =
1220
- T.let(
1221
- :K,
1222
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1223
- )
1224
- L =
1225
- T.let(
1226
- :L,
1227
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1228
- )
1229
- M =
1230
- T.let(
1231
- :M,
1232
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1233
- )
1234
- B =
1235
- T.let(
1236
- :B,
1237
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1238
- )
1239
-
1240
- sig do
1241
- override.returns(
1242
- T::Array[
1243
- EInvoiceAPI::DocumentResponse::Item::Charge::TaxCode::TaggedSymbol
1244
- ]
1245
- )
1246
- end
1247
- def self.values
1248
- end
1249
- end
1250
- end
1251
869
  end
1252
870
 
1253
871
  class PaymentDetail < EInvoiceAPI::Internal::Type::BaseModel
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class DocumentValidateParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ EInvoiceAPI::DocumentValidateParams,
13
+ EInvoiceAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: EInvoiceAPI::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: EInvoiceAPI::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ module Documents
6
+ class UblCreateFromUblParams < EInvoiceAPI::Internal::Type::BaseModel
7
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
8
+ include EInvoiceAPI::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ EInvoiceAPI::Documents::UblCreateFromUblParams,
14
+ EInvoiceAPI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(EInvoiceAPI::Internal::FileInput) }
19
+ attr_accessor :file
20
+
21
+ sig do
22
+ params(
23
+ file: EInvoiceAPI::Internal::FileInput,
24
+ request_options: EInvoiceAPI::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(file:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ {
33
+ file: EInvoiceAPI::Internal::FileInput,
34
+ request_options: EInvoiceAPI::RequestOptions
35
+ }
36
+ )
37
+ end
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class MeRetrieveParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(EInvoiceAPI::MeRetrieveParams, EInvoiceAPI::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: EInvoiceAPI::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: EInvoiceAPI::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end