finvoice3 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 (114) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +0 -0
  3. data/README.md +46 -0
  4. data/Rakefile +8 -0
  5. data/lib/finvoice3/any_party_communication_details.rb +19 -0
  6. data/lib/finvoice3/any_party_details/any_party_communication_details.rb +19 -0
  7. data/lib/finvoice3/any_party_details/any_party_postal_address_details.rb +34 -0
  8. data/lib/finvoice3/any_party_details.rb +46 -0
  9. data/lib/finvoice3/attachment_message_details/attachment_message_identifier.rb +5 -0
  10. data/lib/finvoice3/attachment_message_details.rb +14 -0
  11. data/lib/finvoice3/buyer_communication_details.rb +19 -0
  12. data/lib/finvoice3/buyer_party_details/buyer_postal_address_details.rb +32 -0
  13. data/lib/finvoice3/buyer_party_details.rb +46 -0
  14. data/lib/finvoice3/country_code.rb +7 -0
  15. data/lib/finvoice3/delivery_communication_details.rb +19 -0
  16. data/lib/finvoice3/delivery_details/delivery_period_details.rb +19 -0
  17. data/lib/finvoice3/delivery_details/destination_name.rb +13 -0
  18. data/lib/finvoice3/delivery_details/package_details.rb +31 -0
  19. data/lib/finvoice3/delivery_details/shipment_party_details/shipment_postal_address_details.rb +34 -0
  20. data/lib/finvoice3/delivery_details/shipment_party_details.rb +34 -0
  21. data/lib/finvoice3/delivery_details.rb +112 -0
  22. data/lib/finvoice3/delivery_party_details/delivery_postal_address_details.rb +34 -0
  23. data/lib/finvoice3/delivery_party_details.rb +31 -0
  24. data/lib/finvoice3/direct_debit_info.rb +22 -0
  25. data/lib/finvoice3/electronic_addr_id.rb +14 -0
  26. data/lib/finvoice3/epi_account_id.rb +13 -0
  27. data/lib/finvoice3/epi_details/epi_identification_details/epi_reference.rb +7 -0
  28. data/lib/finvoice3/epi_details/epi_identification_details.rb +28 -0
  29. data/lib/finvoice3/epi_details/epi_party_details/epi_beneficiary_party_details.rb +22 -0
  30. data/lib/finvoice3/epi_details/epi_party_details/epi_bfi_party_details/epi_bfi_identifier.rb +14 -0
  31. data/lib/finvoice3/epi_details/epi_party_details/epi_bfi_party_details.rb +19 -0
  32. data/lib/finvoice3/epi_details/epi_party_details.rb +19 -0
  33. data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_amount.rb +7 -0
  34. data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_charge.rb +14 -0
  35. data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_remittance_info_identifier.rb +14 -0
  36. data/lib/finvoice3/epi_details/epi_payment_instruction_details.rb +40 -0
  37. data/lib/finvoice3/epi_details.rb +22 -0
  38. data/lib/finvoice3/factoring_agreement_details/factoring_party_postal_address_details.rb +34 -0
  39. data/lib/finvoice3/factoring_agreement_details.rb +37 -0
  40. data/lib/finvoice3/finvoice.rb +187 -0
  41. data/lib/finvoice3/invoice.rb +33 -0
  42. data/lib/finvoice3/invoice_details/definition_details/definition_header_text.rb +14 -0
  43. data/lib/finvoice3/invoice_details/definition_details.rb +19 -0
  44. data/lib/finvoice3/invoice_details/discount_details.rb +34 -0
  45. data/lib/finvoice3/invoice_details/invoice_charge_details.rb +32 -0
  46. data/lib/finvoice3/invoice_details/invoice_classification.rb +19 -0
  47. data/lib/finvoice3/invoice_details/invoice_type_code_fi.rb +13 -0
  48. data/lib/finvoice3/invoice_details/origin_code.rb +4 -0
  49. data/lib/finvoice3/invoice_details/payment_terms_details/cash_discount_vat_details.rb +19 -0
  50. data/lib/finvoice3/invoice_details/payment_terms_details/header_value.rb +16 -0
  51. data/lib/finvoice3/invoice_details/payment_terms_details/payment_over_due_fine_details.rb +22 -0
  52. data/lib/finvoice3/invoice_details/payment_terms_details.rb +46 -0
  53. data/lib/finvoice3/invoice_details/vat_point.rb +19 -0
  54. data/lib/finvoice3/invoice_details/vat_specification_details.rb +31 -0
  55. data/lib/finvoice3/invoice_details.rb +211 -0
  56. data/lib/finvoice3/invoice_recipient_communication_details.rb +19 -0
  57. data/lib/finvoice3/invoice_recipient_party_details/invoice_recipient_postal_address_details.rb +34 -0
  58. data/lib/finvoice3/invoice_recipient_party_details.rb +31 -0
  59. data/lib/finvoice3/invoice_row/article_group_identifier.rb +13 -0
  60. data/lib/finvoice3/invoice_row/customs_info.rb +28 -0
  61. data/lib/finvoice3/invoice_row/ean_code.rb +9 -0
  62. data/lib/finvoice3/invoice_row/row_any_party_details/row_any_party_postal_address_details.rb +34 -0
  63. data/lib/finvoice3/invoice_row/row_any_party_details.rb +40 -0
  64. data/lib/finvoice3/invoice_row/row_charge_details.rb +28 -0
  65. data/lib/finvoice3/invoice_row/row_definition_details/row_definition_header_text.rb +9 -0
  66. data/lib/finvoice3/invoice_row/row_definition_details.rb +14 -0
  67. data/lib/finvoice3/invoice_row/row_delivery_details/row_package_details.rb +34 -0
  68. data/lib/finvoice3/invoice_row/row_delivery_details.rb +97 -0
  69. data/lib/finvoice3/invoice_row/row_over_due_payment_details.rb +73 -0
  70. data/lib/finvoice3/invoice_row/row_progressive_discount_details.rb +28 -0
  71. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_any_party_details/sub_row_any_party_postal_address_details.rb +34 -0
  72. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_any_party_details.rb +40 -0
  73. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_definition_details/sub_row_definition_header_text.rb +9 -0
  74. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_definition_details.rb +19 -0
  75. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_delivery_details/sub_row_package_details.rb +34 -0
  76. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_delivery_details.rb +73 -0
  77. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_over_due_payment_details.rb +73 -0
  78. data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_progressive_discount_details.rb +28 -0
  79. data/lib/finvoice3/invoice_row/sub_invoice_row.rb +250 -0
  80. data/lib/finvoice3/invoice_row/transaction_details.rb +22 -0
  81. data/lib/finvoice3/invoice_row.rb +255 -0
  82. data/lib/finvoice3/invoice_sender_party_details.rb +25 -0
  83. data/lib/finvoice3/invoiced_object_id.rb +13 -0
  84. data/lib/finvoice3/message_transmission_details/message_details.rb +29 -0
  85. data/lib/finvoice3/message_transmission_details/message_receiver_details.rb +19 -0
  86. data/lib/finvoice3/message_transmission_details/message_sender_details.rb +19 -0
  87. data/lib/finvoice3/message_transmission_details.rb +22 -0
  88. data/lib/finvoice3/original_invoice_reference.rb +19 -0
  89. data/lib/finvoice3/partial_payment_details.rb +43 -0
  90. data/lib/finvoice3/party_identifier.rb +17 -0
  91. data/lib/finvoice3/party_legal_reg_id.rb +13 -0
  92. data/lib/finvoice3/payment_card_info.rb +19 -0
  93. data/lib/finvoice3/payment_status_details/payment_status_code.rb +5 -0
  94. data/lib/finvoice3/payment_status_details.rb +19 -0
  95. data/lib/finvoice3/seller_communication_details.rb +19 -0
  96. data/lib/finvoice3/seller_information_details/invoice_recipient_details.rb +19 -0
  97. data/lib/finvoice3/seller_information_details/seller_account_details/seller_account_id.rb +15 -0
  98. data/lib/finvoice3/seller_information_details/seller_account_details/seller_bic.rb +14 -0
  99. data/lib/finvoice3/seller_information_details/seller_account_details.rb +22 -0
  100. data/lib/finvoice3/seller_information_details/seller_official_postal_address_details.rb +31 -0
  101. data/lib/finvoice3/seller_information_details.rb +61 -0
  102. data/lib/finvoice3/seller_party_details/seller_postal_address_details.rb +32 -0
  103. data/lib/finvoice3/seller_party_details.rb +46 -0
  104. data/lib/finvoice3/soap_envelope.rb +82 -0
  105. data/lib/finvoice3/specification_details/external_specification_details.rb +5 -0
  106. data/lib/finvoice3/specification_details.rb +19 -0
  107. data/lib/finvoice3/tag/complex.rb +22 -0
  108. data/lib/finvoice3/tag/simple.rb +13 -0
  109. data/lib/finvoice3/tag.rb +27 -0
  110. data/lib/finvoice3/templates/fi_b2b.rb +232 -0
  111. data/lib/finvoice3/vat_category_code.rb +4 -0
  112. data/lib/finvoice3/version.rb +5 -0
  113. data/lib/finvoice3.rb +135 -0
  114. metadata +225 -0
