Class: Facturae::FileHeader

Inherits:
Object
  • Object
show all
Includes:
Validatable
Defined in:
lib/facturae/models/file_header.rb

Overview

Metadata of the invoice

Constant Summary collapse

SCHEMA_VERSION =
"3.2.2"
ISSUER =
"EM"
RECIPIENT =
"RE"
INVOICE_ISSUER_TYPES =
[ISSUER, RECIPIENT].freeze
INDIVIDUAL =
"I"
BATCH =
"L"
MODALITY_TYPES =
[INDIVIDUAL, BATCH].freeze
BATCH_KEYS =
%i[invoices_count series_invoice_number total_invoice_amount total_tax_outputs total_tax_inputs
invoice_currency_code].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Validatable

#errors, #valid?

Constructor Details

#initialize(modality:, invoice_issuer_type:, batch: nil) ⇒ FileHeader

Returns a new instance of FileHeader.



32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/facturae/models/file_header.rb', line 32

def initialize(modality:, invoice_issuer_type:, batch: nil)
  @schema_version = SCHEMA_VERSION
  @modality = modality
  @invoice_issuer_type = invoice_issuer_type
  @batch = batch || {
    invoices_count: 1,
    series_invoice_number: nil,
    total_invoice_amount: 0.0,
    total_tax_outputs: 0.0,
    total_tax_inputs: 0.0,
    invoice_currency_code: "EUR"
  }
end

Instance Attribute Details

#batchObject

Returns the value of attribute batch.



26
27
28
# File 'lib/facturae/models/file_header.rb', line 26

def batch
  @batch
end

#invoice_issuer_typeObject

Returns the value of attribute invoice_issuer_type.



26
27
28
# File 'lib/facturae/models/file_header.rb', line 26

def invoice_issuer_type
  @invoice_issuer_type
end

#modalityObject

Returns the value of attribute modality.



26
27
28
# File 'lib/facturae/models/file_header.rb', line 26

def modality
  @modality
end

#schema_versionString (readonly)

Returns the current value of schema_version.

Returns:

  • (String)

    the current value of schema_version



10
11
12
# File 'lib/facturae/models/file_header.rb', line 10

def schema_version
  @schema_version
end