class Economic::Invoice

Public Class Methods

build_from_soap_api(data) click to toggle source
# File lib/economic/invoice.rb, line 31
def self.build_from_soap_api(data)
  # TODO: Add all the options
  hash = {
    "currency" => data[:currency_handle][:code],
    "date" => data[:date].to_date,
    "dueDate" => data[:due_date].to_date,
    "exchangeRate" => data[:exchange_rate],
    "grossAmount" => data[:gross_amount],
    # where is grossAmountInBaseCurrency?
    "lines" => repo.find_lines(data[:handle][:id]),
    "marginInBaseCurrency" => data[:margin],
    "marginPercentage" => data[:margin_as_percent],
    "netAmount" => data[:net_amount],
    "roundingAmount" => data[:rounding_amount],
    "vatAmount" => data[:vat_amount],
    "draftInvoiceNumber" => data[:handle][:id], # TODO: What about id?
    "customer" => {"customerNumber" => data[:debtor_handle][:id].to_i},
    "layout" => {"layoutNumber" => data[:layout_handle][:id].to_i},
    "paymentTerms" => {"paymentTermsNumber" => data[:term_of_payment_handle][:id].to_i},
    "references" => {"other" => data[:other_reference]},
  }

  new(hash)
end
repo() click to toggle source
# File lib/economic/invoice.rb, line 56
def self.repo
  Economic::Invoices::DraftsRepo
end