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,19 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::InvoiceClassification < Tag::Complex
3
+ attr_accessor :classification_code
4
+ attr_accessor :classification_text
5
+
6
+ def initialize
7
+ super
8
+ @classification_code = Tag::Simple.new(name: "ClassificationCode")
9
+ @classification_text = Tag::Simple.new(name: "ClassificationText")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @classification_code,
15
+ @classification_text
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::InvoiceTypeCodeFi < Tag::Simple
3
+ attr_accessor :code_list_agency_identifier
4
+
5
+ def initialize
6
+ super(name: "InvoiceTypeCode")
7
+ end
8
+
9
+ def attributes
10
+ {"CodeListAgencyIdentifier": @code_list_agency_identifier}
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,4 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::OriginCode < Tag::Simple
3
+ end
4
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::PaymentTermsDetails::CashDiscountVatDetails < Tag::Complex
3
+ attr_accessor :cash_discount_vat_percent
4
+ attr_accessor :cash_discount_vat_amount
5
+
6
+ def initialize
7
+ super
8
+ @cash_discount_vat_percent = Tag::Simple.new(name: "CashDiscountVatPercent")
9
+ @cash_discount_vat_amount = Tag::Simple.new(name: "CashDiscountVatAmount")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @cash_discount_vat_percent,
15
+ @cash_discount_vat_amount
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::PaymentTermsDetails::HeaderValue < Tag::Complex
3
+ attr_accessor :header
4
+ attr_accessor :value
5
+
6
+ def initialize
7
+ super
8
+ @header = Tag::Simple.new(name: "Header")
9
+ @value = Tag::Simple.new(name: "Value")
10
+ end
11
+
12
+ def sub_tags
13
+ [@header, @value]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::PaymentTermsDetails::PaymentOverDueFineDetails < Tag::Complex
3
+ attr_accessor :payment_over_due_fine_free_text
4
+ attr_accessor :payment_over_due_fine_percent
5
+ attr_accessor :payment_over_due_fixed_amount
6
+
7
+ def initialize
8
+ super
9
+ @payment_over_due_fine_free_text = Tag::Simple.new(name: "PaymentOverDueFineFreeText")
10
+ @payment_over_due_fine_percent = Tag::Simple.new(name: "PaymentOverDueFinePercent")
11
+ @payment_over_due_fixed_amount = Tag::Simple.new(name: "PaymentOverDueFixedAmount")
12
+ end
13
+
14
+ def sub_tags
15
+ [
16
+ @payment_over_due_fine_free_text,
17
+ @payment_over_due_fine_percent,
18
+ @payment_over_due_fixed_amount
19
+ ]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,46 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::PaymentTermsDetails < Tag::Complex
3
+ attr_accessor :payment_terms_free_text
4
+ attr_accessor :free_text
5
+ attr_accessor :invoice_due_date
6
+ attr_accessor :cash_discount_date
7
+ attr_accessor :cash_discount_base_amount
8
+ attr_accessor :cash_discount_percent
9
+ attr_accessor :cash_discount_amount
10
+ attr_accessor :cash_discount_excluding_vat_amount
11
+ attr_accessor :cash_discount_vat_details
12
+ attr_accessor :reduced_invoice_vat_included_amount
13
+ attr_accessor :payment_over_due_fine_details
14
+
15
+ def initialize
16
+ super
17
+ @payment_terms_free_text = Tag::Simple.new(name: "PaymentTermsFreeText")
18
+ @free_text = HeaderValue.new
19
+ @invoice_due_date = Tag::Simple.new(name: "InvoiceDueDate")
20
+ @cash_discount_date = Tag::Simple.new(name: "CashDiscountDate")
21
+ @cash_discount_base_amount = Tag::Simple.new(name: "CashDiscountBaseAmount")
22
+ @cash_discount_percent = Tag::Simple.new(name: "CashDiscountPercent")
23
+ @cash_discount_amount = Tag::Simple.new(name: "CashDiscountAmount")
24
+ @cash_discount_excluding_vat_amount = Tag::Simple.new(name: "CashDiscountExcludingVatAmount")
25
+ @cash_discount_vat_details = CashDiscountVatDetails.new
26
+ @reduced_invoice_vat_included_amount = Tag::Simple.new(name: "ReducedInvoiceVatIncludedAmount")
27
+ @payment_over_due_fine_details = PaymentOverDueFineDetails.new
28
+ end
29
+
30
+ def sub_tags
31
+ [
32
+ @payment_terms_free_text,
33
+ @free_text,
34
+ @invoice_due_date,
35
+ @cash_discount_date,
36
+ @cash_discount_base_amount,
37
+ @cash_discount_percent,
38
+ @cash_discount_amount,
39
+ @cash_discount_excluding_vat_amount,
40
+ @cash_discount_vat_details,
41
+ @reduced_invoice_vat_included_amount,
42
+ @payment_over_due_fine_details
43
+ ]
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::VatPoint < Tag::Complex
3
+ attr_accessor :vat_point_date
4
+ attr_accessor :vat_point_date_code
5
+
6
+ def initialize
7
+ super
8
+ @vat_point_date = Tag::Simple.new(name: "VatPointDate")
9
+ @vat_point_date_code = Tag::Simple.new(name: "VatPointDateCode")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @vat_point_date,
15
+ @vat_point_date_code
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ module Finvoice3
2
+ class InvoiceDetails::VatSpecificationDetails < Tag::Complex
3
+ attr_accessor :vat_base_amount
4
+ attr_accessor :vat_rate_percent
5
+ attr_accessor :vat_code
6
+ attr_accessor :vat_rate_amount
7
+ attr_accessor :vat_free_text
8
+ attr_accessor :vat_exemption_reason_code
9
+
10
+ def initialize
11
+ super
12
+ @vat_base_amount = Tag::Simple.new(name: "VatBaseAmount")
13
+ @vat_rate_percent = Tag::Simple.new(name: "VatRatePercent")
14
+ @vat_code = Tag::Simple.new(name: "VatCode")
15
+ @vat_rate_amount = Tag::Simple.new(name: "VatRateAmount")
16
+ @vat_free_text = Tag::Simple.new(name: "VatFreeText")
17
+ @vat_exemption_reason_code = Tag::Simple.new(name: "VatExemptionReasonCode")
18
+ end
19
+
20
+ def sub_tags
21
+ [
22
+ @vat_base_amount,
23
+ @vat_rate_percent,
24
+ @vat_code,
25
+ @vat_rate_amount,
26
+ @vat_free_text,
27
+ @vat_exemption_reason_code
28
+ ]
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,211 @@
1
+ module Finvoice3
2
+ class InvoiceDetails < Tag::Complex
3
+ attr_accessor :invoice_type_code
4
+ attr_accessor :invoice_type_code_un
5
+ attr_accessor :invoice_type_text
6
+ attr_accessor :invoice_classification
7
+ attr_accessor :origin_code
8
+ attr_accessor :origin_text
9
+ attr_accessor :invoiced_object_id
10
+ attr_accessor :invoice_number
11
+ attr_accessor :invoice_date
12
+ attr_accessor :original_invoice_number
13
+ attr_accessor :original_invoice_date
14
+ attr_accessor :original_invoice_reference
15
+ attr_accessor :invoicing_period_start_date
16
+ attr_accessor :invoicing_period_end_date
17
+ attr_accessor :seller_reference_identifier
18
+ attr_accessor :seller_reference_identifier_url_text
19
+ attr_accessor :buyers_seller_identifier
20
+ attr_accessor :sellers_buyer_identifier
21
+ attr_accessor :order_identifier
22
+ attr_accessor :order_identifier_url_text
23
+ attr_accessor :order_date
24
+ attr_accessor :order_name
25
+ attr_accessor :sales_person_name
26
+ attr_accessor :order_confirmation_identifier
27
+ attr_accessor :order_confirmation_date
28
+ attr_accessor :agreement_identifier
29
+ attr_accessor :agreement_identifier_url_text
30
+ attr_accessor :agreement_type_text
31
+ attr_accessor :agreement_type_code
32
+ attr_accessor :agreement_date
33
+ attr_accessor :notification_identifer
34
+ attr_accessor :notification_date
35
+ attr_accessor :registration_number_identifier
36
+ attr_accessor :controller_identifier
37
+ attr_accessor :controller_name
38
+ attr_accessor :control_date
39
+ attr_accessor :buyer_reference_identifier
40
+ attr_accessor :project_reference_identifier
41
+ attr_accessor :definition_details
42
+ attr_accessor :rows_total_vat_excluded_amount
43
+ attr_accessor :discounts_total_vat_excluded_amount
44
+ attr_accessor :charges_total_vat_excluded_amount
45
+ attr_accessor :invoice_total_vat_excluded_amount
46
+ attr_accessor :invoice_total_vat_amount
47
+ attr_accessor :invoice_total_vat_accounting_amount
48
+ attr_accessor :invoice_total_vat_included_amount
49
+ attr_accessor :invoice_total_roundoff_amount
50
+ attr_accessor :exchange_rate
51
+ attr_accessor :other_currency_amount_vat_excluded_amount
52
+ attr_accessor :other_currency_amount_vat_included_amount
53
+ attr_accessor :credit_limit_amount
54
+ attr_accessor :credit_interest_percent
55
+ attr_accessor :operation_limit_amount
56
+ attr_accessor :monthly_amount
57
+ attr_accessor :short_proposed_account_identifier
58
+ attr_accessor :normal_proposed_account_identifier
59
+ attr_accessor :proposed_account_text
60
+ attr_accessor :account_dimension_text
61
+ attr_accessor :vat_point
62
+ attr_accessor :vat_specification_details
63
+ attr_accessor :invoice_free_text
64
+ attr_accessor :invoice_vat_free_text
65
+ attr_accessor :payment_terms_details
66
+ attr_accessor :discount_details
67
+ attr_accessor :charge_details
68
+ attr_accessor :tender_reference
69
+
70
+ def initialize
71
+ super
72
+ @invoice_type_code = InvoiceTypeCodeFi.new
73
+ @invoice_type_code_un = Tag::Simple.new(name: "InvoiceTypeCodeUN")
74
+ @invoice_type_text = Tag::Simple.new(name: "InvoiceTypeText")
75
+ @invoice_classification = InvoiceClassification.new
76
+ @origin_code = OriginCode.new
77
+ @origin_text = Tag::Simple.new(name: "OriginText")
78
+ @invoiced_object_id = InvoicedObjectId.new
79
+ @invoice_number = Tag::Simple.new(name: "InvoiceNumber")
80
+ @invoice_date = Tag::Simple.new(name: "InvoiceDate")
81
+ @original_invoice_number = Tag::Simple.new(name: "OriginalInvoiceNumber")
82
+ @original_invoice_date = Tag::Simple.new(name: "OriginalInvoiceDate")
83
+ @original_invoice_reference = OriginalInvoiceReference.new
84
+ @invoicing_period_start_date = Tag::Simple.new(name: "InvoicingPeriodStartDate")
85
+ @invoicing_period_end_date = Tag::Simple.new(name: "InvoicingPeriodEndDate")
86
+ @seller_reference_identifier = Tag::Simple.new(name: "SellerReferenceIdentifier")
87
+ @seller_reference_identifier_url_text = Tag::Simple.new(name: "SellerReferenceIdentifierUrlText")
88
+ @buyers_seller_identifier = PartyIdentifier.new(name: "BuyersSellerIdentifier")
89
+ @sellers_buyer_identifier = PartyIdentifier.new(name: "SellersBuyerIdentifier")
90
+ @order_identifier = Tag::Simple.new(name: "OrderIdentifier")
91
+ @order_identifier_url_text = Tag::Simple.new(name: "OrderIdentifierUrlText")
92
+ @order_date = Tag::Simple.new(name: "OrderDate")
93
+ @orderer_name = Tag::Simple.new(name: "OrdererName")
94
+ @sales_person_name = Tag::Simple.new(name: "SalesPersonName")
95
+ @order_confirmation_identifier = Tag::Simple.new(name: "OrderConfirmationIdentifier")
96
+ @order_confirmation_date = Tag::Simple.new(name: "OrderConfirmationDate")
97
+ @agreement_identifier = Tag::Simple.new(name: "AgreementIdentifier")
98
+ @agreement_identifier_url_text = Tag::Simple.new(name: "AgreementIdentifierUrlText")
99
+ @agreement_type_text = Tag::Simple.new(name: "AgreementTypeText")
100
+ @agreement_type_code = Tag::Simple.new(name: "AgreementTypeCode")
101
+ @agreement_date = Tag::Simple.new(name: "AgreementDate")
102
+ @notification_identifer = Tag::Simple.new(name: "NotificationIdentifier")
103
+ @notification_date = Tag::Simple.new(name: "NotificationDate")
104
+ @registration_number_identifier = Tag::Simple.new(name: "RegistrationNumberIdentifier")
105
+ @controller_identifier = Tag::Simple.new(name: "ControllerIdentifier")
106
+ @controller_name = Tag::Simple.new(name: "ControllerName")
107
+ @control_date = Tag::Simple.new(name: "ControlDate")
108
+ @buyer_reference_identifier = Tag::Simple.new(name: "BuyerReferenceIdentifier")
109
+ @project_reference_identifier = Tag::Simple.new(name: "ProjectReferenceIdentifier")
110
+ @definition_details = DefinitionDetails.new
111
+ @rows_total_vat_excluded_amount = Tag::Simple.new(name: "RowsTotalVatExcludedAmount") # oma tagi
112
+ @discounts_total_vat_excluded_amount = Tag::Simple.new(name: "DiscountsTotalVatExcludedAmount")
113
+ @charges_total_vat_excluded_amount = Tag::Simple.new(name: "ChargesTotalVatExcludedAmount")
114
+ @invoice_total_vat_excluded_amount = Tag::Simple.new(name: "InvoiceTotalVatExcludedAmount")
115
+ @invoice_total_vat_amount = Tag::Simple.new(name: "InvoiceTotalVatAmount")
116
+ @invoice_total_vat_accounting_amount = Tag::Simple.new(name: "InvoiceTotalVatAccountingAmount")
117
+ @invoice_total_vat_included_amount = Tag::Simple.new(name: "InvoiceTotalVatIncludedAmount")
118
+ @invoice_total_roundoff_amount =Tag::Simple.new(name: "InvoiceTotalRoundoffAmoutn")
119
+ @exchange_rate = Tag::Simple.new(name: "ExchangeRate")
120
+ @other_currency_amount_vat_excluded_amount = Tag::Simple.new(name: "OtherCurrencyAmountVatExcludedAmount")
121
+ @other_currency_amount_vat_included_amount = Tag::Simple.new(name: "OtherCurrencyAmountVatIncludedAmoun")
122
+ @credit_limit_amount = Tag::Simple.new(name: "CreditLimitAmount")
123
+ @credit_interest_percent = Tag::Simple.new(name: "CreditInterestPercent")
124
+ @operation_limit_amount = Tag::Simple.new(name: "OperationLimitAmount")
125
+ @monthly_amount = Tag::Simple.new(name: "MonthlyAmount")
126
+ @short_proposed_account_identifier = Tag::Simple.new(name: "ShortProposedAccountIdentifier")
127
+ @normal_proposed_account_identifier = Tag::Simple.new(name: "NormalProposedAccountIdentifier")
128
+ @proposed_account_text = Tag::Simple.new(name: "ProposedAccountText")
129
+ @account_dimension_text = Tag::Simple.new(name: "AccountDimensionText")
130
+ @vat_point = VatPoint.new
131
+ @vat_specification_details = VatSpecificationDetails.new
132
+ @invoice_free_text = Tag::Simple.new(name: "InvoiceFreeText")
133
+ @invoice_vat_free_text = Tag::Simple.new(name: "InvoiceVatFreeText")
134
+ @payment_terms_details = PaymentTermsDetails.new
135
+ @discount_details = DiscountDetails.new
136
+ @charge_details = InvoiceChargeDetails.new
137
+ @tender_reference = Tag::Simple.new(name: "TenderReference")
138
+ end
139
+
140
+ def sub_tags
141
+ [
142
+ @invoice_type_code,
143
+ @invoice_type_code_un,
144
+ @invoice_type_text,
145
+ @invoice_classification,
146
+ @origin_code,
147
+ @origin_text,
148
+ @invoiced_object_id,
149
+ @invoice_number,
150
+ @invoice_date,
151
+ @original_invoice_number,
152
+ @original_invoice_date,
153
+ @original_invoice_reference,
154
+ @invoicing_period_start_date,
155
+ @invoicing_period_end_date,
156
+ @seller_reference_identifier,
157
+ @seller_reference_identifier_url_text,
158
+ @buyers_seller_identifier,
159
+ @sellers_buyer_identifier,
160
+ @order_identifier,
161
+ @order_identifier_url_text,
162
+ @order_date,
163
+ @order_name,
164
+ @sales_person_name,
165
+ @order_confirmation_identifier,
166
+ @order_confirmation_date,
167
+ @agreement_identifier,
168
+ @agreement_identifier_url_text,
169
+ @agreement_type_text,
170
+ @agreement_type_code,
171
+ @agreement_date,
172
+ @notification_identifer,
173
+ @notification_date,
174
+ @registration_number_identifier,
175
+ @controller_identifier,
176
+ @controller_name,
177
+ @control_date,
178
+ @buyer_reference_identifier,
179
+ @project_reference_identifier,
180
+ @definition_details,
181
+ @rows_total_vat_excluded_amount,
182
+ @discounts_total_vat_excluded_amount,
183
+ @charges_total_vat_excluded_amount,
184
+ @invoice_total_vat_excluded_amount,
185
+ @invoice_total_vat_amount,
186
+ @invoice_total_vat_accounting_amount,
187
+ @invoice_total_vat_included_amount,
188
+ @invoice_total_roundoff_amount,
189
+ @exchange_rate,
190
+ @other_currency_amount_vat_excluded_amount,
191
+ @other_currency_amount_vat_included_amount,
192
+ @credit_limit_amount,
193
+ @credit_interest_percent,
194
+ @operation_limit_amount,
195
+ @monthly_amount,
196
+ @short_proposed_account_identifier,
197
+ @normal_proposed_account_identifier,
198
+ @proposed_account_text,
199
+ @account_dimension_text,
200
+ @vat_point,
201
+ @vat_specification_details,
202
+ @invoice_free_text,
203
+ @invoice_vat_free_text,
204
+ @payment_terms_details,
205
+ @discount_details,
206
+ @charge_details,
207
+ @tender_reference
208
+ ]
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,19 @@
1
+ module Finvoice3
2
+ class InvoiceRecipientCommunicationDetails < Tag::Complex
3
+ attr_accessor :invoice_recipient_phone_number_identifier
4
+ attr_accessor :invoice_recipient_emailaddress_identifier
5
+
6
+ def initialize
7
+ super
8
+ @invoice_recipient_phone_number_identifier = Tag::Simple.new(name: "InvoiceRecipientPhoneNumberIdentifier")
9
+ @invoice_recipient_emailaddress_identifier = Tag::Simple.new(name: "InvoiceRecipientEmailaddressIdentifier")
10
+ end
11
+
12
+ def sub_tags
13
+ [
14
+ @invoice_recipient_phone_number_identifier,
15
+ @invoice_recipient_emailaddress_identifier
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ module Finvoice3
2
+ class InvoiceRecipientPartyDetails::InvoiceRecipientPostalAddressDetails < Tag::Complex
3
+ attr_accessor :invoice_recipient_street_name
4
+ attr_accessor :invoice_recipient_town_name
5
+ attr_accessor :invoice_recipient_post_cost_identifier
6
+ attr_accessor :invoice_recipient_country_subdivision
7
+ attr_accessor :country_code
8
+ attr_accessor :country_name
9
+ attr_accessor :invoice_recipient_post_office_box_identifier
10
+
11
+ def initialize
12
+ super
13
+ @invoice_recipient_street_name = Tag::Simple.new(name: "InvoiceRecipientStreetName")
14
+ @invoice_recipient_town_name = Tag::Simple.new(name: "InvoiceRecipientTownName")
15
+ @invoice_recipient_post_cost_identifier = Tag::Simple.new(name: "InvoiceRecipientPostCostIdentifier")
16
+ @invoice_recipient_country_subdivision = Tag::Simple.new(name: "InvoiceRecipientCountrySubdivision")
17
+ @country_code = CountryCode.new
18
+ @country_name = Tag::Simple.new(name: "CountryName")
19
+ @invoice_recipient_post_office_box_identifier = Tag::Simple.new(name: "InvoiceRecipientPostOfficeBoxIdentifier")
20
+ end
21
+
22
+ def sub_tags
23
+ [
24
+ @invoice_recipient_street_name,
25
+ @invoice_recipient_town_name,
26
+ @invoice_recipient_post_cost_identifier,
27
+ @invoice_recipient_country_subdivision,
28
+ @country_code,
29
+ @country_name,
30
+ @invoice_recipient_post_office_box_identifier
31
+ ]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,31 @@
1
+ module Finvoice3
2
+ class InvoiceRecipientPartyDetails < Tag::Complex
3
+ attr_accessor :invoice_recipient_party_identifier
4
+ attr_accessor :invoice_recipient_organisation_name
5
+ attr_accessor :invoice_recipient_department
6
+ attr_accessor :invoice_recipient_organisation_tax_code
7
+ attr_accessor :invoice_recipient_code
8
+ attr_accessor :invoice_recipient_postal_address_details
9
+
10
+ def initialize
11
+ super
12
+ @invoice_recipient_party_identifier = PartyLegalRegId.new
13
+ @invoice_recipient_organisation_name = Tag::Simple.new(name: "InvoiceRecipientOrganisationName")
14
+ @invoice_recipient_department = Tag::Simple.new(name: "InvoiceRecipientDepartment")
15
+ @invoice_recipient_organisation_tax_code = Tag::Simple.new(name: "InvoiceRecipientOrganisationTaxCode")
16
+ @invoice_recipient_code = PartyIdentifier.new
17
+ @invoice_recipient_postal_address_details = InvoiceRecipientPostalAddressDetails.new
18
+ end
19
+
20
+ def sub_tags
21
+ [
22
+ @invoice_recipient_party_identifier,
23
+ @invoice_recipient_organisation_name,
24
+ @invoice_recipient_department,
25
+ @invoice_recipient_organisation_tax_code,
26
+ @invoice_recipient_code,
27
+ @invoice_recipient_postal_address_details
28
+ ]
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ module Finvoice3
2
+ class InvoiceRow::ArticleGroupIdentifier < Tag::Simple
3
+ attr_accessor :scheme_id
4
+ attr_accessor :scheme_version
5
+
6
+ def attributes
7
+ {
8
+ "SchemeID": @scheme_id,
9
+ "SchemeVersion": @scheme_version
10
+ }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,28 @@
1
+ module Finvoice3
2
+ class InvoiceRow::CustomsInfo < Tag::Complex
3
+ attr_accessor :cn_code
4
+ attr_accessor :cn_name
5
+ attr_accessor :cn_origin_country_subdivision
6
+ attr_accessor :cn_origin_country_code
7
+ attr_accessor :cn_origin_country_name
8
+
9
+ def initialize(name: "CustomsInfo")
10
+ super(name: name)
11
+ @cn_code = Tag::Simple.new(name: "CNCode")
12
+ @cn_name = Tag::Simple.new(name: "CNName")
13
+ @cn_origin_country_subdivision = Tag::Simple.new(name: "CNOriginCountrySubdivision")
14
+ @cn_origin_country_code = CountryCode.new(name: "CNOriginCountryCode")
15
+ @cn_origin_country_name = Tag::Simple.new(name: "CNOriginCountryName")
16
+ end
17
+
18
+ def sub_tags
19
+ [
20
+ @cn_code,
21
+ @cn_name,
22
+ @cn_origin_country_subdivision,
23
+ @cn_origin_country_code,
24
+ @cn_origin_country_name
25
+ ]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,9 @@
1
+ module Finvoice3
2
+ class InvoiceRow::EanCode < Tag::Simple
3
+ attr_accessor :scheme_id
4
+
5
+ def attributes
6
+ {"SchemeID": @scheme_id}
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,34 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowAnyPartyDetails::RowAnyPartyPostalAddressDetails < Tag::Complex
3
+ attr_accessor :row_any_party_street_name
4
+ attr_accessor :row_any_party_town_name
5
+ attr_accessor :row_any_party_post_code_identifier
6
+ attr_accessor :row_any_party_country_subdivision
7
+ attr_accessor :country_code
8
+ attr_accessor :country_name
9
+ attr_accessor :row_any_party_post_office_box_identifier
10
+
11
+ def initialize
12
+ super
13
+ @row_any_party_street_name = Tag::Simple.new(name: "RowAnyPartyStreetName")
14
+ @row_any_party_town_name = Tag::Simple.new(name: "RowAnyPartyTownName")
15
+ @row_any_party_post_code_identifier = Tag::Simple.new(name: "RowAnyPartyPostCodeIdentifier")
16
+ @row_any_party_country_subdivision = Tag::Simple.new(name: "RowAnyPartyCountrySubdivision")
17
+ @country_code = CountryCode.new
18
+ @country_name = Tag::Simple.new(name: "CountryName")
19
+ @row_any_party_post_office_box_identifier = Tag::Simple.new(name: "RowAnyPartyPostOfficeBoxIdentifier")
20
+ end
21
+
22
+ def sub_tags
23
+ [
24
+ @row_any_party_street_name,
25
+ @row_any_party_town_name,
26
+ @row_any_party_post_code_identifier,
27
+ @row_any_party_country_subdivision,
28
+ @country_code,
29
+ @country_name,
30
+ @row_any_party_post_office_box_identifier
31
+ ]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowAnyPartyDetails < Tag::Complex
3
+ attr_accessor :row_any_party_text
4
+ attr_accessor :row_any_party_identifier
5
+ attr_accessor :row_any_party_organisation_name
6
+ attr_accessor :row_any_party_organisation_department
7
+ attr_accessor :row_any_party_organisation_tax_code
8
+ attr_accessor :row_any_party_code
9
+ attr_accessor :row_any_party_postal_address_details
10
+ attr_accessor :row_any_party_organisation_unit_number
11
+ attr_accessor :row_any_party_site_code
12
+
13
+ def initialize
14
+ super
15
+ @row_any_party_text = Tag::Simple.new(name: "RowAnyPartyText")
16
+ @row_any_party_identifier = PartyLegalRegId.new(name: "RowAnyPartyIdentifier")
17
+ @row_any_party_organisation_name = Tag::Simple.new(name: "RowAnyPartyOrganisationName")
18
+ @row_any_party_organisation_department = Tag::Simple.new(name: "RowAnyPartyOrganisationDepartment")
19
+ @row_any_party_organisation_tax_code = Tag::Simple.new(name: "RowAnyPartyOrganisationTaxCode")
20
+ @row_any_party_code = PartyIdentifier.new(name: "RowAnyPartyCode")
21
+ @row_any_party_postal_address_details = RowAnyPartyPostalAddressDetails.new
22
+ @row_any_party_organisation_unit_number = Tag::Simple.new(name: "RowAnyPartyOrganisationUnitNumber")
23
+ @row_any_party_site_code = Tag::Simple.new(name: "RowAnyPartySiteCode")
24
+ end
25
+
26
+ def sub_tags
27
+ [
28
+ @row_any_party_text,
29
+ @row_any_party_identifier,
30
+ @row_any_party_organisation_name,
31
+ @row_any_party_organisation_department,
32
+ @row_any_party_organisation_tax_code,
33
+ @row_any_party_code,
34
+ @row_any_party_postal_address_details,
35
+ @row_any_party_organisation_unit_number,
36
+ @row_any_party_site_code
37
+ ]
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,28 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowChargeDetails < Tag::Complex
3
+ attr_accessor :reason_text
4
+ attr_accessor :reason_code
5
+ attr_accessor :percent
6
+ attr_accessor :amount
7
+ attr_accessor :base_amount
8
+
9
+ def initialize(name: "RowChargeDetails")
10
+ super(name: name)
11
+ @reason_text = Tag::Simple.new(name: "ReasonText")
12
+ @reason_code = Tag::Simple.new(name: "ReasonCode")
13
+ @percent = Tag::Simple.new(name: "Percent")
14
+ @amount = Tag::Simple.new(name: "Amount")
15
+ @base_amount = Tag::Simple.new(name: "BaseAmount")
16
+ end
17
+
18
+ def sub_tags
19
+ [
20
+ @reason_text,
21
+ @reason_code,
22
+ @percent,
23
+ @amount,
24
+ @base_amount
25
+ ]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,9 @@
1
+ module Finvoice3
2
+ class InvoiceRow::RowDefinitionDetails::RowDefinitionHeaderText < Tag::Simple
3
+ attr_accessor :definition_code
4
+
5
+ def attributes
6
+ {"DefinitionCode": @definition_code}
7
+ end
8
+ end
9
+ end