Class: Veryfi::Api::TaxLine

Inherits:
Object
  • Object
show all
Defined in:
lib/veryfi/api/tax_line.rb

Overview

Tax lines on a processed document (/partner/documents/{id}/tax-lines).

Most documents have at most a handful of tax lines (e.g. one for state sales tax, one for local). This namespace lets you list, add, edit and remove them on demand.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ TaxLine

Returns a new instance of TaxLine.



14
15
16
# File 'lib/veryfi/api/tax_line.rb', line 14

def initialize(request)
  @request = request
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



12
13
14
# File 'lib/veryfi/api/tax_line.rb', line 12

def request
  @request
end

Instance Method Details

#all(document_id, params = {}) ⇒ Veryfi::Resource

List the tax lines for a document.

Parameters:

  • document_id (Integer)
  • params (Hash) (defaults to: {})

    optional query-string parameters

Returns:



23
24
25
# File 'lib/veryfi/api/tax_line.rb', line 23

def all(document_id, params = {})
  request.get("/partner/documents/#{document_id}/tax-lines", params)
end

#create(document_id, params) ⇒ Veryfi::Resource

Create a tax line on a document.

Parameters:

  • document_id (Integer)
  • params (Hash)

Options Hash (params):

  • :name (String)

    required. e.g. "Sales Tax".

  • :rate (Numeric)

    Tax rate (%).

  • :base (Numeric)

    Taxable base amount.

  • :total (Numeric)

    Tax amount.

  • :order (Integer)

    Display order (0-indexed).

Returns:



37
38
39
# File 'lib/veryfi/api/tax_line.rb', line 37

def create(document_id, params)
  request.post("/partner/documents/#{document_id}/tax-lines", params)
end

#delete(document_id, id) ⇒ Veryfi::Resource

Delete a tax line.

Parameters:

  • document_id (Integer)
  • id (Integer)

Returns:



66
67
68
# File 'lib/veryfi/api/tax_line.rb', line 66

def delete(document_id, id)
  request.delete("/partner/documents/#{document_id}/tax-lines/#{id}")
end

#get(document_id, id, params = {}) ⇒ Veryfi::Resource

Fetch a single tax line.

Parameters:

  • document_id (Integer)
  • id (Integer)
  • params (Hash) (defaults to: {})

    optional query-string parameters

Returns:



47
48
49
# File 'lib/veryfi/api/tax_line.rb', line 47

def get(document_id, id, params = {})
  request.get("/partner/documents/#{document_id}/tax-lines/#{id}", params)
end

#update(document_id, id, params) ⇒ Veryfi::Resource

Update a tax line.

Parameters:

  • document_id (Integer)
  • id (Integer)
  • params (Hash)

    writable fields you want to change

Returns:



57
58
59
# File 'lib/veryfi/api/tax_line.rb', line 57

def update(document_id, id, params)
  request.put("/partner/documents/#{document_id}/tax-lines/#{id}", params)
end