module Teamlab::CrmInvoices

Methods for working with crm invoices

Public Instance Methods

create_invoice(number, issue_date, client_id, due_date, language, currency, exchange_rate, terms, invoice_line, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 38
def create_invoice(number, issue_date, client_id, due_date, language, currency, exchange_rate, terms, invoice_line, options = {})
  @request.post(%w[invoice], { number: number, issueDate: issue_date, contactId: client_id, dueDate: due_date,
                               language: language, currency: currency, exchangeRate: exchange_rate, terms: terms,
                               invoiceLines: invoice_line }.merge(options))
end
create_invoice_item(title, description, price, stock_keeping_unit, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 48
def create_invoice_item(title, description, price, stock_keeping_unit, options = {})
  @request.post(%w[invoiceitem], { title: title, description: description, price: price, sku: stock_keeping_unit.to_s }.merge(options))
end
create_invoice_line(invoice_id, invoice_item_id, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 44
def create_invoice_line(invoice_id, invoice_item_id, options = {})
  @request.post(%w[invoiceline], { invoiceId: invoice_id, invoiceItemId: invoice_item_id }.merge(options))
end
create_invoice_tax(name, description, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 52
def create_invoice_tax(name, description, options = {})
  @request.post(%w[invoice tax], { name: name, description: description }.merge(options))
end
delete_batch_invoices(*invoice_ids) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 89
def delete_batch_invoices(*invoice_ids)
  @request.delete(%w[invoice], invoiceids: invoice_ids.flatten)
end
Also aliased as: delete_invoices_bulk
delete_batch_items(*ids) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 94
def delete_batch_items(*ids)
  @request.delete(%w[invoiceitem], ids: ids.flatten)
end
Also aliased as: delete_invoice_items_bulk
delete_invoice(id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 107
def delete_invoice(id)
  @request.delete(['invoice', id.to_s])
end
delete_invoice_item(id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 99
def delete_invoice_item(id)
  @request.delete(['invoiceitem', id.to_s])
end
delete_invoice_items_bulk(*ids)
Alias for: delete_batch_items
delete_invoice_line(id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 111
def delete_invoice_line(id)
  @request.delete(['invoiceline', id.to_s])
end
delete_invoice_tax(id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 103
def delete_invoice_tax(id)
  @request.delete(['invoice', 'tax', id.to_s])
end
delete_invoices_bulk(*invoice_ids)
get_entity_invoices(entity_type, entity_id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 34
def get_entity_invoices(entity_type, entity_id)
  @request.get([entity_type.to_s, 'invoicelist', entity_id.to_s])
end
get_invoice_by_id(id) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 30
def get_invoice_by_id(id)
  @request.get(['invoice', id.to_s])
end
get_invoice_item_by_id(invoice_item_id) click to toggle source

@param invoice_item_id [Integer] id of invoice @return [Void]

# File lib/teamlab/modules/crm/crm_invoices.rb, line 117
def get_invoice_item_by_id(invoice_item_id)
  @request.get(['invoiceitem', invoice_item_id])
end
get_invoice_items_by_filter(options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 26
def get_invoice_items_by_filter(options = {})
  @request.get(%w[invoiceitem filter], options)
end
get_invoice_sample() click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 10
def get_invoice_sample
  @request.get(%w[invoice sample])
end
get_invoice_taxes() click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 6
def get_invoice_taxes
  @request.get(%w[invoice tax])
end
get_invoices_by_filter(options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 14
def get_invoices_by_filter(options = {})
  @request.get(%w[invoice filter], options)
end
get_invoices_settings() click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 18
def get_invoices_settings
  @request.get(%w[invoice settings])
end
Also aliased as: get_settings
get_settings()
save_number_settings(options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 68
def save_number_settings(options = {})
  @request.put(%w[invoice settings name], options)
end
save_terms_settings(options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 72
def save_terms_settings(options = {})
  @request.put(%w[invoice settings terms], options)
end
update_invoice(id, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 64
def update_invoice(id, options = {})
  @request.put(['invoice', id.to_s], options)
end
update_invoice_group_status(status, invoice_ids) click to toggle source

Updates the status of invoices with the IDs specified in the request @param status [String] status to set @param invoice_ids [Array<Integer>] list of status to set @return [Teamlab::Response] result of update

# File lib/teamlab/modules/crm/crm_invoices.rb, line 80
def update_invoice_group_status(status, invoice_ids)
  @request.put(['invoice', 'status', status.to_s], invoiceids: invoice_ids)
end
update_invoice_item(id, title, description, price, stock_keeping_unit, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 56
def update_invoice_item(id, title, description, price, stock_keeping_unit, options = {})
  @request.put(['invoiceitem', id.to_s], { title: title, description: description, price: price, sku: stock_keeping_unit.to_s }.merge(options))
end
update_invoice_line(invoice_line_id, invoice_id, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 84
def update_invoice_line(invoice_line_id, invoice_id, options = {})
  options[:invoiceId] = invoice_id
  @request.put(['invoiceline', invoice_line_id], options)
end
update_invoice_tax(id, name, options = {}) click to toggle source
# File lib/teamlab/modules/crm/crm_invoices.rb, line 60
def update_invoice_tax(id, name, options = {})
  @request.put(['invoice', 'tax', id.to_s], { name: name }.merge(options))
end