Class: Ubl::Invoice

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) ⇒ Invoice

Creates a new Invoice instance.

Parameters

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



16
17
18
# File 'lib/ubl.rb', line 16

def initialize(extension = nil)
  super
end

Instance Method Details

#buildObject



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ubl.rb', line 20

def build
  builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml|
    xml.Invoice(namespaces) do
      build_header(xml) do |xml|
        xml["cbc"].InvoiceTypeCode "380"
      end
      build_document_reference(xml, "CommercialInvoice")
      build_content(xml)
    end
  end
  builder.to_xml
end