Parent

Simplify::Invoice

A Invoice object.

Attributes

authentication[RW]

Authentication object used to access the API (See Simplify::Authentication for details)

Public Class Methods

create(parms, *auth) click to toggle source

Creates an Invoice object

parms

a hash of parameters; valid keys are:

  • billingAddress => city Billing address city of the location where the goods or services were supplied. [max length: 255, min length: 2]

  • billingAddress => country Billing address country of the location where the goods or services were supplied. [max length: 2, min length: 2]

  • billingAddress => line1 Billing address line 1 of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => line2 Billing address line 2 of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => name Billing address name of the location where the goods or services were supplied. Will use the customer name if not provided. [max length: 255]

  • billingAddress => state Billing address state of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => zip Billing address zip of the location where the goods or services were supplied. [max length: 32]

  • businessAddress => city Address city of the business that is sending the invoice. [max length: 255, min length: 2]

  • businessAddress => country Address country of the business that is sending the invoice. [max length: 2, min length: 2]

  • businessAddress => line1 Address line 1 of the business that is sending the invoice. [max length: 255]

  • businessAddress => line2 Address line 2 of the business that is sending the invoice. [max length: 255]

  • businessAddress => name The name of the business that is sending the invoice. [max length: 255]

  • businessAddress => state Address state of the business that is sending the invoice. [max length: 255]

  • businessAddress => zip Address zip of the business that is sending the invoice. [max length: 32]

  • currency Currency code (ISO-4217). Must match the currency associated with your account. [max length: 3, min length: 3]

  • customer The customer ID of the customer we are invoicing. This is optional if invoiceToCopy or a name and email are provided

  • customerTaxNo The tax number or VAT id of the person to whom the goods or services were supplied. [max length: 255]

  • discountRate The discount percent as a decimal e.g. 12.5. This is used to calculate the discount amount which is subtracted from the total amount due before any tax is applied. [max length: 6]

  • dueDate The date invoice payment is due. If a late fee is provided this will be added to the invoice total is the due date has past.

  • email The email of the customer we are invoicing. This is optional if customer or invoiceToCopy is provided. A new customer will be created using the the name and email.

  • invoiceId User defined invoice id. If not provided the system will generate a numeric id. [max length: 255]

  • invoiceLanguage The language in which invoice will be displayed. [max length: 5, min length: 5]

  • invoiceToCopy The id of an existing invoice to be copied. This is optional if customer or a name and email are provided

  • items => amount Amount of the invoice item (the smallest unit of your currency). Example: 100 = $1.00 required

  • items => description The description of the invoice item. [max length: 1024]

  • items => invoice The ID of the invoice this item belongs to.

  • items => product The product this invoice item refers to.

  • items => quantity Quantity of the item. This total amount of the invoice item is the amount * quantity. [min value: 1, max value: 999999, default: 1]

  • items => reference User defined reference field. [max length: 255]

  • items => tax The tax ID of the tax charge in the invoice item.

  • lateFee The late fee amount that will be added to the invoice total is the due date is past due. Value provided must be in the smallest unit of your currency. Example: 100 = $1.00

  • memo A memo that is displayed to the customer on the invoice payment screen. [max length: 4000]

  • name The name of the customer we are invoicing. This is optional if customer or invoiceToCopy is provided. A new customer will be created using the the name and email. [max length: 50, min length: 2]

  • note This field can be used to store a note that is not displayed to the customer. [max length: 4000]

  • reference User defined reference field. [max length: 40]

  • shippingAddress => city Address city of the location where the goods or services were supplied. [max length: 255, min length: 2]

  • shippingAddress => country Address country of the location where the goods or services were supplied. [max length: 2, min length: 2]

  • shippingAddress => line1 Address line 1 of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => line2 Address line 2 of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => name Address name of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => state Address state of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => zip Address zip of the location where the goods or services were supplied. [max length: 32]

  • suppliedDate The date on which the goods or services were supplied.

  • taxNo The tax number or VAT id of the person who supplied the goods or services. [max length: 255]

  • type The type of invoice. One of WEB or MOBILE. [valid values: WEB, MOBILE, default: WEB]

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns a Invoice object.

