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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +0 -0
- data/README.md +46 -0
- data/Rakefile +8 -0
- data/lib/finvoice3/any_party_communication_details.rb +19 -0
- data/lib/finvoice3/any_party_details/any_party_communication_details.rb +19 -0
- data/lib/finvoice3/any_party_details/any_party_postal_address_details.rb +34 -0
- data/lib/finvoice3/any_party_details.rb +46 -0
- data/lib/finvoice3/attachment_message_details/attachment_message_identifier.rb +5 -0
- data/lib/finvoice3/attachment_message_details.rb +14 -0
- data/lib/finvoice3/buyer_communication_details.rb +19 -0
- data/lib/finvoice3/buyer_party_details/buyer_postal_address_details.rb +32 -0
- data/lib/finvoice3/buyer_party_details.rb +46 -0
- data/lib/finvoice3/country_code.rb +7 -0
- data/lib/finvoice3/delivery_communication_details.rb +19 -0
- data/lib/finvoice3/delivery_details/delivery_period_details.rb +19 -0
- data/lib/finvoice3/delivery_details/destination_name.rb +13 -0
- data/lib/finvoice3/delivery_details/package_details.rb +31 -0
- data/lib/finvoice3/delivery_details/shipment_party_details/shipment_postal_address_details.rb +34 -0
- data/lib/finvoice3/delivery_details/shipment_party_details.rb +34 -0
- data/lib/finvoice3/delivery_details.rb +112 -0
- data/lib/finvoice3/delivery_party_details/delivery_postal_address_details.rb +34 -0
- data/lib/finvoice3/delivery_party_details.rb +31 -0
- data/lib/finvoice3/direct_debit_info.rb +22 -0
- data/lib/finvoice3/electronic_addr_id.rb +14 -0
- data/lib/finvoice3/epi_account_id.rb +13 -0
- data/lib/finvoice3/epi_details/epi_identification_details/epi_reference.rb +7 -0
- data/lib/finvoice3/epi_details/epi_identification_details.rb +28 -0
- data/lib/finvoice3/epi_details/epi_party_details/epi_beneficiary_party_details.rb +22 -0
- data/lib/finvoice3/epi_details/epi_party_details/epi_bfi_party_details/epi_bfi_identifier.rb +14 -0
- data/lib/finvoice3/epi_details/epi_party_details/epi_bfi_party_details.rb +19 -0
- data/lib/finvoice3/epi_details/epi_party_details.rb +19 -0
- data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_amount.rb +7 -0
- data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_charge.rb +14 -0
- data/lib/finvoice3/epi_details/epi_payment_instruction_details/epi_remittance_info_identifier.rb +14 -0
- data/lib/finvoice3/epi_details/epi_payment_instruction_details.rb +40 -0
- data/lib/finvoice3/epi_details.rb +22 -0
- data/lib/finvoice3/factoring_agreement_details/factoring_party_postal_address_details.rb +34 -0
- data/lib/finvoice3/factoring_agreement_details.rb +37 -0
- data/lib/finvoice3/finvoice.rb +187 -0
- data/lib/finvoice3/invoice.rb +33 -0
- data/lib/finvoice3/invoice_details/definition_details/definition_header_text.rb +14 -0
- data/lib/finvoice3/invoice_details/definition_details.rb +19 -0
- data/lib/finvoice3/invoice_details/discount_details.rb +34 -0
- data/lib/finvoice3/invoice_details/invoice_charge_details.rb +32 -0
- data/lib/finvoice3/invoice_details/invoice_classification.rb +19 -0
- data/lib/finvoice3/invoice_details/invoice_type_code_fi.rb +13 -0
- data/lib/finvoice3/invoice_details/origin_code.rb +4 -0
- data/lib/finvoice3/invoice_details/payment_terms_details/cash_discount_vat_details.rb +19 -0
- data/lib/finvoice3/invoice_details/payment_terms_details/header_value.rb +16 -0
- data/lib/finvoice3/invoice_details/payment_terms_details/payment_over_due_fine_details.rb +22 -0
- data/lib/finvoice3/invoice_details/payment_terms_details.rb +46 -0
- data/lib/finvoice3/invoice_details/vat_point.rb +19 -0
- data/lib/finvoice3/invoice_details/vat_specification_details.rb +31 -0
- data/lib/finvoice3/invoice_details.rb +211 -0
- data/lib/finvoice3/invoice_recipient_communication_details.rb +19 -0
- data/lib/finvoice3/invoice_recipient_party_details/invoice_recipient_postal_address_details.rb +34 -0
- data/lib/finvoice3/invoice_recipient_party_details.rb +31 -0
- data/lib/finvoice3/invoice_row/article_group_identifier.rb +13 -0
- data/lib/finvoice3/invoice_row/customs_info.rb +28 -0
- data/lib/finvoice3/invoice_row/ean_code.rb +9 -0
- data/lib/finvoice3/invoice_row/row_any_party_details/row_any_party_postal_address_details.rb +34 -0
- data/lib/finvoice3/invoice_row/row_any_party_details.rb +40 -0
- data/lib/finvoice3/invoice_row/row_charge_details.rb +28 -0
- data/lib/finvoice3/invoice_row/row_definition_details/row_definition_header_text.rb +9 -0
- data/lib/finvoice3/invoice_row/row_definition_details.rb +14 -0
- data/lib/finvoice3/invoice_row/row_delivery_details/row_package_details.rb +34 -0
- data/lib/finvoice3/invoice_row/row_delivery_details.rb +97 -0
- data/lib/finvoice3/invoice_row/row_over_due_payment_details.rb +73 -0
- data/lib/finvoice3/invoice_row/row_progressive_discount_details.rb +28 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_any_party_details/sub_row_any_party_postal_address_details.rb +34 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_any_party_details.rb +40 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_definition_details/sub_row_definition_header_text.rb +9 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_definition_details.rb +19 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_delivery_details/sub_row_package_details.rb +34 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_delivery_details.rb +73 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_over_due_payment_details.rb +73 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row/sub_row_progressive_discount_details.rb +28 -0
- data/lib/finvoice3/invoice_row/sub_invoice_row.rb +250 -0
- data/lib/finvoice3/invoice_row/transaction_details.rb +22 -0
- data/lib/finvoice3/invoice_row.rb +255 -0
- data/lib/finvoice3/invoice_sender_party_details.rb +25 -0
- data/lib/finvoice3/invoiced_object_id.rb +13 -0
- data/lib/finvoice3/message_transmission_details/message_details.rb +29 -0
- data/lib/finvoice3/message_transmission_details/message_receiver_details.rb +19 -0
- data/lib/finvoice3/message_transmission_details/message_sender_details.rb +19 -0
- data/lib/finvoice3/message_transmission_details.rb +22 -0
- data/lib/finvoice3/original_invoice_reference.rb +19 -0
- data/lib/finvoice3/partial_payment_details.rb +43 -0
- data/lib/finvoice3/party_identifier.rb +17 -0
- data/lib/finvoice3/party_legal_reg_id.rb +13 -0
- data/lib/finvoice3/payment_card_info.rb +19 -0
- data/lib/finvoice3/payment_status_details/payment_status_code.rb +5 -0
- data/lib/finvoice3/payment_status_details.rb +19 -0
- data/lib/finvoice3/seller_communication_details.rb +19 -0
- data/lib/finvoice3/seller_information_details/invoice_recipient_details.rb +19 -0
- data/lib/finvoice3/seller_information_details/seller_account_details/seller_account_id.rb +15 -0
- data/lib/finvoice3/seller_information_details/seller_account_details/seller_bic.rb +14 -0
- data/lib/finvoice3/seller_information_details/seller_account_details.rb +22 -0
- data/lib/finvoice3/seller_information_details/seller_official_postal_address_details.rb +31 -0
- data/lib/finvoice3/seller_information_details.rb +61 -0
- data/lib/finvoice3/seller_party_details/seller_postal_address_details.rb +32 -0
- data/lib/finvoice3/seller_party_details.rb +46 -0
- data/lib/finvoice3/soap_envelope.rb +82 -0
- data/lib/finvoice3/specification_details/external_specification_details.rb +5 -0
- data/lib/finvoice3/specification_details.rb +19 -0
- data/lib/finvoice3/tag/complex.rb +22 -0
- data/lib/finvoice3/tag/simple.rb +13 -0
- data/lib/finvoice3/tag.rb +27 -0
- data/lib/finvoice3/templates/fi_b2b.rb +232 -0
- data/lib/finvoice3/vat_category_code.rb +4 -0
- data/lib/finvoice3/version.rb +5 -0
- data/lib/finvoice3.rb +135 -0
- 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,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
|
data/lib/finvoice3/invoice_recipient_party_details/invoice_recipient_postal_address_details.rb
ADDED
|
@@ -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,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,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
|