@@ -0,0 +1,250 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow < Tag::Complex
3
+ attr_accessor :sub_identifier
4
+ attr_accessor :sub_row_position_identifier
5
+ attr_accessor :sub_invoiced_object_id
6
+ attr_accessor :sub_article_identifier
7
+ attr_accessor :sub_article_group_identifier
8
+ attr_accessor :sub_article_name
9
+ attr_accessor :sub_article_description
10
+ attr_accessor :sub_article_info_url_text
11
+ attr_accessor :sub_buyer_article_identifier
12
+ attr_accessor :sub_ean_code
13
+ attr_accessor :sub_row_registration_number_identifier
14
+ attr_accessor :sub_serial_number_identifier
15
+ attr_accessor :sub_row_action_code
16
+ attr_accessor :sub_row_definition_details
17
+ attr_accessor :sub_offered_quantity
18
+ attr_accessor :sub_delivered_quantity
19
+ attr_accessor :sub_ordered_quantity
20
+ attr_accessor :sub_confirmed_quantity
21
+ attr_accessor :sub_post_delivered_quantity
22
+ attr_accessor :sub_invoiced_quantity
23
+ attr_accessor :sub_credit_requested_quantity
24
+ attr_accessor :sub_returned_quantity
25
+ attr_accessor :sub_start_date
26
+ attr_accessor :sub_end_date
27
+ attr_accessor :sub_unit_price_amount
28
+ attr_accessor :sub_unit_price_discount_amount
29
+ attr_accessor :sub_unit_price_net_amount
30
+ attr_accessor :sub_unit_price_vat_included_amount
31
+ attr_accessor :sub_unit_price_base_quantity
32
+ attr_accessor :sub_row_identifier
33
+ attr_accessor :sub_row_identifier_url_text
34
+ attr_accessor :sub_row_identifier_date
35
+ attr_accessor :sub_row_orderer_name
36
+ attr_accessor :sub_row_sales_person_name
37
+ attr_accessor :sub_row_order_confirmation_identifier
38
+ attr_accessor :sub_row_order_confirmation_date
39
+ attr_accessor :sub_original_invoice_number
40
+ attr_accessor :sub_original_invoice_date
41
+ attr_accessor :sub_original_invoice_reference
42
+ attr_accessor :sub_row_delivery_identifier
43
+ attr_accessor :sub_row_delivery_identifier_url_text
44
+ attr_accessor :sub_row_delivery_date
45
+ attr_accessor :sub_row_quotation_identifier
46
+ attr_accessor :sub_row_quotation_identifier_url_text
47
+ attr_accessor :sub_row_agreement_identifier
48
+ attr_accessor :sub_row_agreement_identifier_url_text
49
+ attr_accessor :sub_row_request_of_quotation_identifier
50
+ attr_accessor :sub_row_request_of_quotation_identifier_url_text
51
+ attr_accessor :sub_row_price_list_identifier
52
+ attr_accessor :sub_row_price_list_identifier_url_text
53
+ attr_accessor :sub_row_buyer_reference_identifier
54
+ attr_accessor :sub_row_project_reference_identifier
55
+ attr_accessor :sub_row_over_due_payment_details
56
+ attr_accessor :sub_row_any_party_details
57
+ attr_accessor :sub_row_delivery_details
58
+ attr_accessor :sub_row_short_proposed_account_identifier
59
+ attr_accessor :sub_row_normal_proposed_account_identifier
60
+ attr_accessor :sub_row_proposed_account_text
61
+ attr_accessor :sub_row_account_dimension_text
62
+ attr_accessor :sub_row_seller_account_text
63
+ attr_accessor :sub_row_free_text
64
+ attr_accessor :sub_row_used_quantity
65
+ attr_accessor :sub_row_previous_meter_reading_date
66
+ attr_accessor :sub_row_latest_meter_reading_date
67
+ attr_accessor :sub_row_calculated_quantity
68
+ attr_accessor :sub_row_average_price_amount
69
+ attr_accessor :sub_row_discount_percent
70
+ attr_accessor :sub_row_discount_amount
71
+ attr_accessor :sub_row_discount_base_amount
72
+ attr_accessor :sub_row_discount_type_code
73
+ attr_accessor :sub_row_discount_type_text
74
+ attr_accessor :sub_row_progessive_discount_details
75
+ attr_accessor :sub_row_charge_details
76
+ attr_accessor :sub_row_vat_rate_percent
77
+ attr_accessor :sub_row_vat_code
78
+ attr_accessor :sub_row_vat_amount
79
+ attr_accessor :sub_row_vat_excluded_amount
80
+ attr_accessor :sub_row_amount
81
+ attr_accessor :sub_row_transaction_details
82
+
83
+ def initialize
84
+ super
85
+ @sub_identifier = Tag::Simple.new(name: "SubIdentifier")
86
+ @sub_row_position_identifier = Tag::Simple.new(name: "SubRowPositionIdentifier")
87
+ @sub_invoiced_object_id = InvoicedObjectId.new(name: "SubInvoicedObjectID")
88
+ @sub_article_identifier = Tag::Simple.new(name: "SubArticleIdentifier")
89
+ @sub_article_group_identifier = Finvoice3::InvoiceRow::ArticleGroupIdentifier.new(name: "SubArticleGroupIdentifier")
90
+ @sub_article_name = Tag::Simple.new(name: "SubArticleName")
91
+ @sub_article_description = Tag::Simple.new(name: "SubArticleDescription")
92
+ @sub_article_info_url_text = Tag::Simple.new(name: "SubArticleInfoUrlText")
93
+ @sub_buyer_article_identifier = Tag::Simple.new(name: "SubBuyerArticleIdentifier")
94
+ @sub_ean_code = Finvoice3::InvoiceRow::EanCode.new(name: "SubEanCode")
95
+ @sub_row_registration_number_identifier = Tag::Simple.new(name: "SubRowRegistrationNumberIdentifier")
96
+ @sub_serial_number_identifier = Tag::Simple.new(name: "SubSerialNumberIdentifier")
97
+ @sub_row_action_code = Tag::Simple.new(name: "SubRowActionCode")
98
+ @sub_row_definition_details = SubRowDefinitionDetails.new
99
+ @sub_offered_quantity = Tag::Simple.new(name: "SubOfferedQuantity")
100
+ @sub_delivered_quantity = Tag::Simple.new(name: "SubDeliveredQuantity")
101
+ @sub_ordered_quantity = Tag::Simple.new(name: "SubOrderedQuantity")
102
+ @sub_confirmed_quantity = Tag::Simple.new(name: "SubConfirmedQuantity")
103
+ @sub_post_delivered_quantity = Tag::Simple.new(name: "SubPostDeliveredQuantity")
104
+ @sub_invoiced_quantity = Tag::Simple.new(name: "SubInvoicedQuantity")
105
+ @sub_credit_requested_quantity = Tag::Simple.new(name: "SubCreditRequestedQuantity")
106
+ @sub_returned_quantity = Tag::Simple.new(name: "SubReturnedQuantity")
107
+ @sub_start_date = Tag::Simple.new(name: "SubStartDate")
108
+ @sub_end_date = Tag::Simple.new(name: "SubEndDate")
109
+ @sub_unit_price_amount = Tag::Simple.new(name: "SubUnitPriceAmount")
110
+ @sub_unit_price_discount_amount = Tag::Simple.new(name: "SubUnitProceDiscountAmount")
111
+ @sub_unit_price_net_amount = Tag::Simple.new(name: "SubUnitPriceNetAmount")
112
+ @sub_unit_price_vat_included_amount = Tag::Simple.new(name: "SubUnitPriceVatIncludedAmount")
113
+ @sub_unit_price_base_quantity = Tag::Simple.new(name: "SubUnitPriceBaseQuantity")
114
+ @sub_row_identifier = Tag::Simple.new(name: "SubRowIdentifier")
115
+ @sub_row_identifier_url_text = Tag::Simple.new(name: "SubRowIdentifierUrlText")
116
+ @sub_row_identifier_date = Tag::Simple.new(name: "SubRowIdentifierDate")
117
+ @sub_row_orderer_name = Tag::Simple.new(name: "SubRowOrdererName")
118
+ @sub_row_sales_person_name = Tag::Simple.new(name: "SubRowSalesPersonName")
119
+ @sub_row_order_confirmation_identifier = Tag::Simple.new(name: "SubRowOrderConfirmationIdentifier")
120
+ @sub_row_order_confirmation_date = Tag::Simple.new(name: "SubRowOrderConfirmationDate")
121
+ @sub_original_invoice_number = Tag::Simple.new(name: "SubOriginalInvoiceNumber")
122
+ @sub_original_invoice_date = Tag::Simple.new(name: "SubOriginalInvoiceDate")
123
+ @sub_original_invoice_reference = OriginalInvoiceReference.new(name: "SubOriginalInvoiceReference")
124
+ @sub_row_delivery_identifier = Tag::Simple.new(name: "SubRowDeliveryIdentifer")
125
+ @sub_row_delivery_identifier_url_text = Tag::Simple.new(name: "SubRowDeliveryIdentifierUrlText")
126
+ @sub_row_delivery_date = Tag::Simple.new(name: "SubRowDeliveryDate")
127
+ @sub_row_quotation_identifier = Tag::Simple.new(name: "SubRowQuotationIdentifier")
128
+ @sub_row_quotation_identifier_url_text = Tag::Simple.new(name: "SubRowQuotationIdentifierUrlText")
129
+ @sub_row_agreement_identifier = Tag::Simple.new(name: "SubRowAgreementIdentifier")
130
+ @sub_row_agreement_identifier_url_text = Tag::Simple.new(name: "SubRowAgreementIdentifierUrlText")
131
+ @sub_row_request_of_quotation_identifier = Tag::Simple.new(name: "SubRowRequestOfQuotationIdentifier")
132
+ @sub_row_request_of_quotation_identifier_url_text = Tag::Simple.new(name: "SubRowRequestOfQuotationIdentifierUrlText")
133
+ @sub_row_price_list_identifier = Tag::Simple.new(name: "SubRowPriceListIdentifier")
134
+ @sub_row_price_list_identifier_url_text = Tag::Simple.new(name: "SubRowPriceListIdentifierUrlText")
135
+ @sub_row_buyer_reference_identifier = Tag::Simple.new(name: "SubRowBuyerReferenceIdentifer")
136
+ @sub_row_project_reference_identifier = Tag::Simple.new(name: "SubRowProjectReferenceIdentifier")
137
+ @sub_row_over_due_payment_details = SubRowOverDuePaymentDetails.new
138
+ @sub_row_any_party_details = SubRowAnyPartyDetails.new
139
+ @sub_row_delivery_details = SubRowDeliveryDetails.new
140
+ @sub_row_short_proposed_account_identifier = Tag::Simple.new(name: "SubRowShortProposedAccountIdentifier")
141
+ @sub_row_normal_proposed_account_identifier = Tag::Simple.new(name: "SubRowNormalProposedAccountIdentifier")
142
+ @sub_row_proposed_account_text = Tag::Simple.new(name: "SubRowProposedAccountText")
143
+ @sub_row_account_dimension_text = Tag::Simple.new(name: "SubRowAccountDimensionText")
144
+ @sub_row_seller_account_text = Tag::Simple.new(name: "SubRowSellerAccountText")
145
+ @sub_row_free_text = Tag::Simple.new(name: "SubRowFreeText")
146
+ @sub_row_used_quantity = Tag::Simple.new(name: "SubRowUsedQuantity")
147
+ @sub_row_previous_meter_reading_date = Tag::Simple.new(name: "SubRowPreviousMeterReadingDate")
148
+ @sub_row_latest_meter_reading_date = Tag::Simple.new(name: "SubRowLatestMeterReadingText")
149
+ @sub_row_calculated_quantity = Tag::Simple.new(name: "SubRowCalculatedQuantity")
150
+ @sub_row_average_price_amount = Tag::Simple.new(name: "SubRowAveragePriceAmount")
151
+ @sub_row_discount_percent = Tag::Simple.new(name: "SubRowDiscountPercent")
152
+ @sub_row_discount_amount = Tag::Simple.new(name: "SubRowDiscountAmount")
153
+ @sub_row_discount_base_amount = Tag::Simple.new(name: "SubRowDiscountBaseAmount")
154
+ @sub_row_discount_type_code = Tag::Simple.new(name: "SubRowDiscountTypeCode")
155
+ @sub_row_discount_type_text = Tag::Simple.new(name: "SubRowDiscountTypeText")
156
+ @sub_row_progessive_discount_details = SubRowProgressiveDiscountDetails.new
157
+ @sub_row_charge_details = Finvoice3::InvoiceRow::RowChargeDetails.new(name: "SubRowChargeDetails")
158
+ @sub_row_vat_rate_percent = Tag::Simple.new(name: "SubRowVatRatePercent")
159
+ @sub_row_vat_code = Tag::Simple.new(name: "SubRowVatCode")
160
+ @sub_row_vat_amount = Tag::Simple.new(name: "SubRowVatAmount")
161
+ @sub_row_vat_excluded_amount = Tag::Simple.new(name: "SubRowVatExcludedAmount")
162
+ @sub_row_amount = Tag::Simple.new(name: "SubRowAmount")
163
+ @sub_row_transaction_details = Finvoice3::InvoiceRow::TransactionDetails.new(name: "SubRowTransactionDetails")
164
+ end
165
+
166
+ def sub_tags
167
+ [
168
+ @sub_identifier,
169
+ @sub_row_position_identifier,
170
+ @sub_invoiced_object_id,
171
+ @sub_article_identifier,
172
+ @sub_article_group_identifier,
173
+ @sub_article_name,
174
+ @sub_article_description,
175
+ @sub_article_info_url_text,
176
+ @sub_buyer_article_identifier,
177
+ @sub_ean_code,
178
+ @sub_row_registration_number_identifier,
179
+ @sub_serial_number_identifier,
180
+ @sub_row_action_code,
181
+ @sub_row_definition_details,
182
+ @sub_offered_quantity,
183
+ @sub_delivered_quantity,
184
+ @sub_ordered_quantity,
185
+ @sub_confirmed_quantity,
186
+ @sub_post_delivered_quantity,
187
+ @sub_invoiced_quantity,
188
+ @sub_credit_requested_quantity,
189
+ @sub_returned_quantity,
190
+ @sub_start_date,
191
+ @sub_end_date,
192
+ @sub_unit_price_amount,
193
+ @sub_unit_price_discount_amount,
194
+ @sub_unit_price_net_amount,
195
+ @sub_unit_price_vat_included_amount,
196
+ @sub_unit_price_base_quantity,
197
+ @sub_row_identifier,
198
+ @sub_row_identifier_url_text,
199
+ @sub_row_identifier_date,
200
+ @sub_row_orderer_name,
201
+ @sub_row_sales_person_name,
202
+ @sub_row_order_confirmation_identifier,
203
+ @sub_row_order_confirmation_date,
204
+ @sub_original_invoice_number,
205
+ @sub_original_invoice_date,
206
+ @sub_original_invoice_reference,
207
+ @sub_row_delivery_identifier,
208
+ @sub_row_delivery_identifier_url_text,
209
+ @sub_row_delivery_date,
210
+ @sub_row_quotation_identifier,
211
+ @sub_row_quotation_identifier_url_text,
212
+ @sub_row_agreement_identifier,
213
+ @sub_row_agreement_identifier_url_text,
214
+ @sub_row_request_of_quotation_identifier,
215
+ @sub_row_request_of_quotation_identifier_url_text,
216
+ @sub_row_price_list_identifier,
217
+ @sub_row_price_list_identifier_url_text,
218
+ @sub_row_buyer_reference_identifier,
219
+ @sub_row_project_reference_identifier,
220
+ @sub_row_over_due_payment_details,
221
+ @sub_row_any_party_details,
222
+ @sub_row_delivery_details,
223
+ @sub_row_short_proposed_account_identifier,
224
+ @sub_row_normal_proposed_account_identifier,
225
+ @sub_row_proposed_account_text,
226
+ @sub_row_account_dimension_text,
227
+ @sub_row_seller_account_text,
228
+ @sub_row_free_text,
229
+ @sub_row_used_quantity,
230
+ @sub_row_previous_meter_reading_date,
231
+ @sub_row_latest_meter_reading_date,
232
+ @sub_row_calculated_quantity,
233
+ @sub_row_average_price_amount,
234
+ @sub_row_discount_percent,
235
+ @sub_row_discount_amount,
236
+ @sub_row_discount_base_amount,
237
+ @sub_row_discount_type_code,
238
+ @sub_row_discount_type_text,
239
+ @sub_row_progessive_discount_details,
240
+ @sub_row_charge_details,
241
+ @sub_row_vat_rate_percent,
242
+ @sub_row_vat_code,
243
+ @sub_row_vat_amount,
244
+ @sub_row_vat_excluded_amount,
245
+ @sub_row_amount,
246
+ @sub_row_transaction_details
247
+ ]
248
+ end
249
+ end
250
+ end
@@ -0,0 +1,22 @@
1
+ module Finvoice3
2
+ class InvoiceRow::TransactionDetails < Tag::Complex
3
+ attr_accessor :other_currency_amount
4
+ attr_accessor :exchange_rate
5
+ attr_accessor :exchange_date
6
+
7
+ def initialize(name: "TransactionDetails")
8
+ super(name: name)
9
+ @other_currency_amount = Tag::Simple.new(name: "OtherCurrencyAmount")
10
+ @exchange_rate = Tag::Simple.new(name: "ExchangeRate")
11
+ @exchange_date = Tag::Simple.new(name: "ExchangeDate")
12
+ end
13
+
14
+ def sub_tags
15
+ [
16
+ @other_currency_amount,
17
+ @exchange_rate,
18
+ @exchange_date
19
+ ]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,255 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Finvoice3
4
+ class InvoiceRow < Tag::Complex
5
+ attr_accessor :row_sub_identifier
6
+ attr_accessor :invoiced_object_id
7
+ attr_accessor :article_identifier
8
+ attr_accessor :article_group_identifier
9
+ attr_accessor :article_name
10
+ attr_accessor :article_description
11
+ attr_accessor :article_info_url_text
12
+ attr_accessor :buyer_article_identifier
13
+ attr_accessor :ean_code
14
+ attr_accessor :row_registration_number_identifier
15
+ attr_accessor :serial_number_identifier
16
+ attr_accessor :row_action_code
17
+ attr_accessor :row_definition_details
18
+ attr_accessor :offered_quantity
19
+ attr_accessor :delivered_quantity
20
+ attr_accessor :confirmed_quantity
21
+ attr_accessor :post_delivered_quantity
22
+ attr_accessor :invoiced_quantity
23
+ attr_accessor :credit_requested_quantity
24
+ attr_accessor :returned_quantity
25
+ attr_accessor :start_date
26
+ attr_accessor :end_date
27
+ attr_accessor :unit_price_amount
28
+ attr_accessor :unit_price_discount_amount
29
+ attr_accessor :unit_price_net_amount
30
+ attr_accessor :unit_price_vat_included_amount
31
+ attr_accessor :unit_price_base_quantity
32
+ attr_accessor :row_identifier
33
+ attr_accessor :row_identifier_url_text
34
+ attr_accessor :row_order_position_identifier
35
+ attr_accessor :row_identifier_date
36
+ attr_accessor :row_position_identifier
37
+ attr_accessor :original_invoice_number
38
+ attr_accessor :original_invoice_date
39
+ attr_accessor :original_invoice_reference
40
+ attr_accessor :row_orderer_name
41
+ attr_accessor :row_sales_person_name
42
+ attr_accessor :row_order_confirmation_identifier
43
+ attr_accessor :row_order_confirmation_date
44
+ attr_accessor :row_delivery_identifier
45
+ attr_accessor :row_delivery_identifier_url_text
46
+ attr_accessor :row_delivery_date
47
+ attr_accessor :row_quotation_identifier
48
+ attr_accessor :row_quotation_identifier_url_text
49
+ attr_accessor :row_agreement_identifier
50
+ attr_accessor :row_agreement_identifier_url_text
51
+ attr_accessor :row_request_of_quotation_identifier
52
+ attr_accessor :row_request_of_quotation_identifier_url_text
53
+ attr_accessor :row_price_list_identifier
54
+ attr_accessor :row_price_list_identifier_url_text
55
+ attr_accessor :row_buyer_reference_identifier
56
+ attr_accessor :row_project_reference_identifier
57
+ attr_accessor :row_over_due_payment_details
58
+ attr_accessor :row_any_party_details
59
+ attr_accessor :row_delivery_details
60
+ attr_accessor :row_short_proposed_account_identifier
61
+ attr_accessor :row_normal_proposed_account_identifier
62
+ attr_accessor :row_proposed_account_text
63
+ attr_accessor :row_account_dimension_text
64
+ attr_accessor :row_seller_account_text
65
+ attr_accessor :row_free_text
66
+ attr_accessor :row_used_quantity
67
+ attr_accessor :row_previous_meter_reading_date
68
+ attr_accessor :row_latest_meter_reading_date
69
+ attr_accessor :row_calculated_quantity
70
+ attr_accessor :row_average_price_amount
71
+ attr_accessor :row_discount_percent
72
+ attr_accessor :row_discount_amount
73
+ attr_accessor :row_discount_base_amount
74
+ attr_accessor :row_discount_type_code
75
+ attr_accessor :row_discount_type_text
76
+ attr_accessor :row_progressive_discount_details
77
+ attr_accessor :row_charge_details
78
+ attr_accessor :row_vat_rate_percent
79
+ attr_accessor :row_vat_code
80
+ attr_accessor :row_vat_amount
81
+ attr_accessor :row_vat_excluded_amount
82
+ attr_accessor :row_amount
83
+ attr_accessor :row_transaction_details
84
+ attr_accessor :sub_invoice_row
85
+
86
+ def initialize
87
+ super
88
+ @row_sub_identifier = Tag::Simple.new(name: "RowSubIdentifier")
89
+ @invoiced_object_id = InvoicedObjectId.new
90
+ @article_identifier = Tag::Simple.new(name: "ArticleIdentifier")
91
+ @article_group_identifier = ArticleGroupIdentifier.new
92
+ @article_name = Tag::Simple.new(name: "ArticleName")
93
+ @article_description = Tag::Simple.new(name: "ArticleDescription")
94
+ @article_info_url_text = Tag::Simple.new(name: "ArticleInfoUrlText")
95
+ @buyer_article_identifier = Tag::Simple.new(name: "BuyerArticleIdentifier")
96
+ @ean_code = EanCode.new
97
+ @row_registration_number_identifier = Tag::Simple.new(name: "RowRegistrationNumberIdentifier")
98
+ @serial_number_identifier = Tag::Simple.new(name: "SerialNumberIdentifier")
99
+ @row_action_code = Tag::Simple.new(name: "RowActionCode")
100
+ @row_definition_details = RowDefinitionDetails.new
101
+ @offered_quantity = Tag::Simple.new(name: "OfferedQuantity")
102
+ @delivered_quantity = Tag::Simple.new(name: "DeliveredQuantity")
103
+ @ordered_quantity = Tag::Simple.new(name: "OrderedQuantity")
104
+ @confirmed_quantity = Tag::Simple.new(name: "ConfirmedQuantity")
105
+ @post_delivered_quantity = Tag::Simple.new(name: "PostDeliveredQuantity")
106
+ @invoiced_quantity = Tag::Simple.new(name: "InvoicedQuantity")
107
+ @credit_requested_quantity = Tag::Simple.new(name: "CreditRequestedQuantity")
108
+ @returned_quantity = Tag::Simple.new(name: "ReturnedQuantity")
109
+ @start_date = Tag::Simple.new(name: "StartDate")
110
+ @end_date = Tag::Simple.new(name: "EndDate")
111
+ @unit_price_amount = Tag::Simple.new(name: "UnitPriceAmount")
112
+ @unit_price_discount_amount = Tag::Simple.new(name: "UnitPriceDiscountAmount")
113
+ @unit_price_net_amount = Tag::Simple.new(name: "UnitPriceNetAmount")
114
+ @unit_price_vat_included_amount = Tag::Simple.new(name: "UnitPriceVatIncludedAmount")
115
+ @unit_price_base_quantity = Tag::Simple.new(name: "UnitPriceBaseQuantity")
116
+ @row_identifier = Tag::Simple.new(name: "RowIdentifier")
117
+ @row_identifier_url_text = Tag::Simple.new(name: "RowIdentifierUrlText")
118
+ @row_order_position_identifier = Tag::Simple.new(name: "RowOrderPositionIdentifier")
119
+ @row_identifier_date = Tag::Simple.new(name: "RowIdentifierDate")
120
+ @row_position_identifier = Tag::Simple.new(name: "RowPositionIdentifier")
121
+ @original_invoice_number = Tag::Simple.new(name: "OriginalInvoiceNumber")
122
+ @original_invoice_date = Tag::Simple.new(name: "OriginalInvoiceDate")
123
+ @original_invoice_reference = OriginalInvoiceReference.new
124
+ @row_orderer_name = Tag::Simple.new(name: "RowOrdererName")
125
+ @row_sales_person_name = Tag::Simple.new(name: "RowSalesPersonName")
126
+ @row_order_confirmation_identifier = Tag::Simple.new(name: "RowOrderConfirmationIdentifier")
127
+ @row_order_confirmation_date = Tag::Simple.new(name: "RowOrderConfirmationDate")
128
+ @row_delivery_identifier = Tag::Simple.new(name: "RowDeliveryIdentifier")
129
+ @row_delivery_identifier_url_text = Tag::Simple.new(name: "RowDeliveryIdentifier")
130
+ @row_delivery_date = Tag::Simple.new(name: "RowDeliveryDate")
131
+ @row_quotation_identifier = Tag::Simple.new(name: "RowQuotationIdentifier")
132
+ @row_quotation_identifier_url_text = Tag::Simple.new(name: "RowQuotationIdentifierUrlText")
133
+ @row_agreement_identifier = Tag::Simple.new(name: "RowAgreementIdentifier")
134
+ @row_agreement_identifier_url_text = Tag::Simple.new(name: "RowAgreementIdentifierUrlText")
135
+ @row_request_of_quotation_identifier = Tag::Simple.new(name: "RowRequestOfQuotationIdentifier")
136
+ @row_request_of_quotation_identifier_url_text = Tag::Simple.new(name: "RowRequestOfQuotationIdentifierUrlText")
137
+ @row_price_list_identifier = Tag::Simple.new(name: "RowPriceListIdentifier")
138
+ @row_price_list_identifier_url_text = Tag::Simple.new(name: "RowPriceListIdentifierUrlText")
139
+ @row_project_reference_identifier = Tag::Simple.new(name: "RowProjectReferenceIdentifier")
140
+ @row_over_due_payment_details = RowOverDuePaymentDetails.new
141
+ @row_any_party_details = RowAnyPartyDetails.new
142
+ @row_delivery_details = RowDeliveryDetails.new
143
+ @row_short_proposed_account_identifier = Tag::Simple.new(name: "RowShortProposedAccountIdentifier")
144
+ @row_normal_proposed_account_identifier = Tag::Simple.new(name: "RowNormalProposedAccountIdentifier")
145
+ @row_proposed_account_text = Tag::Simple.new(name: "RowProposedAccountText")
146
+ @row_account_dimension_text = Tag::Simple.new(name: "RowAccountDimensionText")
147
+ @row_seller_account_text = Tag::Simple.new(name: "RowSellerAccountText")
148
+ @row_free_text = Tag::Simple.new(name: "RowFreeText")
149
+ @row_used_quantity = Tag::Simple.new(name: "RowUsedQuantity")
150
+ @row_previous_meter_reading_date = Tag::Simple.new(name: "RowPreviousMeterReadingDate")
151
+ @row_latest_meter_reading_date = Tag::Simple.new(name: "RowLatestMeterReadingDate")
152
+ @row_calculated_quantity = Tag::Simple.new(name: "RowCalculatedQuantity")
153
+ @row_average_price_amount = Tag::Simple.new(name: "RowAveragePriceAmount")
154
+ @row_discount_percent = Tag::Simple.new(name: "RowDiscountPercent")
155
+ @row_discount_amount = Tag::Simple.new(name: "RowDiscountAmount")
156
+ @row_discount_base_amount = Tag::Simple.new(name: "RowDiscountBaseAmount")
157
+ @row_discount_type_code = Tag::Simple.new(name: "RowDiscountTypeCode")
158
+ @row_discount_type_text = Tag::Simple.new(name: "RowDiscountTypeText")
159
+ @row_progressive_discount_details = RowProgressiveDiscountDetails.new
160
+ @row_charge_details = RowChargeDetails.new
161
+ @row_vat_rate_percent = Tag::Simple.new(name: "RowVatRatePercent")
162
+ @row_vat_code = Tag::Simple.new(name: "RowVatCode")
163
+ @row_vat_amount = Tag::Simple.new(name: "RowVatAmount")
164
+ @row_vat_excluded_amount = Tag::Simple.new(name: "RowVatExcludedAmount")
165
+ @row_amount = Tag::Simple.new(name: "RowAmount")
166
+ @row_transaction_details = TransactionDetails.new
167
+ @sub_invoice_row = SubInvoiceRow.new
168
+ end
169
+
170
+ def sub_tags
171
+ [
172
+ @row_sub_identifier,
173
+ @invoiced_object_id,
174
+ @article_identifier,
175
+ @article_group_identifier,
176
+ @article_name,
177
+ @article_description,
178
+ @article_info_url_text,
179
+ @buyer_article_identifier,
180
+ @ean_code,
181
+ @row_registration_number_identifier,
182
+ @serial_number_identifier,
183
+ @row_action_code,
184
+ @row_definition_details,
185
+ @offered_quantity,
186
+ @delivered_quantity,
187
+ @confirmed_quantity,
188
+ @post_delivered_quantity,
189
+ @invoiced_quantity,
190
+ @credit_requested_quantity,
191
+ @returned_quantity,
192
+ @start_date,
193
+ @end_date,
194
+ @unit_price_amount,
195
+ @unit_price_discount_amount,
196
+ @unit_price_net_amount,
197
+ @unit_price_vat_included_amount,
198
+ @unit_price_base_quantity,
199
+ @row_identifier,
200
+ @row_identifier_url_text,
201
+ @row_order_position_identifier,
202
+ @row_identifier_date,
203
+ @row_position_identifier,
204
+ @original_invoice_number,
205
+ @original_invoice_date,
206
+ @original_invoice_reference,
207
+ @row_orderer_name,
208
+ @row_sales_person_name,
209
+ @row_order_confirmation_identifier,
210
+ @row_order_confirmation_date,
211
+ @row_delivery_identifier,
212
+ @row_delivery_identifier_url_text,
213
+ @row_delivery_date,
214
+ @row_quotation_identifier,
215
+ @row_quotation_identifier_url_text,
216
+ @row_agreement_identifier,
217
+ @row_agreement_identifier_url_text,
218
+ @row_request_of_quotation_identifier,
219
+ @row_request_of_quotation_identifier_url_text,
220
+ @row_price_list_identifier,
221
+ @row_price_list_identifier_url_text,
222
+ @row_buyer_reference_identifier,
223
+ @row_project_reference_identifier,
224
+ @row_over_due_payment_details,
225
+ @row_any_party_details,
226
+ @row_delivery_details,
227
+ @row_short_proposed_account_identifier,
228
+ @row_normal_proposed_account_identifier,
229
+ @row_proposed_account_text,
230
+ @row_account_dimension_text,
231
+ @row_seller_account_text,
232
+ @row_free_text,
233
+ @row_used_quantity,
234
+ @row_previous_meter_reading_date,
235
+ @row_latest_meter_reading_date,
236
+ @row_calculated_quantity,
237
+ @row_average_price_amount,
238
+ @row_discount_percent,
239
+ @row_discount_amount,
240
+ @row_discount_base_amount,
241
+ @row_discount_type_code,
242
+ @row_discount_type_text,
243
+ @row_progressive_discount_details,
244
+ @row_charge_details,
245
+ @row_vat_rate_percent,
246
+ @row_vat_code,
247
+ @row_vat_amount,
248
+ @row_vat_excluded_amount,
249
+ @row_amount,
250
+ @row_transaction_details,
251
+ @sub_invoice_row
252
+ ]
253
+ end
254
+ end
255
+ end
@@ -0,0 +1,25 @@
1
+ module Finvoice3
2
+ class InvoiceSenderPartyDetails < Tag::Complex
3
+ attr_accessor :invoice_sender_party_identifier
4
+ attr_accessor :invoice_sender_organisation_name
5
+ attr_accessor :invoice_sender_organisation_tax_code
6
+ attr_accessor :invoice_sender_code
7
+
8
+ def initialize
9
+ super
10
+ @invoice_sender_party_identifier = PartyLegalRegId.new
11
+ @invoice_sender_organisation_name = Tag::Simple.new(name: "InvoiceSenderOrganisationName")
12
+ @invoice_sender_organisation_tax_code = Tag::Simple.new(name: "InvoiceSenderOrganisationTaxCode")
13
+ @invoice_sender_code = PartyIdentifier.new
14
+ end
15
+
16
+ def sub_tags
17
+ [
18
+ @invoice_sender_party_identifier,
19
+ @invoice_sender_organisation_name,
20
+ @invoice_sender_organisation_tax_code,
21
+ @invoice_sender_code
22
+ ]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ module Finvoice3
2
+ class InvoicedObjectId < Tag::Simple
3
+ attr_accessor :scheme_id
4
+
5
+ def initialize(name: "InvoicedObjectID")
6
+ super(name: name)
7
+ end
8
+
9
+ def attributes
10
+ {"SchemeID": @scheme_id}
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ module Finvoice3
2
+ class MessageTransmissionDetails::MessageDetails < Tag::Complex
3
+ attr_accessor :message_identifier
4
+ attr_accessor :message_time_stamp
5
+ attr_accessor :ref_to_message_identifier
6
+ attr_accessor :implementation_code
7
+ attr_accessor :specification_identifier
8
+
9
+
10
+ def initialize
11
+ super
12
+ @message_identifier = Tag::Simple.new(name: "MessageIdentifier")
13
+ @message_time_stamp = Tag::Simple.new(name: "MessageTimeStamp")
14
+ @ref_to_message_identifier = Tag::Simple.new(name: "RefToMessageIdentifier")
15
+ @implementation_code = Tag::Simple.new(name: "ImplementationCode")
16
+ @specification_identifier = Tag::Simple.new(name: "SpecificationIdentifier") #"EN16931"
17
+ end
18
+
19
+ def sub_tags
20
+ [
21
+ @message_identifier,
22
+ @message_time_stamp,
23
+ @ref_to_message_identifier,
24
+ @implementation_code,
25
+ @specification_identifier
26
+ ]
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class MessageTransmissionDetails::MessageReceiverDetails < Tag::Complex
3
+ attr_accessor :to_identifier
4
+ attr_accessor :to_intermediator
5
+
6
+ def initialize
7
+ super
8
+ @to_identifier = Finvoice3::ElectronicAddrId.new(name: "ToIdentifier")
9
+ @to_intermediator = Tag::Simple.new(name: "ToIntermediator")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @to_identifier,
15
+ @to_intermediator
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class MessageTransmissionDetails::MessageSenderDetails < Tag::Complex
3
+ attr_accessor :from_identifier
4
+ attr_accessor :from_intermediator
5
+
6
+ def initialize
7
+ super
8
+ @from_identifier = Finvoice3::ElectronicAddrId.new(name: "FromIdentifier")
9
+ @from_intermediator = Tag::Simple.new(name: "FromIntermediator")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @from_identifier,
15
+ @from_intermediator
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ module Finvoice3
2
+ class MessageTransmissionDetails < Tag::Complex
3
+ attr_accessor :message_sender_details
4
+ attr_accessor :message_receiver_details
5
+ attr_accessor :message_details
6
+
7
+ def initialize
8
+ super
9
+ @message_sender_details = MessageSenderDetails.new
10
+ @message_receiver_details = MessageReceiverDetails.new
11
+ @message_details = MessageDetails.new
12
+ end
13
+
14
+ def sub_tags
15
+ [
16
+ @message_sender_details,
17
+ @message_receiver_details,
18
+ @message_details
19
+ ]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class OriginalInvoiceReference < Tag::Complex
3
+ attr_accessor :invoice_number
4
+ attr_accessor :invoice_date
5
+
6
+ def initialize(name: nil)
7
+ super(name: name)
8
+ @invoice_number = Tag::Simple.new(name: "InvoiceNumber")
9
+ @invoice_date = Tag::Simple.new(name: "InvoiceDate")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @invoice_number,
15
+ @invoice_date
16
+ ]
17
+ end
18
+ end
19
+ end