class Simplify::Invoice
A Invoice
object.
Attributes
Authentication
object used to access the API (See Simplify::Authentication
for details)
Public Class Methods
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, default: USD] -
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] -
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.00USD 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.00USD -
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: 255] -
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 keysSimplify::public_key
andSimplify::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 109 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
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 keysSimplify::public_key
andSimplify::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 151 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
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>
<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 (eitherasc
for ascending ordesc
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 keysSimplify::public_key
andSimplify::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 135 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 this object
# File lib/simplify/invoice.rb, line 120 def delete() h = Simplify::PaymentsApi.execute("invoice", 'delete', self, self.authentication) self.merge!(h) self end
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
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
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
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
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] -
items => amount
Amount of the invoice item in the smallest unit of your currency. Example: 100 = $1.00USD (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.00USD -
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] -
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 208 def update() h = Simplify::PaymentsApi.execute("invoice", 'update', self, self.authentication) self.merge!(h) self end