Class: Ubl::CreditNote

Inherits:
UblBuilder show all
Defined in:
lib/ubl.rb

Instance Attribute Summary

Attributes inherited from UblBuilder

#currency, #customer, #due_date, #invoice_lines, #invoice_nr, #issue_date, #legal_monetary_total, #pdffile, #supplier, #tax_total

Instance Method Summary collapse

Methods inherited from UblBuilder

#add_customer, #add_line, #add_payment_means, #add_supplier, #namespaces

Constructor Details

#initialize(extension = nil) ⇒ CreditNote

Creates a new CreditNote instance.

Parameters

  • extension - (String) Optional. Set to “UBL_BE” to generate UBL.BE compliant credit notes for Belgian requirements. Defaults to nil for standard PEPPOL format.



42
43
44
# File 'lib/ubl.rb', line 42

def initialize(extension = nil)
  super
end

Instance Method Details

#buildObject



46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ubl.rb', line 46

def build
  builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml|
    xml.CreditNote(namespaces.merge("xmlns" => "urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2")) do
      build_header(xml) do |xml|
        xml["cbc"].CreditNoteTypeCode "381"
      end
      build_document_reference(xml, "CreditNote")
      build_content(xml)
    end
  end
  builder.to_xml
end