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,14 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowDefinitionDetails < Tag::Complex
3
+ attr_accessor :row_definition_header_text
4
+
5
+ def initialize
6
+ super
7
+ @row_definition_header_text = RowDefinitionHeaderText.new
8
+ end
9
+
10
+ def sub_tags
11
+ [@row_definition_header_text]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,34 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowDeliveryDetails::RowPackageDetails < Tag::Complex
3
+ attr_accessor :row_package_length
4
+ attr_accessor :row_package_width
5
+ attr_accessor :row_package_height
6
+ attr_accessor :row_package_weight
7
+ attr_accessor :row_package_net_weight
8
+ attr_accessor :row_package_volume
9
+ attr_accessor :row_transport_carriage_quantity
10
+
11
+ def initialize
12
+ super
13
+ @row_package_length = Tag::Simple.new(name: "RowPackageLength")
14
+ @row_package_width = Tag::Simple.new(name: "RowPackageWidth")
15
+ @row_package_height = Tag::Simple.new(name: "RowPackageHeight")
16
+ @row_package_weight = Tag::Simple.new(name: "RowPackageWeight")
17
+ @row_package_net_weight = Tag::Simple.new(name: "RowPackageNetWeight")
18
+ @row_package_volume = Tag::Simple.new(name: "RowPackageVolume")
19
+ @row_transport_carriage_quantity = Tag::Simple.new(name: "RowTransportCarriageQuantity")
20
+ end
21
+
22
+ def sub_tags
23
+ [
24
+ @row_package_length,
25
+ @row_package_width,
26
+ @row_package_height,
27
+ @row_package_weight,
28
+ @row_package_net_weight,
29
+ @row_package_volume,
30
+ @row_transport_carriage_quantity
31
+ ]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,97 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowDeliveryDetails < Tag::Complex
3
+ attr_accessor :row_terminal_address_text
4
+ attr_accessor :row_waybill_identifier
5
+ attr_accessor :row_waybill_type_code
6
+ attr_accessor :row_clearance_identifier
7
+ attr_accessor :row_delivery_note_identifier
8
+ attr_accessor :row_deliverer_name
9
+ attr_accessor :row_deliverer_country_subdivision
10
+ attr_accessor :row_deliverer_country_code
11
+ attr_accessor :row_deliverer_country_name
12
+ attr_accessor :row_mode_of_transport_identifier
13
+ attr_accessor :row_carrier_name
14
+ attr_accessor :row_vessel_name
15
+ attr_accessor :row_location_identifier
16
+ attr_accessor :row_transport_information_date
17
+ attr_accessor :row_country_of_origin
18
+ attr_accessor :row_country_of_destination_name
19
+ attr_accessor :row_destination_country_code
20
+ attr_accessor :row_place_of_discharge
21
+ attr_accessor :row_final_destination_name
22
+ attr_accessor :row_customs_info
23
+ attr_accessor :row_manufacturer_article_identifier
24
+ attr_accessor :row_manufacturer_identifier
25
+ attr_accessor :row_manufacturer_name
26
+ attr_accessor :row_manufacturer_country_subdivision
27
+ attr_accessor :row_manufacturer_country_code
28
+ attr_accessor :row_manufacturer_country_name
29
+ attr_accessor :row_manufacturer_order_identifier
30
+ attr_accessor :row_package_details
31
+
32
+ def initialize
33
+ super
34
+ @row_terminal_address_text = Tag::Simple.new(name: "RowTerminalAddressText")
35
+ @row_waybill_identifier = Tag::Simple.new(name: "RowWaybillIdentifier")
36
+ @row_waybill_type_code = Tag::Simple.new(name: "RowWaybillTypeCode")
37
+ @row_clearance_identifier = Tag::Simple.new(name: "RowClearanceIdentifier")
38
+ @row_delivery_note_identifier = Tag::Simple.new(name: "RowDeliveryNoteIdentifier")
39
+ @row_deliverer_name = Tag::Simple.new(name: "RowDelivererName")
40
+ @row_deliverer_country_subdivision = Tag::Simple.new(name: "RowDelivererCountrySubdivision")
41
+ @row_deliverer_country_code = CountryCode.new(name: "RowDelivererCountryCode")
42
+ @row_deliverer_country_name = Tag::Simple.new(name: "RowDelivererCountryName")
43
+ @row_mode_of_transport_identifier = Tag::Simple.new(name: "RowModeOfTransportIdentifier")
44
+ @row_carrier_name = Tag::Simple.new(name: "RowCarrierName")
45
+ @row_vessel_name = Tag::Simple.new(name: "RowVesselName")
46
+ @row_location_identifier = Tag::Simple.new(name: "RowLocationIdentifier")
47
+ @row_transport_information_date = Tag::Simple.new(name: "RowTransportInformationDate")
48
+ @row_country_of_origin = Tag::Simple.new(name: "RowCountryOfOrigin")
49
+ @row_country_of_destination_name = Tag::Simple.new(name: "RowCountryOfDestinationName")
50
+ @row_destination_country_code = CountryCode.new(name: "RowDestinationCountryCode")
51
+ @row_place_of_discharge = Tag::Simple.new(name: "RowPlaceOfDischarge")
52
+ @row_final_destination_name = Tag::Simple.new(name: "RowFinalDestinationName")
53
+ @row_customs_info = Finvoice3::InvoiceRow::CustomsInfo.new
54
+ @row_manufacturer_article_identifier = Tag::Simple.new(name: "RowManufacturerArticleIdentifier")
55
+ @row_manufacturer_identifier = Tag::Simple.new(name: "RowManufacturerIdentifier")
56
+ @row_manufacturer_name = Tag::Simple.new(name: "RowManufacturerName")
57
+ @row_manufacturer_country_subdivision = Tag::Simple.new(name: "RowManufacturerCountrySubdivision")
58
+ @row_manufacturer_country_code = CountryCode.new(name: "RowManufacturerCountryCode")
59
+ @row_manufacturer_country_name = Tag::Simple.new(name: "RowManufacturerCountryName")
60
+ @row_manufacturer_order_identifier = Tag::Simple.new(name: "RowManufacturerOrderIdentifier")
61
+ @row_package_details = RowPackageDetails.new
62
+ end
63
+
64
+ def sub_tags
65
+ [
66
+ @row_terminal_address_text,
67
+ @row_waybill_identifier,
68
+ @row_waybill_type_code,
69
+ @row_clearance_identifier,
70
+ @row_delivery_note_identifier,
71
+ @row_deliverer_name,
72
+ @row_deliverer_country_subdivision,
73
+ @row_deliverer_country_code,
74
+ @row_deliverer_country_name,
75
+ @row_mode_of_transport_identifier,
76
+ @row_carrier_name,
77
+ @row_vessel_name,
78
+ @row_location_identifier,
79
+ @row_transport_information_date,
80
+ @row_country_of_origin,
81
+ @row_country_of_destination_name,
82
+ @row_destination_country_code,
83
+ @row_place_of_discharge,
84
+ @row_final_destination_name,
85
+ @row_customs_info,
86
+ @row_manufacturer_article_identifier,
87
+ @row_manufacturer_identifier,
88
+ @row_manufacturer_name,
89
+ @row_manufacturer_country_subdivision,
90
+ @row_manufacturer_country_code,
91
+ @row_manufacturer_country_name,
92
+ @row_manufacturer_order_identifier,
93
+ @row_package_details
94
+ ]
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,73 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowOverDuePaymentDetails < Tag::Complex
3
+ attr_accessor :row_original_invoice_identifier
4
+ attr_accessor :row_original_invoice_date
5
+ attr_accessor :row_original_due_date
6
+ attr_accessor :row_original_invoice_total_amount
7
+ attr_accessor :row_original_epi_remittance_info_identifier
8
+ attr_accessor :row_paid_vat_excluded_amount
9
+ attr_accessor :row_paid_vat_included_amount
10
+ attr_accessor :row_paid_date
11
+ attr_accessor :row_un_paid_vat_excluded_amount
12
+ attr_accessor :row_un_paid_vat_included_amount
13
+ attr_accessor :row_collection_date
14
+ attr_accessor :row_collection_quantity
15
+ attr_accessor :row_collection_charge_amount
16
+ attr_accessor :row_interest_rate
17
+ attr_accessor :row_interest_start_date
18
+ attr_accessor :row_interest_end_date
19
+ attr_accessor :row_interest_period_text
20
+ attr_accessor :row_interest_date_number
21
+ attr_accessor :row_interest_charge_amount
22
+ attr_accessor :row_interest_charge_vat_amount
23
+ end
24
+
25
+ def initialize
26
+ super
27
+ @row_original_invoice_identifier = Tag::Simple.new(name: "RowOriginalInvoiceIdentifier")
28
+ @row_original_invoice_date = Tag::Simple.new(name: "RowOriginalInvoiceDate")
29
+ @row_original_due_date = Tag::Simple.new(name: "RowOriginalDueDate")
30
+ @row_original_invoice_total_amount = Tag::Simple.new(name: "RowOriginalInvoiceTotalAmount")
31
+ @row_original_epi_remittance_info_identifier = Tag::Simple.new(name: "RowOriginalEpiRemittanceInfoIdentifier")
32
+ @row_paid_vat_excluded_amount = Tag::Simple.new(name: "RowPaidVatExcludedAmount")
33
+ @row_paid_vat_included_amount = Tag::Simple.new(name: "RowPaidVatIncludedAmount")
34
+ @row_paid_date = Tag::Simple.new(name: "RowPaidDate")
35
+ @row_un_paid_vat_excluded_amount = Tag::Simple.new(name: "RowUnPaidVatExcludedAmount")
36
+ @row_un_paid_vat_included_amount = Tag::Simple.new(name: "RowUnPaidVatIncludedAmount")
37
+ @row_collection_date = Tag::Simple.new(name: "RowCollectionDate")
38
+ @row_collection_quantity = Tag::Simple.new(name: "RowCollectionuQuantity")
39
+ @row_collection_charge_amount = Tag::Simple.new(name: "RowCollectionChargeAmount")
40
+ @row_interest_rate = Tag::Simple.new(name: "RowInterestRate")
41
+ @row_interest_start_date = Tag::Simple.new(name: "RowInterestStartDate")
42
+ @row_interest_end_date = Tag::Simple.new(name: "RowInterestEndDate")
43
+ @row_interest_period_text = Tag::Simple.new(name: "RowInterestPeriodText")
44
+ @row_interest_date_number = Tag::Simple.new(name: "RowInterestDateNumber")
45
+ @row_interest_charge_amount = Tag::Simple.new(name: "RowInterestChargeAmount")
46
+ @row_interest_charge_vat_amount = Tag::Simple.new(name: "RowInterestChargeVatAmount")
47
+ end
48
+
49
+ def sub_tags
50
+ [
51
+ @row_original_invoice_identifier,
52
+ @row_original_invoice_date,
53
+ @row_original_due_date,
54
+ @row_original_invoice_total_amount,
55
+ @row_original_epi_remittance_info_identifier,
56
+ @row_paid_vat_excluded_amount,
57
+ @row_paid_vat_included_amount,
58
+ @row_paid_date,
59
+ @row_un_paid_vat_excluded_amount,
60
+ @row_un_paid_vat_included_amount,
61
+ @row_collection_date,
62
+ @row_collection_quantity,
63
+ @row_collection_charge_amount,
64
+ @row_interest_rate,
65
+ @row_interest_start_date,
66
+ @row_interest_end_date,
67
+ @row_interest_period_text,
68
+ @row_interest_date_number,
69
+ @row_interest_charge_amount,
70
+ @row_interest_charge_vat_amount
71
+ ]
72
+ end
73
+ end
@@ -0,0 +1,28 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowProgressiveDiscountDetails < Tag::Complex
3
+ attr_accessor :row_discount_percent
4
+ attr_accessor :row_discount_amount
5
+ attr_accessor :row_discount_base_amount
6
+ attr_accessor :row_discount_type_code
7
+ attr_accessor :row_discount_type_text
8
+
9
+ def initialize
10
+ super
11
+ @row_discount_percent = Tag::Simple.new(name: "RowDiscountPercent")
12
+ @row_discount_amount = Tag::Simple.new(name: "RowDiscountAmount")
13
+ @row_discount_base_amount = Tag::Simple.new(name: "RowDiscountBaseAmount")
14
+ @row_discount_type_code = Tag::Simple.new(name: "RowDiscountTypeCode")
15
+ @row_discount_type_text = Tag::Simple.new(name: "RowDiscountTypeText")
16
+ end
17
+
18
+ def sub_tags
19
+ [
20
+ @row_discount_percent,
21
+ @row_discount_amount,
22
+ @row_discount_base_amount,
23
+ @row_discount_type_code,
24
+ @row_discount_type_text
25
+ ]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,34 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowAnyPartyDetails::SubRowAnyPartyPostalAddressDetails < Tag::Complex
3
+ attr_accessor :sub_row_any_party_street_name
4
+ attr_accessor :sub_row_any_party_town_name
5
+ attr_accessor :sub_row_any_party_post_code_identifier
6
+ attr_accessor :sub_row_any_party_country_subdivision
7
+ attr_accessor :country_code
8
+ attr_accessor :country_name
9
+ attr_accessor :sub_row_any_party_post_office_box_identifier
10
+
11
+ def initialize
12
+ super
13
+ @sub_row_any_party_street_name = Tag::Simple.new(name: "SubRowAnyPartyStreetName")
14
+ @sub_row_any_party_town_name = Tag::Simple.new(name: "SubRowAnyPartyTownName")
15
+ @sub_row_any_party_post_code_identifier = Tag::Simple.new(name: "SubRowAnyPartyPostCodeIdentifier")
16
+ @sub_row_any_party_country_subdivision = Tag::Simple.new(name: "SubRowAnyPartyCountrySubdivision")
17
+ @country_code = CountryCode.new
18
+ @country_name = Tag::Simple.new(name: "CountryName")
19
+ @sub_row_any_party_post_office_box_identifier = Tag::Simple.new(name: "SubRowAnyPartyPostOfficeBoxIdentifier")
20
+ end
21
+
22
+ def sub_tags
23
+ [
24
+ @sub_row_any_party_street_name,
25
+ @sub_row_any_party_town_name,
26
+ @sub_row_any_party_post_code_identifier,
27
+ @sub_row_any_party_country_subdivision,
28
+ @country_code,
29
+ @country_name,
30
+ @sub_row_any_party_post_office_box_identifier
31
+ ]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowAnyPartyDetails < Tag::Complex
3
+ attr_accessor :sub_row_any_party_text
4
+ attr_accessor :sub_row_any_party_identifier
5
+ attr_accessor :sub_row_any_party_organisation_name
6
+ attr_accessor :sub_row_any_party_organisation_department
7
+ attr_accessor :sub_row_any_party_organisation_tax_code
8
+ attr_accessor :sub_row_any_party_code
9
+ attr_accessor :sub_row_any_party_postal_address_details
10
+ attr_accessor :sub_row_any_party_organisation_unit_number
11
+ attr_accessor :sub_row_any_party_site_code
12
+
13
+ def index
14
+ super
15
+ @sub_row_any_party_text = Tag::Simple.new(name: "SubRowAnyPartyText")
16
+ @sub_row_any_party_identifier = PartyLegalRegId.new(name: "SubRowAnyPartyIdentifier")
17
+ @sub_row_any_party_organisation_name = Tag::Simple.new(name: "SubRowAnyPartyOrganisationName")
18
+ @sub_row_any_party_organisation_department = Tag::Simple.new(name: "SubRowAnyPartyOrganisationDepartment")
19
+ @sub_row_any_party_organisation_tax_code = Tag::Simple.new(name: "SubRowAnyPartyOrganisationTaxCode")
20
+ @sub_row_any_party_code = PartyIdentifier.new(name: "SubRowAnyPartyCode")
21
+ @sub_row_any_party_postal_address_details = SubRowAnyPartyPostalAddressDetails.new
22
+ @sub_row_any_party_organisation_unit_number = Tag::Simple.new(name: "SubRowAnyPartyOrganisationUnitNumber")
23
+ @sub_row_any_party_site_code = Tag::Simple.new(name: "SubRowAnyPartySiteCode")
24
+ end
25
+
26
+ def sub_tags
27
+ [
28
+ @sub_row_any_party_text,
29
+ @sub_row_any_party_identifier,
30
+ @sub_row_any_party_organisation_name,
31
+ @sub_row_any_party_organisation_department,
32
+ @sub_row_any_party_organisation_tax_code,
33
+ @sub_row_any_party_code,
34
+ @sub_row_any_party_postal_address_details,
35
+ @sub_row_any_party_organisation_unit_number,
36
+ @sub_row_any_party_site_code
37
+ ]
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,9 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowDefinitionDetails::SubRowDefinitionHeaderText < Tag::Simple
3
+ attr_accessor :definition_code
4
+
5
+ def attributes
6
+ {"DefinitionCode": @definition_code}
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowDefinitionDetails < Tag::Complex
3
+ attr_accessor :sub_row_definition_header_text
4
+ attr_accessor :sub_row_definition_value
5
+
6
+ def initialize
7
+ super
8
+ @sub_row_definition_header_text = SubRowDefinitionHeaderText.new
9
+ @sub_row_definition_value = Tag::Simple.new(name: "SubRowDefinitionValue")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @sub_row_definition_header_text,
15
+ @sub_row_definition_value
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowDeliveryDetails::SubRowPackageDetails < Tag::Complex
3
+ attr_accessor :sub_row_package_length
4
+ attr_accessor :sub_row_package_width
5
+ attr_accessor :sub_row_package_height
6
+ attr_accessor :sub_row_package_weight
7
+ attr_accessor :sub_row_package_net_weight
8
+ attr_accessor :sub_row_package_volume
9
+ attr_accessor :sub_row_transport_carriage_quantity
10
+
11
+ def index
12
+ super
13
+ @sub_row_package_length = Tag::Simple.new(name: "SubRowPackageLength")
14
+ @sub_row_package_width = Tag::Simple.new(name: "SubRowPackageWidth")
15
+ @sub_row_package_height = Tag::Simple.new(name: "SubRowPackageHeight")
16
+ @sub_row_package_weight = Tag::Simple.new(name: "SubRowPackageWeight")
17
+ @sub_row_package_net_weight = Tag::Simple.new(name: "SubRowPackageNetWeight")
18
+ @sub_row_package_volume = Tag::Simple.new(name: "SubRowPackageVolume")
19
+ @sub_row_transport_carriage_quantity = Tag::Simple.new(name: "SubRowTransportCarriageQuantity")
20
+ end
21
+
22
+ def sub_tags
23
+ [
24
+ @sub_row_package_length,
25
+ @sub_row_package_width,
26
+ @sub_row_package_height,
27
+ @sub_row_package_weight,
28
+ @sub_row_package_net_weight,
29
+ @sub_row_package_volume,
30
+ @sub_row_transport_carriage_quantity
31
+ ]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,73 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowDeliveryDetails < Tag::Complex
3
+ attr_accessor :sub_row_terminal_address_text
4
+ attr_accessor :sub_row_waybill_identifier
5
+ attr_accessor :sub_row_waybill_type_code
6
+ attr_accessor :sub_row_clearance_identifier
7
+ attr_accessor :sub_row_delivery_note_identifier
8
+ attr_accessor :sub_row_deliverer_name
9
+ attr_accessor :sub_row_deliverer_country_subdivision
10
+ attr_accessor :sub_row_deliverer_country_code
11
+ attr_accessor :sub_row_deliverer_country_name
12
+ attr_accessor :sub_row_place_of_discharge
13
+ attr_accessor :sub_row_final_destination_name
14
+ attr_accessor :sub_row_customs_info
15
+ attr_accessor :sub_row_manufacturer_article_identifier
16
+ attr_accessor :sub_row_manufacturer_identifier
17
+ attr_accessor :sub_row_manufacturer_name
18
+ attr_accessor :sub_row_manufacturer_country_subdivision
19
+ attr_accessor :sub_row_manufacturer_country_code
20
+ attr_accessor :sub_row_manufacturer_country_name
21
+ attr_accessor :sub_row_manufacturer_order_identifier
22
+ attr_accessor :sub_row_package_details
23
+
24
+ def initialize
25
+ super
26
+ @sub_row_terminal_address_text = Tag::Simple.new(name: "SubRowTerminalAddressText")
27
+ @sub_row_waybill_identifier = Tag::Simple.new(name: "SubRowWaybillIdentifier")
28
+ @sub_row_waybill_type_code = Tag::Simple.new(name: "SubRowWaybillTypeCode")
29
+ @sub_row_clearance_identifier = Tag::Simple.new(name: "SubRowClearanceIdentifier")
30
+ @sub_row_delivery_note_identifier = Tag::Simple.new(name: "SubRowDeliveryNoteIdentifier")
31
+ @sub_row_deliverer_name = Tag::Simple.new(name: "SubRowDelivererName")
32
+ @sub_row_deliverer_country_subdivision = Tag::Simple.new(name: "SubRowDelivererCountrySubdivision")
33
+ @sub_row_deliverer_country_code = CountryCode.new(name: "SubRowDelivererCountryCode")
34
+ @sub_row_deliverer_country_name = Tag::Simple.new(name: "SubRowDelivererCountryName")
35
+ @sub_row_place_of_discharge = Tag::Simple.new(name: "SubRowPlaceOfDischarge")
36
+ @sub_row_final_destination_name = Tag::Simple.new(name: "SubRowFinalDestinationName")
37
+ @sub_row_customs_info = Finvoice3::InvoiceRow::CustomsInfo.new(name: "SubRowCustomsInfo")
38
+ @sub_row_manufacturer_article_identifier = Tag::Simple.new(name: "SubRowManufacturerArticleIdentifier")
39
+ @sub_row_manufacturer_identifier = Tag::Simple.new(name: "SubRowManufacturerIdentifier")
40
+ @sub_row_manufacturer_name = Tag::Simple.new(name: "SubRowManufacturerName")
41
+ @sub_row_manufacturer_country_subdivision = Tag::Simple.new(name: "SubRowManufacturerCountrySubdivision")
42
+ @sub_row_manufacturer_country_code = CountryCode.new(name: "SubRowManufacturerCountryCode")
43
+ @sub_row_manufacturer_country_name = Tag::Simple.new(name: "SubRowManufacturerCountryName")
44
+ @sub_row_manufacturer_order_identifier = Tag::Simple.new(name: "SubRowManufacturerOrderIdentifier")
45
+ @sub_row_package_details = SubRowPackageDetails.new
46
+ end
47
+
48
+ def sub_tags
49
+ [
50
+ @sub_row_terminal_address_text,
51
+ @sub_row_waybill_identifier,
52
+ @sub_row_waybill_type_code,
53
+ @sub_row_clearance_identifier,
54
+ @sub_row_delivery_note_identifier,
55
+ @sub_row_deliverer_name,
56
+ @sub_row_deliverer_country_subdivision,
57
+ @sub_row_deliverer_country_code,
58
+ @sub_row_deliverer_country_name,
59
+ @sub_row_place_of_discharge,
60
+ @sub_row_final_destination_name,
61
+ @sub_row_customs_info,
62
+ @sub_row_manufacturer_article_identifier,
63
+ @sub_row_manufacturer_identifier,
64
+ @sub_row_manufacturer_name,
65
+ @sub_row_manufacturer_country_subdivision,
66
+ @sub_row_manufacturer_country_code,
67
+ @sub_row_manufacturer_country_name,
68
+ @sub_row_manufacturer_order_identifier,
69
+ @sub_row_package_details
70
+ ]
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,73 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowOverDuePaymentDetails < Tag::Complex
3
+ attr_accessor :sub_row_original_invoice_identifier
4
+ attr_accessor :sub_row_original_invoice_date
5
+ attr_accessor :sub_row_original_due_date
6
+ attr_accessor :sub_row_original_invoice_total_amount
7
+ attr_accessor :sub_row_original_epi_remittance_info_identifier
8
+ attr_accessor :sub_row_paid_vat_excluded_amount
9
+ attr_accessor :sub_row_paid_vat_incldued_amount
10
+ attr_accessor :sub_row_paid_date
11
+ attr_accessor :sub_row_un_paid_vat_excluded_amount
12
+ attr_accessor :sub_row_un_paid_vat_included_amount
13
+ attr_accessor :sub_row_collection_date
14
+ attr_accessor :sub_row_collection_quantity
15
+ attr_accessor :sub_row_collection_charge_amount
16
+ attr_accessor :sub_row_interest_rate
17
+ attr_accessor :sub_row_interest_start_date
18
+ attr_accessor :sub_row_interest_end_date
19
+ attr_accessor :sub_row_interest_period_text
20
+ attr_accessor :sub_row_interest_date_number
21
+ attr_accessor :sub_row_interest_charge_amount
22
+ attr_accessor :sub_row_interest_charge_vat_amount
23
+
24
+ def index
25
+ super
26
+ @sub_row_original_invoice_identifier = Tag::Simple.new(name: "SubRowOriginalInvoiceIdentifier")
27
+ @sub_row_original_invoice_date = Tag::Simple.new(name: "SubRowOriginalInvoiceDate")
28
+ @sub_row_original_due_date = Tag::Simple.new(name: "SubRowOriginalDueDate")
29
+ @sub_row_original_invoice_total_amount = Tag::Simple.new(name: "SubRowOriginalInvoiceTotalAmount")
30
+ @sub_row_original_epi_remittance_info_identifier = Tag::Simple.new(name: "SubRowOriginalEpiRemittanceInfoIdentifier")
31
+ @sub_row_paid_vat_excluded_amount = Tag::Simple.new(name: "SubRowPaidVatExcludedAmount")
32
+ @sub_row_paid_vat_incldued_amount = Tag::Simple.new(name: "SubRowPaidVatIncludedAmount")
33
+ @sub_row_paid_date = Tag::Simple.new(name: "SubRowPaidDate")
34
+ @sub_row_un_paid_vat_excluded_amount = Tag::Simple.new(name: "SubRowUnPaidVatExcludedAmount")
35
+ @sub_row_un_paid_vat_included_amount = Tag::Simple.new(name: "SubRowUnPaidVatIncludedAmount")
36
+ @sub_row_collection_date = Tag::Simple.new(name: "SubRowCollectionDate")
37
+ @sub_row_collection_quantity = Tag::Simple.new(name: "SubRowCollectionQuantity")
38
+ @sub_row_collection_charge_amount = Tag::Simple.new(name: "SubRowCollectionChargeAmount")
39
+ @sub_row_interest_rate = Tag::Simple.new(name: "SubRowInterestRate")
40
+ @sub_row_interest_start_date = Tag::Simple.new(name: "SubRowInterestStartDate")
41
+ @sub_row_interest_end_date = Tag::Simple.new(name: "SubRowInterestEndDate")
42
+ @sub_row_interest_period_text = Tag::Simple.new(name: "SubRowInterestPeriodText")
43
+ @sub_row_interest_date_number = Tag::Simple.new(name: "SubRowInterestDateNumber")
44
+ @sub_row_interest_charge_amount = Tag::Simple.new(name: "SubRowInterestChargeAmount")
45
+ @sub_row_interest_charge_vat_amount = Tag::Simple.new(name: "SubRowInterestChargeVatAmount")
46
+ end
47
+
48
+ def sub_tags
49
+ [
50
+ @sub_row_original_invoice_identifier,
51
+ @sub_row_original_invoice_date,
52
+ @sub_row_original_due_date,
53
+ @sub_row_original_invoice_total_amount,
54
+ @sub_row_original_epi_remittance_info_identifier,
55
+ @sub_row_paid_vat_excluded_amount,
56
+ @sub_row_paid_vat_incldued_amount,
57
+ @sub_row_paid_date,
58
+ @sub_row_un_paid_vat_excluded_amount,
59
+ @sub_row_un_paid_vat_included_amount,
60
+ @sub_row_collection_date,
61
+ @sub_row_collection_quantity,
62
+ @sub_row_collection_charge_amount,
63
+ @sub_row_interest_rate,
64
+ @sub_row_interest_start_date,
65
+ @sub_row_interest_end_date,
66
+ @sub_row_interest_period_text,
67
+ @sub_row_interest_date_number,
68
+ @sub_row_interest_charge_amount,
69
+ @sub_row_interest_charge_vat_amount
70
+ ]
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,28 @@
1
+ module Finvoice3
2
+ class InvoiceRow::SubInvoiceRow::SubRowProgressiveDiscountDetails < Tag::Complex
3
+ attr_accessor :sub_row_discount_percent
4
+ attr_accessor :sub_row_discount_amount
5
+ attr_accessor :sub_row_discount_base_amount
6
+ attr_accessor :sub_row_discount_type_code
7
+ attr_accessor :sub_row_discount_type_text
8
+
9
+ def index
10
+ super
11
+ @sub_row_discount_percent = Tag::Simple.new(name: "SubRowDiscountPercent")
12
+ @sub_row_discount_amount = Tag::Simple.new(name: "SubRowDiscountAmount")
13
+ @sub_row_discount_base_amount = Tag::Simple.new(name: "SubRowDiscountBaseAmount")
14
+ @sub_row_discount_type_code = Tag::Simple.new(name: "SubRowDiscountTypeCode")
15
+ @sub_row_discount_type_text = Tag::Simple.new(name: "SubRowDiscountTypeText")
16
+ end
17
+
18
+ def sub_tags
19
+ [
20
+ @sub_row_discount_percent,
21
+ @sub_row_discount_amount,
22
+ @sub_row_discount_base_amount,
23
+ @sub_row_discount_type_code,
24
+ @sub_row_discount_type_text
25
+ ]
26
+ end
27
+ end
28
+ end