# File lib/simplify/invoice.rb, line 110
def self.create(parms, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("invoice", 'create', parms, auth_obj)
    obj = Invoice.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end
find(id, *auth) click to toggle source

Retrieve a Invoice object from the API

id

ID of object to retrieve

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns a Invoice object.

# File lib/simplify/invoice.rb, line 152
def self.find(id, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("invoice", 'show', {"id" => id}, auth_obj)
    obj = Invoice.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end
list(criteria = nil, *auth) click to toggle source

Retrieve Invoice objects.

criteria

a hash of parameters; valid keys are:

  • filter <table class="filter_list"><tr><td>filter.id</td><td>Filter by the invoice Id</td></tr><tr><td>filter.amount</td><td>Filter by the invoice amount (in the smallest unit of your currency)</td></tr><tr><td>filter.text</td><td>Filter by the name of the invoice</td></tr><tr><td>filter.dateCreatedMin<sup>*</sup></td><td>Filter by the minimum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.dateCreatedMax<sup>*</sup></td><td>Filter by the maximum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.datePaidMin<sup>*</sup></td><td>Filter by the minimum invoice paid date you are searching for - Date in UTC millis</td></tr><tr><td>filter.datePaidMax<sup>*</sup></td><td>Filter by the maximum invoice paid date you are searching for - Date in UTC millis</td></tr><tr><td>filter.status</td><td>Filter by the status of the invoice</td></tr><tr><td>filter.statuses</td><td>Filter by multiple statuses of different invoices</td></tr><tr><td>filter.customer</td><td>Filter using the Id of the customer linked to the invoice</td></tr><tr><td>filter.type</td><td>Filter by the invoice type</td></tr><tr><td>filter.types</td><td>Filter by multiple invoice types</td></tr><tr><td>filter.invoiceId</td><td>Filter by the user defined invoice id</td></tr><tr><td>filter.reference</td><td>Filter by the invoice reference text</td></tr></table><br><sup>*</sup>The filters datePaidMin and datePaidMax can be used in the same filter if you want to search between the two dates. The same is for dateCreatedMin/dateCreatedMax.

  • max Allows up to a max of 50 list items to return. [min value: 0, max value: 50, default: 20]

  • offset Used in paging of the list. This is the start offset of the page. [min value: 0, default: 0]

  • sorting Allows for ascending or descending sorting of the list. The value maps properties to the sort direction (either asc for ascending or desc for descending). Sortable properties are: id invoiceDate dueDate datePaid customer status dateCreated.

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns an object where the list property contains the list of Invoice objects and the total property contains the total number of Invoice objects available for the given criteria.

# File lib/simplify/invoice.rb, line 136
def self.list(criteria = nil, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("invoice", 'list', criteria, auth_obj)
    obj = Invoice.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj

end

Public Instance Methods

delete() click to toggle source

Delete this object

# File lib/simplify/invoice.rb, line 121
def delete()
    h = Simplify::PaymentsApi.execute("invoice", 'delete', self, self.authentication)
    self.merge!(h)
    self
end
private_key() click to toggle source

Returns the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/invoice.rb, line 50
def private_key
    return self.authentication.private_key
end
private_key=(k) click to toggle source

Sets the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/invoice.rb, line 55
def private_key=(k)
    return self.authentication.private_key = k
end
public_key() click to toggle source

Returns the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/invoice.rb, line 40
def public_key
    return self.authentication.public_key
end
public_key=(k) click to toggle source

Sets the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/invoice.rb, line 45
def public_key=(k)
    return self.authentication.public_key = k
end
update() click to toggle source

Updates this object

The properties that can be updated:

  • billingAddress => city Billing address city of the location where the goods or services were supplied. [max length: 255, min length: 2]

  • billingAddress => country Billing address country of the location where the goods or services were supplied. [max length: 2, min length: 2]

  • billingAddress => line1 Billing address line 1 of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => line2 Billing address line 2 of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => name Billing address name of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => state Billing address state of the location where the goods or services were supplied. [max length: 255]

  • billingAddress => zip Billing address zip of the location where the goods or services were supplied. [max length: 32]

  • businessAddress => city Business address city of the business that is sending the invoice. [max length: 255, min length: 2]

  • businessAddress => country Business address country of the business that is sending the invoice. [max length: 2, min length: 2]

  • businessAddress => line1 Business address line 1 of the business that is sending the invoice. [max length: 255]

  • businessAddress => line2 Business address line 2 of the business that is sending the invoice. [max length: 255]

  • businessAddress => name Business address name of the business that is sending the invoice. [max length: 255]

  • businessAddress => state Business address state of the business that is sending the invoice. [max length: 255]

  • businessAddress => zip Business address zip of the business that is sending the invoice. [max length: 32]

  • currency Currency code (ISO-4217). Must match the currency associated with your account. [max length: 3, min length: 3]

  • customerTaxNo The tax number or VAT id of the person to whom the goods or services were supplied. [max length: 255]

  • datePaid This is the date the invoice was PAID in UTC millis.

  • discountRate The discount percent as a decimal e.g. 12.5. This is used to calculate the discount amount which is subtracted from the total amount due before any tax is applied. [max length: 6]

  • dueDate The date invoice payment is due. If a late fee is provided this will be added to the invoice total is the due date has past.

  • email The email of the customer we are invoicing. This is optional if customer or invoiceToCopy is provided. A new customer will be created using the the name and email.

  • invoiceId User defined invoice id. If not provided the system will generate a numeric id. [max length: 255]

  • invoiceLanguage The language in which invoice will be displayed. [max length: 5, min length: 5]

  • items => amount Amount of the invoice item in the smallest unit of your currency. Example: 100 = $1.00 (required)

  • items => description The description of the invoice item. [max length: 1024]

  • items => invoice The ID of the invoice this item belongs to.

  • items => product The Id of the product this item refers to.

  • items => quantity Quantity of the item. This total amount of the invoice item is the amount * quantity. [min value: 1, max value: 999999, default: 1]

  • items => reference User defined reference field. [max length: 255]

  • items => tax The tax ID of the tax charge in the invoice item.

  • lateFee The late fee amount that will be added to the invoice total is the due date is past due. Value provided must be in the smallest unit of your currency. Example: 100 = $1.00

  • memo A memo that is displayed to the customer on the invoice payment screen. [max length: 4000]

  • name The name of the customer we are invoicing. This is optional if customer or invoiceToCopy is provided. A new customer will be created using the the name and email. [max length: 50, min length: 2]

  • note This field can be used to store a note that is not displayed to the customer. [max length: 4000]

  • payment The ID of the payment. Use this ID to query the /payment API. [max length: 255]

  • reference User defined reference field. [max length: 255]

  • sendMail Boolean flag. If true the invoice will be sent to the customer if the invoice is in an OPEN state. [default: false] (required)

  • shippingAddress => city Address city of the location where the goods or services were supplied. [max length: 255, min length: 2]

  • shippingAddress => country Address country of the location where the goods or services were supplied. [max length: 2, min length: 2]

  • shippingAddress => line1 Address line 1 of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => line2 Address line 2 of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => name Address name of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => state Address state of the location where the goods or services were supplied. [max length: 255]

  • shippingAddress => zip Address zip of the location where the goods or services were supplied. [max length: 32]

  • status New status of the invoice.

  • suppliedDate The date on which the goods or services were supplied.

  • taxNo The tax number or VAT id of the person who supplied the goods or services. [max length: 255]

# File lib/simplify/invoice.rb, line 211
def update()
      h = Simplify::PaymentsApi.execute("invoice", 'update', self, self.authentication)
      self.merge!(h)
      self
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.