NAV
shell ruby php python java

Introduction

Hello! Invoiced is an API for billing customers and getting paid.

Our API was designed to handle all of the billing needs for your business or application while making the integration process as painless as possible. Through the API we can help you seamlessly manage invoicing, payments, subscription billing, metered billing, estimates, pricing, and much more.

We designed the Invoiced API around REST principles.

Here’s a few pages that might be helpful in addition to this API reference.

API Endpoint

All API calls must be made to https://api.invoiced.com.

We also have a sandbox environment for testing available at https://api.sandbox.invoiced.com.

JSON-only

All responses will be in JSON. Input data passed through the request body can be form-encoded or JSON-encoded. If using a JSON body, please specify the Content-Type header as application/json.

In the API dates are represented as UNIX timestamps. Each entity like customers or invoices has a unique integer ID.

Client Libraries

We have client libraries available in several languages. If you don’t see your language listed then please contact us and we would be happy to help.

Getting Help or Contributing

We’ve made this document open source. Please report any issues or suggestions in the API doc issues. Any pull requests to improve this document are welcome too! If you need help using the API or need to discuss anything sensitive please message us at support@invoiced.com.

Authentication

The API uses HTTP Basic Authentication to authenticate users. A valid API key is required for all requests.

Obtaining an API Key

An API key can be obtained by signing in to invoiced.com, and then going to Settings > Developers > API Keys. Each business on Invoiced has its own set of API keys. We recommend creating a separate API key for each application that will be making calls on your behalf.

Usage

curl https://api.invoiced.com/invoices \
  -u {YOUR_API_KEY}:
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_API_KEY}")
<?php

$invoiced = new Invoiced\Client("{YOUR_API_KEY}");
import invoiced

client = invoiced.Client("{YOUR_API_KEY}")
import com.invoiced.entity.Connection;

Connection invoiced = new Connection("{YOUR_API_KEY}",false);

The API key must be passed in through the username with the password left blank. The right sidebar has an example request with authorization

Sandbox API

curl https://api.sandbox.invoiced.com/invoices \
  -u {YOUR_SANDBOX_API_KEY}:
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_SANDBOX_API_KEY}", true)
<?php

$invoiced = new Invoiced\Client("{YOUR_SANDBOX_API_KEY}", true);
import invoiced

client = invoiced.Client("{YOUR_SANDBOX_API_KEY}", True)
import com.invoiced.entity.Connection;

Connection invoiced = new Connection("{YOUR_API_KEY}",true);

You can sign up for a sandbox account at sandbox.invoiced.com and request an API key there. The steps for requesting an API key are the same as production.

Errors

Each API call returns an HTTP status code that reflects the nature of the response. We have done our best to follow the HTTP status code conventions.

Any request that did not succeed will return a 4xx or 5xx error. The 4xx range means there was a problem with the request, like a missing parameter. The 5xx range means that something went wrong on our end.

The Invoiced API returns the following HTTP status codes:

200 OK – Request succeeded
201 Created – A resource was created
204 No Content – Request succeeded but there is no response body

400 Bad Request – Invalid request parameters
401 Unauthorized – Incorrect or missing API key
403 Forbidden – You do not have permission to view a resource or perform an action
404 Not Found – The specified resource could not be found
429 Too Many Requests – You’re moving too fast! Slow down!
500 Internal Server Error – There was a problem on our end

All error responses will contain an object with these attributes

Parameter Description
type Type of error, invalid_request or api
message Explanation of the error
param Available when a specific request parameter was responsible

Pagination

Link: <https://api.invoiced.com/customers?page=3&per_page=10>; rel="self",
      <https://api.invoiced.com/customers?page=1&per_page=10>; rel="first",
      <https://api.invoiced.com/customers?page=2&per_page=10>; rel="previous",
      <https://api.invoiced.com/customers?page=4&per_page=10>; rel="next",
      <https://api.invoiced.com/customers?page=5&per_page=10>; rel="last"

All list operations will be paginated in similar fashion as the GitHub API. In most cases we will paginate requests returning more than 100 results. You can control pagination with the page and per_page parameters. Pages start at 1 and the first page will be returned if no page is specified.

When traversing the pages, we recommend using the Link and X-Total-Count headers. The Link header will return URLs that you can use to traverse the API without having to write your own. It’s preferred to use the links from the API because it protects against future updates.

Versioning

Any future changes to the API will be versioned in order to maintain backwards compatibility with existing integrations.

Metadata

curl "https://api.invoiced.com/customers" \
  -u {API_KEY}: \
  -d name="Acme" \
  -d metadata[icp_number]="1234567890" \
  -d metadata[account_rep]="Jan"
invoiced.Customer.create(
  :name => "Acme",
  :metadata => {
    :icp_number => "1234567890",
    :account_rep => "Jan"
  }
)
<?php

$invoiced->Customer->create([
  'name' => "Acme",
  'metadata' => [
    'icp_number' => "1234567890",
    'account_rep' => "Jan"
  ]
]);
client.Customer.create(
  name="Acme",
  metadata={
    'icp_number': "1234567890",
    'account_rep': "Jan"
  }
)
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("icp_number", "1234567890");
params.put("account_rep","Jan");
Customer customer = invoiced.newCustomer();
customer.name = "Acme";
customer.metadata = params;
customer.create();

The above command returns JSON structured like this:

{
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": null,
  "autopay": false,
  "payment_terms": null,
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/15444/pdf",
  "created_at": 1415222128,
  "metadata": {
    "icp_number": "1234567890",
    "account_rep": "Jan"
  }
}
#<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": null,
  "autopay": false,
  "payment_terms": null,
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/15444/pdf",
  "created_at": 1415222128,
  "metadata": {
    "icp_number": "1234567890",
    "account_rep": "Jan"
  }
}
Invoiced\Customer JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": null,
  "autopay": false,
  "payment_terms": null,
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/15444/pdf",
  "created_at": 1415222128,
  "metadata": {
    "icp_number": "1234567890",
    "account_rep": "Jan"
  }
}
<Customer id=15444 at 0x3fdbf95e4d08> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": null,
  "autopay": false,
  "payment_terms": null,
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/15444/pdf",
  "created_at": 1415222128,
  "metadata": {
    "icp_number": "1234567890",
    "account_rep": "Jan"
  }
}
com.invoiced.entity.Customer@cb8fd59 JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": null,
  "autopay": false,
  "payment_terms": null,
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/15444/pdf",
  "created_at": 1415222128,
  "metadata": {
    "icp_number": "1234567890",
    "account_rep": "Jan"
  }
}

Most Invoiced objects have a metadata attribute. This parameter allows you to store custom key-value data on supported objects.

There are many use cases for metadata. Any time you want to store custom, structured data on an object, like a Customer, Invoice, or Transaction, then metadata is a great fit. Metadata is only visible within the API and in the dashboard. Customers will not see this data unless you choose to display it with a custom field.

Our custom fields feature is backed by the metadata store. If you are using custom fields then be sure to use the ID of your custom field as the key for your metadata value in order to link it with the right custom field. Custom fields are not required in order to use metadata.

Metadata can include up to 10 keys per object. Each key can be up to 40 characters long and values may be up to 255 characters long.

Special Parameters

Expanding Relations

curl "https://api.invoiced.com/invoices/:id?expand=customer" \
  -u {API_KEY}:
invoice = invoiced.Invoice.retrieve("{INVOICE_ID}", {
  :expand => "customer"
})
<?php

$invoice = $invoiced->Invoice->retrieve("{INVOICE_ID}", [
  'expand' => "customer"
]);
invoice = client.Invoice.retrieve("{INVOICE_ID}", {
  'expand': "customer"
})
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("expand", "customer");
Invoice invoice = invoiced.newInvoice().retrieve("{INVOICE_ID}", params);

Usually you need to request more than just an invoice. Often, you might want data about the associated customer. There is a built-in way to do this that saves extra API requests.

Certain relational properties can be expanded by passing in a comma-separated list of properties to expand through the expand parameter. For example if you were requesting a payment and wanted to expand the associated customer and invoice objects you would set expand=customer,invoice. This will replace the ID on the customer and invoice properties with expanded objects.

The expand parameter works for any response that has relational properties.

Filter

Example retrieving a list of outstanding invoices for a customer:

curl "https://api.invoiced.com/invoices?filter%5Bpaid%5D=0&filter%5Bclosed%5D=0&filter%5Bcustomer%5D=1234" \
  -u {API_KEY}:
invoices = invoiced.Invoice.list(
  :filter => {
    :paid => false,
    :closed => false,
    :customer => 1234
  }
)
<?php

$invoices = $invoiced->Invoice->all([
  'filter' => [
    'paid' => false,
    'closed' => false,
    'customer' => 1234
  ]
]);
invoices = client.Invoice.list(
  filter={
    'paid': False,
    'closed': False,
    'customer': 1234
  }
)
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("filter[paid]", false);
params.put("filter[closed]", false);
params.put("filter[customer]", 1234);
EntityList<Invoice> invoices = invoiced.newInvoice().listAll(filter);

The filter parameter allows you to search entities based on an exact match. While it is not meant to replace a search API, the filter parameter can be useful if you need to look up a customer by name or want to list all overdue invoices. It can be used on many of the list endpoints.

The filter parameter is an object whose keys are the properties that should be matched.

Metadata Filter

Example retrieving customers with a matching account-rep metadata value:

curl "https://api.invoiced.com/customers?metadata%5Baccount-rep%5D=Jan" \
  -u {API_KEY}:
customer = invoiced.Customer.list(
  :metadata => {
    'account-rep' => "Jan"
  }
)
<?php

$customer = $invoiced->Customer->all([
  'metadata' => [
    'account-rep' => "Jan"
  ]
]);
customer = client.Customer.list(
  metadata={
    'account-rep': "Jan"
  }
)
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("metadata[account-rep]", "Jan");
EntityList<Customer> customers = invoiced.newCustomer().listAll(params);

The metadata parameter behaves in a similar fashion to the filter parameter. It allows you to search entities that have an exactly matching metadata value for each constraint given. It can be used on any of the list endpoints for objects that support metadata.

The metadata parameter is an object whose keys should exactly match the metadata of the objects returned. If an object does not have a metadata value for a given key then the object will not be included in the result set, with no error being thrown.

Customers

Customers represent the entity you are billing, whether this is an organization or a individual. Each customer has an AutoPay setting. When AutoPay is enabled, any invoices issued for this customer will be charged to the customer’s payment source. Currently we support debit / credit cards and bank accounts (via ACH) as payment sources.

Conversely, when AutoPay is disabled we will let your customers pay each invoice issued with one of the payment methods you accept.

Customer Object

Attributes

{
  "id": 15444,
  "object": "customer",
  "name": "Acme",
  "number": "CUST-0001",
  "email": "billing@acmecorp.com",
  "autopay": true,
  "payment_terms": null,
  "payment_source": {
    "id": 850,
    "object": "card",
    "brand": "Visa",
    "last4": "4242",
    "exp_month": 2,
    "exp_year": 20,
    "funding": "credit"
  },
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
#<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
  "id": 15444,
  "object": "customer",
  "name": "Acme",
  "number": "CUST-0001",
  "email": "billing@acmecorp.com",
  "autopay": true,
  "payment_terms": null,
  "payment_source": {
    "id": 850,
    "object": "card",
    "brand": "Visa",
    "last4": "4242",
    "exp_month": 2,
    "exp_year": 20,
    "funding": "credit"
  },
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
Invoiced\Customer JSON: {
  "id": 15444,
  "object": "customer",
  "name": "Acme",
  "number": "CUST-0001",
  "email": "billing@acmecorp.com",
  "autopay": true,
  "payment_terms": null,
  "payment_source": {
    "id": 850,
    "object": "card",
    "brand": "Visa",
    "last4": "4242",
    "exp_month": 2,
    "exp_year": 20,
    "funding": "credit"
  },
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
<Customer id=15444 at 0x3fdbf95e4d08> JSON: {
  "id": 15444,
  "object": "customer",
  "name": "Acme",
  "number": "CUST-0001",
  "email": "billing@acmecorp.com",
  "autopay": true,
  "payment_terms": null,
  "payment_source": {
    "id": 850,
    "object": "card",
    "brand": "Visa",
    "last4": "4242",
    "exp_month": 2,
    "exp_year": 20,
    "funding": "credit"
  },
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
com.invoiced.entity.Customer@d72919f JSON: {
  "id": 15444,
  "object": "customer",
  "name": "Acme",
  "number": "CUST-0001",
  "email": "billing@acmecorp.com",
  "autopay": true,
  "payment_terms": null,
  "payment_source": {
    "id": 850,
    "object": "card",
    "brand": "Visa",
    "last4": "4242",
    "exp_month": 2,
    "exp_year": 20,
    "funding": "credit"
  },
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
Parameter Type Description
id integer The customer’s unique ID
object string Object type, customer
name string Customer name
number string A unique ID to help tie your customer to your external systems
email string Email address
autopay boolean AutoPay enabled?
payment_terms string Payment terms when AutoPay is off, i.e. “NET 30”
payment_source object Customer’s payment source, if attached
taxes array Collection of Tax Rate IDs
type string Organization type, company or person
attention_to string Used for ATTN: address line if company
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code
tax_id string Tax ID to be displayed on documents
phone string Phone #
notes string Private customer notes
sign_up_page integer Sign Up Page ID
sign_up_url string URL where customer can purchase a subscription, when a sign up page is assigned
statement_pdf_url string URL to download the latest account statement
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Contact Object

Contacts can be attached to customers. A contact could represent an additional email recipient for a customer, or perhaps an address in addition to the billing address, like a shipping address.

Attributes

{
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
#<Invoiced::Contact:0x3fdbf95e4d08 id=10403> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
Invoiced\Contact JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
<Contact id=10403 at 0x3fdbf95e4d08> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
com.invoiced.entity.Contact@3a0fa320 JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
Parameter Type Description
id integer The contact’s unique ID
object string Object type, contact
name string Contact name
email string Email address
primary boolean When true the contact will be copied on any account communications
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code
created_at timestamp Timestamp when created

Create a customer

curl "https://api.invoiced.com/customers" \
  -u {API_KEY}: \
  -d name="Acme" \
  -d email="billing@acmecorp.com" \
  -d payment_terms="NET 30" \
  -d type="company"
invoiced.Customer.create(
  :name => "Acme",
  :email => "billing@acmecorp.com",
  :payment_terms => "NET 30",
  :type => "company"
)
<?php

$invoiced->Customer->create([
  'name' => "Acme",
  'email' => "billing@acmecorp.com",
  'payment_terms' => "NET 30",
  'type' => "company"
]);
client.Customer.create(
  name="Acme",
  email="billing@acmecorp.com",
  payment_terms="NET 30",
  type="company"
)
Customer customer = invoiced.newCustomer();
customer.name = "Acme";
customer.email = "billing@acmecorp.com";
customer.paymentTerms = "NET 30";
customer.type = "company";
customer.create();

The above command returns JSON structured like this:

{
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
#<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
Invoiced\Customer JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
<Customer id=15444 at 0x3fdbf95e4d08> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
com.invoiced.entity.Customer@cb8fd57 JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": null,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": "US",
  "tax_id": null,
  "phone": null,
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}

Create a new customer profile with this endpoint.

HTTP Request

POST /customers

Attributes

Parameter Type Description
name string Customer name - required
number string A unique ID to help tie your customer to your external systems. We will generate one if not supplied.
email string Email address
autopay boolean AutoPay enabled? Defaults to false
payment_terms string Payment terms when AutoPay is off, i.e. “NET 30”
stripe_token string When provided sets the customer’s payment source to the tokenized Stripe card
taxes array Collection of Tax Rate IDs
type string Organization type, company or person. Defaults to company
attention_to string Used for ATTN: address line if company
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code
tax_id string Tax ID to be displayed on documents
phone string Phone #
notes string Private customer notes
sign_up_page integer Sign Up Page ID
metadata object A hash of key/value pairs that can store additional information about this object.
disabled_payment_methods array List of payment methods to disable for this customer, i.e. ["credit_card", "wire_transfer"].

Retrieve a customer

curl "https://api.invoiced.com/customers/:id" \
  -u {API_KEY}:
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
customer = client.Customer.retrieve("{CUSTOMER_ID}")
Customer customer = invoiced.newCustomer();
Customer customerToRetrieve = customer.retrieve({CUSTOMER_ID});

The above command returns JSON structured like this:

{
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
#<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
Invoiced\Customer JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
<Customer id=15444 at 0x3fdbf95e4d08> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
com.invoiced.entity.Customer@cb8fd58 JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 30",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}

This endpoint retrieves a specific customer.

HTTP Request

GET /customers/:id

Update a customer

curl "https://api.invoiced.com/customers/:id" \
  -u {API_KEY}: \
  -d payment_terms="NET 14" \
  -d attention_to="Sarah Fisher" \
  -d address1="342 Amber St" \
  -d city="Hill Valley" \
  -d state="CA" \
  -d postal_code="94523" \
  -d tax_id="893-934835" \
  -d phone="(820) 297-2983" \
  -X PATCH
customer.payment_terms = "NET 14"
customer.attention_to = "Sarah Fisher"
customer.address1 = "342 Amber St"
customer.city = "Hill Valley"
customer.state = "CA"
customer.postal_code = "94523"
customer.tax_id = "893-934835"
customer.phone = "(820) 297-2983"
customer.save
<?php

$customer->payment_terms = "NET 14";
$customer->attention_to = "Sarah Fisher";
$customer->address1 = "342 Amber St";
$customer->city = "Hill Valley";
$customer->state = "CA";
$customer->postal_code = "94523";
$customer->tax_id = "893-934835";
$customer->phone = "(820) 297-2983";
$customer->save();
customer.payment_terms = "NET 14"
customer.attention_to = "Sarah Fisher"
customer.address1 = "342 Amber St"
customer.city = "Hill Valley"
customer.state = "CA"
customer.postal_code = "94523"
customer.tax_id = "893-934835"
customer.phone = "(820) 297-2983"
customer.save()
customer.paymentTerms = "NET 14";
customer.attentionTo = "Sarah Fisher";
customer.address1 = "342 Amber St";
customer.city = "Hill Valley";
customer.state = "CA";
customer.postalCode = "94523";
customer.taxId = "893-934835";
customer.phone = "(820) 297-2983";
customer.save();

The above command returns JSON structured like this:

{
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 14",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
#<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 14",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
Invoiced\Customer JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 14",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
<Customer id=15444 at 0x3fdbf95e4d08> JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 14",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}
com.invoiced.entity.Customer@cb8fd59 JSON: {
  "id": 15444,
  "object": "customer",
  "number": "CUST-0001",
  "name": "Acme",
  "email": "billing@acmecorp.com",
  "autopay": false,
  "payment_terms": "NET 14",
  "payment_source": null,
  "taxes": [],
  "type": "company",
  "attention_to": "Sarah Fisher",
  "address1": "342 Amber St",
  "address2": null,
  "city": "Hill Valley",
  "state": "CA",
  "postal_code": "94523",
  "country": "US",
  "tax_id": "893-934835",
  "phone": "(820) 297-2983",
  "notes": null,
  "sign_up_page": null,
  "sign_up_url": null,
  "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
  "created_at": 1415222128,
  "metadata": {}
}

Use this endpoint to update a customer profile.

HTTP Request

PATCH /customers/:id

Request Parameters

Parameter Type Description
name string Customer name
number string A unique ID to help tie your customer to your external systems
email string Email address
autopay boolean AutoPay enabled?
payment_terms string Payment terms when AutoPay is off, i.e. “NET 30”
stripe_token string When provided sets the customer’s payment source to the tokenized Stripe card
taxes array Collection of Tax Rate IDs
type string Organization type, company or person
attention_to string Used for ATTN: address line if company
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code
tax_id string Tax ID to be displayed on documents
phone string Phone #
notes string Private customer notes
sign_up_page integer Sign Up Page ID
metadata object A hash of key/value pairs that can store additional information about this object.
disabled_payment_methods array List of payment methods to disable for this customer, i.e. ["credit_card", "wire_transfer"].

Get current balance

curl "https://api.invoiced.com/customers/balance" \
  -u {API_KEY}:
customer.balance
<?php

$customer->balance();
customer.balance()
Balance balance = customer.getBalance();

The above command returns JSON structured like this:

{
  "available_credits": 50,
  "history": [
    {
      "timestamp": 1464041624,
      "balance": 50
    },
    {
      "timestamp": 1464040550,
      "balance": 100
    }
  ],
  "past_due": false,
  "total_outstanding": 470
}
{
  "available_credits": 50,
  "history": [
    {
      "timestamp": 1464041624,
      "balance": 50
    },
    {
      "timestamp": 1464040550,
      "balance": 100
    }
  ],
  "past_due": false,
  "total_outstanding": 470
}
{
  "available_credits": 50,
  "history": [
    {
      "timestamp": 1464041624,
      "balance": 50
    },
    {
      "timestamp": 1464040550,
      "balance": 100
    }
  ],
  "past_due": false,
  "total_outstanding": 470
}
{
  "available_credits": 50,
  "history": [
    {
      "timestamp": 1464041624,
      "balance": 50
    },
    {
      "timestamp": 1464040550,
      "balance": 100
    }
  ],
  "past_due": false,
  "total_outstanding": 470
}
com.invoiced.entity.Balance@cb8fd60 JSON: {
 "available_credits": 50,
  "history": [
    {
      "timestamp": 1464041624,
      "balance": 50
    },
    {
      "timestamp": 1464040550,
      "balance": 100
    }
  ],
  "past_due": false,
  "total_outstanding": 470
}

This endpoint returns the customer’s current credit balance, credit balance history, and the current amount outstanding.

HTTP Request

GET /customers/:id/balance

Send a statement

curl "https://api.invoiced.com/customers/:id/emails" \
  -u {API_KEY}: \
  -X POST
emails = customer.send_statement
<?php

$emails = $customer->sendStatement();
emails = customer.send_statement()
EmailRequest emailRequest = new EmailRequest();
EmailRecipient[] emailRecipients = new EmailRecipient[1];
emailRecipients[0] = new EmailRecipient();
emailRecipients[0].name = "Client";
emailRecipients[0].email = "client@example.com";
emailRequest.to = emailRecipients;
emailRequest.subject = "Statement from Dunder Mifflin, Inc.";
emailRequest.message = "Dear Client, we have attached your latest account statement. Thank you!";
Email[] emails = customer.sendStatement(emailRequest);

The above command returns JSON structured like this:

[
  {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "statement_email",
    "subject": "Statement from Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached your latest account statement. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Email:0x3fdbf95e4d08 id=f45382c6fbc44d44aa7f9a55eb2ce731> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "statement_email",
    "subject": "Statement from Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached your latest account statement. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  #<Invoiced::Email:0x3fdasdf95e09 id=a0s36fbc44d44aa7f9a55easdfi8ce731> JSON: { ... },
  #<Invoiced::Email:0x3fdbffge4d10 id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731> JSON: { ... }
]
[
  Invoiced\Email JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "statement_email",
    "subject": "Statement from Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached your latest account statement. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  Invoiced\Email JSON: { ... },
  Invoiced\Email JSON: { ... }
]
[
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "statement_email",
    "subject": "Statement from Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached your latest account statement. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  <Email id=a0s36fbc44d44aa7f9a55easdfi8ce731 at 0x3fdasdf95e09> JSON: { ... },
  <Email id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731 at 0x3fdbffge4d10> JSON: { ... }
]
//To pretty print a array of Objects use Arrays.toString(Object[]);
[
  com.invoiced.entity.Email@1bfbb8ee JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "statement_email",
    "subject": "Statement from Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached your latest account statement. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  }, 
  com.invoiced.entity.Email@2afbb8ee JSON: {...},
  com.invoiced.entity.Email@3bfbb8ee JSON: {...}
]

This endpoint sends a PDF account statement to a customer.

HTTP Request

POST /customers/:id/emails

Request Parameters

Parameter Type Description
to array Optional array of recipients like:
[{"name": "Client", "email": "client@example.com"}]
bcc string Optional comma-separated list of email addresses to be blind carbon copied
subject string Optional subject
message string Optional message body, otherwise the Statement Email template is used

Create a contact

curl "https://api.invoiced.com/customers/:customer_id/contacts" \
  -u {API_KEY}: \
  -d name="Nancy Talty" \
  -d email="nancy.talty@example.com"
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
customer.contacts.create(
  :name => "Nancy Talty",
  :email => "nancy.talty@example.com"
)
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
$customer->contacts()->create([
  'name' => "Nancy Talty",
  'email' => "nancy.talty@example.com"
]);
customer = client.Customer.retrieve("{CUSTOMER_ID}")
customer.contacts().create(
  name="Nancy Talty",
  email="nancy.talty@example.com"
)
Customer customer = invoiced.newCustomer().retrieve({CUSTOMER_ID});
Contact contact = customer.newContact();
contact.name = "Nancy Talty";
contact.email = "nancy.talty@example.com";
contact.create();

The above command returns JSON structured like this:

{
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
#<Invoiced::Contact:0x3fdbf95e4d08 id=10403> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
Invoiced\Contact JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
<Contact id=10403 at 0x3fdbf95e4d08> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
com.invoiced.entity.Contact@cb8fd89 JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}

Create a new contact with this endpoint.

HTTP Request

POST /customers/:customer_id/contacts

Attributes

Parameter Type Description
name string Contact name
email string Email address
primary boolean When true the contact will be copied on any account communications
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code

Retrieve a contact

curl "https://api.invoiced.com/customers/:customer_id/contacts/:id" \
  -u {API_KEY}:
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
contact = customer.contacts.retrieve("{CONTACT_ID}")
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
$contact = $customer->contacts()->retrieve("{CONTACT_ID}");
customer = client.Customer.retrieve("{CUSTOMER_ID}")
contact = customer.contacts().retrieve("{CONTACT_ID}")
Customer customer = invoiced.newCustomer().retrieve({CUSTOMER_ID});
Contact contact = customer.newContact().retrieve({CONTACT_ID});

The above command returns JSON structured like this:

{
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
#<Invoiced::Contact:0x3fdbf95e4d08 id=10403> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
Invoiced\Contact JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
<Contact id=10403 at 0x3fdbf95e4d08> JSON: {
  "id": 10403,
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}
com.invoiced.entity.Contact@cb8fd89 JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": null,
  "address2": null,
  "city": null,
  "state": null,
  "postal_code": null,
  "country": null,
  "created_at": 1463510889
}

This endpoint retrieves a specific contact.

HTTP Request

GET /customers/:customer_id/contacts/:id

Update a contact

curl "https://api.invoiced.com/customers/:customer_id/contacts/:id" \
  -u {API_KEY}: \
  -d address1="507 Grove Avenue" \
  -d city="Oklahoma City" \
  -d state="OK" \
  -d postal_code="73102" \
  -X PATCH
contact.address1 = "507 Grove Avenue"
contact.city = "Oklahoma City"
contact.state = "OK"
contact.postal_code = "73102"
contact.save
<?php

contact->address1 = "507 Grove Avenue"
contact->city = "Oklahoma City"
contact->state = "OK"
contact->postal_code = "73102"
$contact->save();
contact.address1 = "507 Grove Avenue"
contact.city = "Oklahoma City"
contact.state = "OK"
contact.postal_code = "73102"
contact.save()
contact.address1 = "507 Grove Avenue"
contact.city = "Oklahoma City"
contact.state = "OK"
contact.postalCode = "73102"
contact.save()

The above command returns JSON structured like this:

{
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": "507 Grove Avenue",
  "address2": null,
  "city": "Oklahoma City",
  "state": "OK",
  "postal_code": "73102",
  "country": null,
  "created_at": 1463510889
}
#<Invoiced::Contact:0x3fdbf95e4d08 id=10403> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": "507 Grove Avenue",
  "address2": null,
  "city": "Oklahoma City",
  "state": "OK",
  "postal_code": "73102",
  "country": null,
  "created_at": 1463510889
}
Invoiced\Contact JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": "507 Grove Avenue",
  "address2": null,
  "city": "Oklahoma City",
  "state": "OK",
  "postal_code": "73102",
  "country": null,
  "created_at": 1463510889
}
<Contact id=10403 at 0x3fdbf95e4d08> JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": "507 Grove Avenue",
  "address2": null,
  "city": "Oklahoma City",
  "state": "OK",
  "postal_code": "73102",
  "country": null,
  "created_at": 1463510889
}
com.invoiced.entity.Contact@cb8fd89 JSON: {
  "id": 10403,
  "object": "contact",
  "name": "Nancy Talty",
  "email": "nancy.talty@example.com",
  "primary": true,
  "address1": "507 Grove Avenue",
  "address2": null,
  "city": "Oklahoma City",
  "state": "OK",
  "postal_code": "73102",
  "country": null,
  "created_at": 1463510889
}

Use this endpoint to update a contact.

HTTP Request

PATCH /customers/:customer_id/contacts/:id

Request Parameters

Parameter Type Description
name string Contact name
email string Email address
primary boolean When true the contact will be copied on any account communications
address1 string First address line
address2 string Optional second address line
city string City
state string State or province
postal_code string Zip or postal code
country string Two-letter ISO code

Delete a contact

curl "https://api.invoiced.com/customers/:customer_id/contacts/:id" \
  -u {API_KEY}: \
  -X DELETE
contact.delete
<?php

$contact->delete();
contact.delete()
contact.delete();

The above command returns 204 No Content

This endpoint deletes a specific contact.

HTTP Request

DELETE /customers/:customer_id/contacts/:id

List all contacts

curl "https://api.invoiced.com/customers/:customer_id/contacts" \
  -u {API_KEY}:
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
contacts, metadata = customer.contacts.list(:per_page => 3)
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
list($contacts, $metadata) = $customer->contacts()->all(['per_page' => 3]);
customer = client.Customer.retrieve("{CUSTOMER_ID}")
contacts, metadata = customer.contacts().list(per_page=3)
Customer customer = conn.newCustomer().retrieve({CUSTOMER_ID});
EntityList<Contact> contacts = customer.newContact().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 10403,
    "object": "contact",
    "name": "Nancy Talty",
    "email": "nancy.talty@example.com",
    "primary": true,
    "address1": null,
    "address2": null,
    "city": null,
    "state": null,
    "postal_code": null,
    "country": null,
    "created_at": 1463510889
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Contact:0x3fdbf95e4d08 id=10403> JSON: {
    "id": 10403,
    "object": "contact",
    "name": "Nancy Talty",
    "email": "nancy.talty@example.com",
    "primary": true,
    "address1": null,
    "address2": null,
    "city": null,
    "state": null,
    "postal_code": null,
    "country": null,
    "created_at": 1463510889
  },
  #<Invoiced::Contact:0x3fdbf95e4d09 id=10404> JSON: { ... },
  #<Invoiced::Contact:0x3fdbf95e4d10 id=10405> JSON: { ... }
]
[
  Invoiced\Contact JSON: {
    "id": 10403,
    "object": "contact",
    "name": "Nancy Talty",
    "email": "nancy.talty@example.com",
    "primary": true,
    "address1": null,
    "address2": null,
    "city": null,
    "state": null,
    "postal_code": null,
    "country": null,
    "created_at": 1463510889
  },
  Invoiced\Contact JSON: { ... },
  Invoiced\Contact JSON: { ... }
]
[
  <Contact id=10403 at 0x3fdbf95e4d08> JSON: {
    "id": 10403,
    "object": "contact",
    "name": "Nancy Talty",
    "email": "nancy.talty@example.com",
    "primary": true,
    "address1": null,
    "address2": null,
    "city": null,
    "state": null,
    "postal_code": null,
    "country": null,
    "created_at": 1463510889
  },
  <Contact id=10404 at 0x3fdbf95e4d08> JSON: { ... },
  <Contact id=10405 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Contact@1701e31a JSON: { 
    "id": 10403,
    "object": "contact",
    "name": "Nancy Talty",
    "email": "nancy.talty@example.com",
    "primary": true,
    "address1": null,
    "address2": null,
    "city": null,
    "state": null,
    "postal_code": null,
    "country": null,
    "created_at": 1463510889
  },
  com.invoiced.entity.Contact@2701e31a JSON: {...},
  com.invoiced.entity.Contact@3701e31a JSON: {...}
]

This endpoint retrieves all contacts.

HTTP Request

GET /customers/:customer_id/contacts

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object

Delete a customer

curl "https://api.invoiced.com/customers/:id" \
  -u {API_KEY}: \
  -X DELETE
customer.delete
<?php

$customer->delete();
customer.delete()
customer.delete();

The above command returns 204 No Content

This endpoint deletes a specific customer.

HTTP Request

DELETE /customers/:id

List all customers

curl "https://api.invoiced.com/customers" \
  -u {API_KEY}:
customers, metadata = invoiced.Customer.list(:per_page => 3)
<?php

list($customers, $metadata) = $invoiced->Customer->all(['per_page' => 3]);
customers, metadata = invoiced.Customer.list(per_page=3)
EntityList<Customer> customers = connection.newCustomer().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 15444,
    "object": "customer",
    "number": "CUST-0001",
    "name": "Acme",
    "email": "billing@acmecorp.com",
    "autopay": false,
    "payment_terms": "NET 30",
    "payment_source": null,
    "taxes": [],
    "type": "company",
    "attention_to": "Sarah Fisher",
    "address1": "342 Amber St",
    "address2": null,
    "city": "Hill Valley",
    "state": "CA",
    "postal_code": "94523",
    "country": "US",
    "tax_id": "893-934835",
    "phone": "(820) 297-2983",
    "notes": null,
    "sign_up_page": null,
    "sign_up_url": null,
    "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
    "created_at": 1415222128,
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Customer:0x3fdbf95e4d08 id=15444> JSON: {
    "id": 15444,
    "object": "customer",
    "number": "CUST-0001",
    "name": "Acme",
    "email": "billing@acmecorp.com",
    "autopay": false,
    "payment_terms": "NET 30",
    "payment_source": null,
    "taxes": [],
    "type": "company",
    "attention_to": "Sarah Fisher",
    "address1": "342 Amber St",
    "address2": null,
    "city": "Hill Valley",
    "state": "CA",
    "postal_code": "94523",
    "country": "US",
    "tax_id": "893-934835",
    "phone": "(820) 297-2983",
    "notes": null,
    "sign_up_page": null,
    "sign_up_url": null,
    "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
    "created_at": 1415222128,
    "metadata": {}
  },
  #<Invoiced::Customer:0x3fdbf95e4d09 id=15445> JSON: { ... },
  #<Invoiced::Customer:0x3fdbf95e4d10 id=15446> JSON: { ... }
]
[
  Invoiced\Customer JSON: {
    "id": 15444,
    "object": "customer",
    "number": "CUST-0001",
    "name": "Acme",
    "email": "billing@acmecorp.com",
    "autopay": false,
    "payment_terms": "NET 30",
    "payment_source": null,
    "taxes": [],
    "type": "company",
    "attention_to": "Sarah Fisher",
    "address1": "342 Amber St",
    "address2": null,
    "city": "Hill Valley",
    "state": "CA",
    "postal_code": "94523",
    "country": "US",
    "tax_id": "893-934835",
    "phone": "(820) 297-2983",
    "notes": null,
    "sign_up_page": null,
    "sign_up_url": null,
    "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
    "created_at": 1415222128,
    "metadata": {}
  },
  Invoiced\Customer JSON: { ... },
  Invoiced\Customer JSON: { ... }
]
[
  <Customer id=15444 at 0x3fdbf95e4d08> JSON: {
    "id": 15444,
    "object": "customer",
    "number": "CUST-0001",
    "name": "Acme",
    "email": "billing@acmecorp.com",
    "autopay": false,
    "payment_terms": "NET 30",
    "payment_source": null,
    "taxes": [],
    "type": "company",
    "attention_to": "Sarah Fisher",
    "address1": "342 Amber St",
    "address2": null,
    "city": "Hill Valley",
    "state": "CA",
    "postal_code": "94523",
    "country": "US",
    "tax_id": "893-934835",
    "phone": "(820) 297-2983",
    "notes": null,
    "sign_up_page": null,
    "sign_up_url": null,
    "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
    "created_at": 1415222128,
    "metadata": {}
  },
  <Customer id=15445 at 0x3fdbf95e4d08> JSON: { ... },
  <Customer id=15446 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Customer@1701d31a JSON: {
    "id": 15444,
    "object": "customer",
    "number": "CUST-0001",
    "name": "Acme",
    "email": "billing@acmecorp.com",
    "autopay": false,
    "payment_terms": "NET 30",
    "payment_source": null,
    "taxes": [],
    "type": "company",
    "attention_to": "Sarah Fisher",
    "address1": "342 Amber St",
    "address2": null,
    "city": "Hill Valley",
    "state": "CA",
    "postal_code": "94523",
    "country": "US",
    "tax_id": "893-934835",
    "phone": "(820) 297-2983",
    "notes": null,
    "sign_up_page": null,
    "sign_up_url": null,
    "statement_pdf_url": "https://dundermifflin.invoiced.com/statements/t3NmhUomra3g3ueSNnbtUgrr/pdf",
    "created_at": 1415222128,
    "metadata": {}
  },
  com.invoiced.entity.Customer@2701d31a JSON: { ... },
  com.invoiced.entity.Customer@3701d31a JSON: { ... }
]

This endpoint retrieves all customers.

HTTP Request

GET /customers

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object
metadata object Metadata filter object
payment_source boolean When set only returns customers with (or without) a payment source
balance boolean When set only returns customers with (or without) a credit balance

Payment Sources

A payment source represents a specific payment instrument owned by a customer that can be used for payments. We currently support credit cards and bank accounts as payment sources.

Card Object

Attributes

{
  "id": 850,
  "object": "card",
  "brand": "Visa",
  "last4": "4242",
  "exp_month": 2,
  "exp_year": 20,
  "funding": "credit"
}
#<Invoiced::Card:0x3fdbf95e4d08 id=850> JSON: {
  "id": 850,
  "object": "card",
  "brand": "Visa",
  "last4": "4242",
  "exp_month": 2,
  "exp_year": 20,
  "funding": "credit"
}
Invoiced\Card JSON: {
  "id": 850,
  "object": "card",
  "brand": "Visa",
  "last4": "4242",
  "exp_month": 2,
  "exp_year": 20,
  "funding": "credit"
}
<Card id=850 at 0x3fdbf95e4d08> JSON: {
  "id": 850,
  "object": "card",
  "brand": "Visa",
  "last4": "4242",
  "exp_month": 2,
  "exp_year": 20,
  "funding": "credit"
}
//PaymentSource can be used for both Card Object and Bank Account Object
com.invoiced.entity.PaymentSource@2fdf31f4 JSON: {
  "id": 850,
  "object": "card",
  "brand": "Visa",
  "last4": "4242",
  "exp_month": 2,
  "exp_year": 20,
  "funding": "credit"
}
Parameter Type Description
id integer The card’s unique ID
object string Object type, card
brand string Card brand
last4 string Last 4 digits of card
exp_month integer Expiry month
exp_year integer Expiry year
funding string Funding instrument, can be credit, debit, prepaid, or unknown

Bank Account Object

Attributes

{
  "id": 4321,
  "object": "bank_account",
  "bank_name": "Wells Fargo",
  "last4": "7890",
  "routing_number": "110000000",
  "verified": true,
  "currency": "usd"
}
#<Invoiced::BankAccount:0x3fdbf95e4d08 id=4321> JSON: {
  "id": 4321,
  "object": "bank_account",
  "bank_name": "Wells Fargo",
  "last4": "7890",
  "routing_number": "110000000",
  "verified": true,
  "currency": "usd"
}
Invoiced\BankAccount JSON: {
  "id": 4321,
  "object": "bank_account",
  "bank_name": "Wells Fargo",
  "last4": "7890",
  "routing_number": "110000000",
  "verified": true,
  "currency": "usd"
}
<BankAccount id=4321 at 0x3fdbf95e4d08> JSON: {
  "id": 4321,
  "object": "bank_account",
  "bank_name": "Wells Fargo",
  "last4": "7890",
  "routing_number": "110000000",
  "verified": true,
  "currency": "usd"
}
//PaymentSource can be used for both Card Object and Bank Account Object
com.invoiced.entity.PaymentSource@3fdf31f4 JSON: {
  "id": 4321,
  "object": "bank_account",
  "bank_name": "Wells Fargo",
  "last4": "7890",
  "routing_number": "110000000",
  "verified": true,
  "currency": "usd"
}
Parameter Type Description
id integer The bank account’s unique ID
object string Object type, bank_account
bank_name string Bank name
last4 string Last 4 digits of bank account
routing_number string Bank routing number
verified boolean Whether the bank account has been verified with instant verification or micro-deposits
currency string 3-letter ISO code

Invoicing

An invoice represents a balance owed to you by a Customer. Each invoice has a collection of line items that detail the products or services that are now due. An invoice can be in one of many different states depending on the due date, payments, and whether it was sent to or viewed by the customer.

Invoices can be marked as paid with Transactions. Once the sum of all transactions for an invoice is greater than or equal to the total then the invoice will be considered paid in full.

Invoice Object

Attributes

{
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=46225> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Invoice id=46225 at 0x3fdbf95e4d08> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Invoice@e48fa2a JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Parameter Type Description
id integer The invoice’s unique ID
object string Object type, invoice
customer integer Customer ID
name string Invoice name for internal use, defaults to “Invoice”
number string The reference number assigned to the invoice for use in the dashboard
autopay boolean AutoPay enabled?
currency string 3-letter ISO code
draft boolean When false, the invoice is considered outstanding, or when true, the invoice is a draft
closed boolean When true, an invoice is closed and considered bad debt. No further payments are allowed.
paid boolean Indicates whether an invoice has been paid in full
status string Invoice state, one of draft, not_sent, sent, viewed, past_due, pending, paid
chase boolean Whether chasing is enabled for the invoice
next_chase_on timestamp Next scheduled chase
attempt_count integer # of payment attempts
next_payment_attempt timestamp Next scheduled charge attempt, when in automatic collection
subscription integer Subscription ID if invoice came from subscription
date timestamp Invoice date
due_date timestamp Date payment is due by
payment_terms string Payment terms for the invoice, i.e. “NET 30”
items array Collection of Line Items
notes string Additional notes displayed on invoice
subtotal number Subtotal
discounts array Collection of Discounts
taxes array Collection of Taxes
total number Total
balance number Balance owed
url string URL to view the invoice in the billing portal
payment_url string URL for the invoice payment page
pdf_url string URL to download the invoice as a PDF
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Line Item Object

Attributes

{
  "id": 8,
  "object": "line_item",
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
#<Invoiced::LineItem:0x3fdbf95e4d08 id=8> JSON: {
  "id": 8,
  "object": "line_item",
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
Invoiced\LineItem JSON: {
  "id": 8,
  "object": "line_item",
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
<LineItem id=8 at 0x3fdbf95e4d08> JSON: {
  "id": 8,
  "object": "line_item",
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
 com.invoiced.entity.LineItem@1b13d4f3 JSON: {
  "id": 8,
  "object": "line_item",
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
Parameter Type Description
id integer The line item’s unique ID
object string Object type, line_item
catalog_item string Optional Catalog Item ID. Fills the line item with the name and pricing of the Catalog Item.
type string Optional line item type. Used to group line items by type in reporting
name string Title
description string Optional description
quantity number Quantity
unit_cost number Unit cost or rate
amount number Computed from quantity x unit_cost
discountable boolean Excludes amount from invoice discounts when false
discounts array Line item Discounts
taxable boolean Excludes amount from invoice taxes when false
taxes array Line item Taxes
plan string Plan ID, only present when type is plan
metadata object A hash of key/value pairs that can store additional information about this object.

Discount Object

Represents the application of a discount to an invoice or line item.

Attributes

{
  "id": 20553,
  "object": "discount",
  "amount": 5,
  "coupon": null,
  "expires": null
}
#<Invoiced::Discount:0x3fdbf95e4d08 id=20553> JSON: {
  "id": 20553,
  "object": "discount",
  "amount": 5,
  "coupon": null,
  "expires": null
}
Invoiced\Discount JSON: {
  "id": 20553,
  "object": "discount",
  "amount": 5,
  "coupon": null,
  "expires": null
}
<Discount id=20553 at 0x3fdbf95e4d08> JSON: {
  "id": 20553,
  "object": "discount",
  "amount": 5,
  "coupon": null,
  "expires": null
}
 com.invoiced.entity.Discount@2abc1f10 JSON: {
  "id": 20553,
  "object": "discount",
  "amount": 5,
  "coupon": null,
  "expires": null
}
Parameter Type Description
id integer The discount’s unique ID
object string Object type, discount
amount number Discount amount
coupon object Coupon the discount was computed from, if any
expires timestamp Time until discount expires, if any

Tax Object

Represents the application of tax to an invoice or line item.

Attributes

{
  "id": 20554,
  "object": "tax",
  "amount": 3.85,
  "tax_rate": null
}
#<Invoiced::Tax:0x3fdbf95e4d08 id=20554> JSON: {
  "id": 20554,
  "object": "tax",
  "amount": 3.85,
  "tax_rate": null
}
Invoiced\Tax JSON: {
  "id": 20554,
  "object": "tax",
  "amount": 3.85,
  "tax_rate": null
}
<Tax id=20554 at 0x3fdbf95e4d08> JSON: {
  "id": 20554,
  "object": "tax",
  "amount": 3.85,
  "tax_rate": null
}
com.invoiced.entity.Tax@31d5f331 JSON: {
  "id": 20554,
  "object": "tax",
  "amount": 3.85,
  "tax_rate": null
}
Parameter Type Description
id integer The tax’s unique ID
object string Object type, tax
amount number Tax amount
tax_rate object Tax Rate the tax was computed from, if any

Create an invoice

curl "https://api.invoiced.com/invoices" \
  -u {API_KEY}: \
  -d customer=15444 \
  -d payment_terms="NET 14" \
  -d items[0][name]="Copy paper, Case" \
  -d items[0][quantity]=1 \
  -d items[0][unit_cost]=45 \
  -d items[1][catalog_item]="delivery" \
  -d items[1][quantity]=1 \
  -d taxes[0][amount]=3.85
invoiced.Invoice.create(
  :customer => 15444,
  :payment_terms => "NET 14",
  :items => [
    {
      :name => "Copy paper, Case",
      :quantity => 1,
      :unit_cost => 45
    },
    {
      :catalog_item => "delivery",
      :quantity => 1
    }
  ],
  :taxes => [
    {
      :amount => 3.85
    }
  ]
)
<?php

$invoice = $invoiced->Invoice->create([
  'customer' => 15444,
  'payment_terms' => "NET 14",
  'items' => [
    [
      'name' => "Copy paper, Case",
      'quantity' => 1,
      'unit_cost' => 45
    ],
    [
      'catalog_item' => "delivery",
      'quantity' => 1
    ]
  ],
  'taxes' => [
    [
      'amount' => 3.85
    ]
  ]
]);
client.Invoice.create(
  customer=15444,
  payment_terms="NET 14",
  items=[
    {
      'name': "Copy paper, Case",
      'quantity': 1,
      'unit_cost': 45
    },
    {
      'catalog_item': "delivery",
      'quantity': 1
    }
  ],
  taxes=[
    {
      'amount': 3.85
    }
  ]
)
Invoice invoice = invoiced.newInvoice();
invoice.customer = 15444L;
invoice.paymentTerms = "NET 14";
LineItem[] items = new LineItem[2];
items[0] = new LineItem();
items[0].name = "Copy paper, Case";
items[0].quantity = 1D;
items[0].unitCost = 45D;
items[1] = new LineItem();
items[1].catalogItem = "delivery";
items[1].quantity = 1D;
Tax[] taxes = new Tax[1];
taxes[0] = new Tax();
taxes[0].amount = 3.85D;
invoice.items = items;
invoice.taxes = taxes;
invoice.create();

The above command returns JSON structured like this:

{
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=46225> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Invoice id=46225 at 0x3fdbf95e4d08> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Invoice@e48fa2a JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

Create a new invoice with this endpoint.

HTTP Request

POST /invoices

Attributes

Parameter Type Description
customer integer Customer ID - required
name string Invoice name for internal use, defaults to “Invoice”
number string The reference number assigned to the invoice, defaults to next # in auto-numbering sequence
currency string 3-letter ISO code - defaults to account currency
autopay boolean AutoPay enabled? - inherited from customer by default
payment_terms string Payment terms for the invoice, i.e. “NET 30” - inherited from customer by default
date timestamp Invoice date - defaults to current timestamp
due_date timestamp Due date - computed from payment_terms when not supplied
draft boolean When false, the invoice is considered outstanding, or when true, the invoice is a draft
closed boolean Marks an invoice as closed
chase boolean Enables chasing for this invoice
items array Collection of Line Items
notes string Additional notes displayed on invoice
discounts array Collection of Discounts
taxes array Collection of Taxes
metadata object A hash of key/value pairs that can store additional information about this object.
attachments array A list of File IDs to attach to the invoice.
disabled_payment_methods array List of payment methods to disable for this invoice, i.e. ["credit_card", "wire_transfer"].

Retrieve an invoice

curl "https://api.invoiced.com/invoices/:id" \
  -u {API_KEY}:
invoice = invoiced.Invoice.retrieve("{INVOICE_ID}")
<?php

$invoice = $invoiced->Invoice->retrieve("{INVOICE_ID}");
invoice = client.Invoice.retrieve("{INVOICE_ID}")
Invoice invoice = invoiced.newInvoice().retrieve({INVOICE_ID});

The above command returns JSON structured like this:

{
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=46225> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Invoice id=46225 at 0x3fdbf95e4d08> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Invoice@e48fa2a JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

This endpoint retrieves a specific invoice.

HTTP Request

GET /invoices/:id

Query Parameters

Parameter Type Description
expand string Properties to expand

Update an invoice

curl "https://api.invoiced.com/invoices/:id" \
  -u {API_KEY}: \
  -X PATCH \
  -d sent=1 \
  -d chase=1
invoice.name = "July Paper Delivery"
invoice.notes = "The order was delivered on Jul 20, 2015"
invoice.sent = true
invoice.save
<?php

$invoice->name = "July Paper Delivery";
$invoice->notes = "The order was delivered on Jul 20, 2015";
$invoice->sent = true;
$invoice->save();
invoice.name = "July Paper Delivery"
invoice.notes = "The order was delivered on Jul 20, 2015"
invoice.sent = True
invoice.save()
invoice.name =  "July Paper Delivery";
invoice.notes = "The order was delivered on Jul 20, 2015";
invoice.sent = true;
invoice.save();

The above command returns JSON structured like this:

{
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=46225> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Invoice id=46225 at 0x3fdbf95e4d08> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Invoice@e48fa2a JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

Use this endpoint to update an invoice.

HTTP Request

PATCH /invoices/:id

Attributes

Parameter Type Description
name string Invoice name for internal use, defaults to “Invoice”
number string The reference number assigned to the invoice, defaults to next # in auto-numbering sequence
currency string 3-letter ISO code - defaults to account currency
payment_terms string Payment terms for the invoice, i.e. “NET 30” - inherited from customer by default
date timestamp Invoice date - defaults to current timestamp
due_date timestamp Due date - computed from payment_terms when not supplied
draft boolean When false, the invoice is considered outstanding, or when true, the invoice is a draft
closed boolean Marks an invoice as closed
chase boolean Enables chasing for this invoice
items array Collection of Line Items
notes string Additional notes displayed on invoice
discounts array Collection of Discounts
taxes array Collection of Taxes
metadata object A hash of key/value pairs that can store additional information about this object.
attachments array A list of File IDs to attach to the invoice. Replaces existing attachments. Not providing this keeps existing attachments.
disabled_payment_methods array List of payment methods to disable for this invoice, i.e. ["credit_card", "wire_transfer"].

Send an invoice

curl "https://api.invoiced.com/invoices/:id/emails" \
  -u {API_KEY}: \
  -X POST
emails = invoice.send
<?php

$emails = $invoice->send();
emails = invoice.send()
EmailRequest emailRequest = new EmailRequest();
EmailRecipient[] emailRecipients = new EmailRecipient[1];
emailRecipients[0] = new EmailRecipient();
emailRecipients[0].name = "Client";
emailRecipients[0].email = "client@example.com";

emailRequest.to = emailRecipients;
emailRequest.subject = "New Invoice from Dunder Mifflin, Inc.: INV-0016";
emailRequest.message = "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!";

Email[] emails = invoice.send(emailRequest);

The above command returns JSON structured like this:

[
  {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "new_invoice_email",
    "subject": "New Invoice from Dunder Mifflin, Inc.: INV-0016",
    "message": "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Email:0x3fdbf95e4d08 id=f45382c6fbc44d44aa7f9a55eb2ce731> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "new_invoice_email",
    "subject": "New Invoice from Dunder Mifflin, Inc.: INV-0016",
    "message": "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  #<Invoiced::Email:0x3fdasdf95e09 id=a0s36fbc44d44aa7f9a55easdfi8ce731> JSON: { ... },
  #<Invoiced::Email:0x3fdbffge4d10 id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731> JSON: { ... }
]
[
  Invoiced\Email JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "new_invoice_email",
    "subject": "New Invoice from Dunder Mifflin, Inc.: INV-0016",
    "message": "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  Invoiced\Email JSON: { ... },
  Invoiced\Email JSON: { ... }
]
[
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "new_invoice_email",
    "subject": "New Invoice from Dunder Mifflin, Inc.: INV-0016",
    "message": "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: { ... },
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Email@2ce1cfd8 JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "new_invoice_email",
    "subject": "New Invoice from Dunder Mifflin, Inc.: INV-0016",
    "message": "Dear Client, a new invoice for $51.15 has been created on your account. [View and Pay Invoice button] Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
    },
  com.invoiced.entity.Email@3ce1cfd8 JSON: {...},
  com.invoiced.entity.Email@4ce1cfd8 JSON: {...}
]

This endpoint sends an invoice to your customer.

HTTP Request

POST /invoices/:id/emails

Request Parameters

Parameter Type Description
to array Optional array of recipients like:
[{"name": "Client", "email": "client@example.com"}]
bcc string Optional comma-separated list of email addresses to be blind carbon copied
subject string Optional subject
message string Optional message body, otherwise the appropriate invoice template is used

Pay an invoice

curl "https://api.invoiced.com/invoices/:id/pay" \
  -u {API_KEY}: \
  -X POST
invoice.pay
<?php

$invoice->pay();
invoice.pay()
invoice.pay();

The above command returns JSON structured like this:

{
  "id": 46226,
  "object": "invoice",
  "customer": 15446,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": true,
  "status": "paid",
  "chase": false,
  "next_chase_on": null,
  "autopay": true,
  "attempt_count": 1,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0017",
  "date": 1416290402,
  "due_date": null,
  "payment_terms": "AutoPay",
  "items": [
    {
      "id": 9,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 5,
      "unit_cost": 45,
      "amount": 225,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 225,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 228.85,
  "balance": 228.85,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/pdf",
  "created_at": 1415229885,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=46226> JSON: {
  "id": 46226,
  "object": "invoice",
  "customer": 15446,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": true,
  "status": "paid",
  "chase": false,
  "next_chase_on": null,
  "autopay": true,
  "attempt_count": 1,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0017",
  "date": 1416290402,
  "due_date": null,
  "payment_terms": "AutoPay",
  "items": [
    {
      "id": 9,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 5,
      "unit_cost": 45,
      "amount": 225,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 225,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 228.85,
  "balance": 228.85,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/pdf",
  "created_at": 1415229885,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46226,
  "object": "invoice",
  "customer": 15446,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": true,
  "status": "paid",
  "chase": false,
  "next_chase_on": null,
  "autopay": true,
  "attempt_count": 1,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0017",
  "date": 1416290402,
  "due_date": null,
  "payment_terms": "AutoPay",
  "items": [
    {
      "id": 9,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 5,
      "unit_cost": 45,
      "amount": 225,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 225,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 228.85,
  "balance": 228.85,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/pdf",
  "created_at": 1415229885,
  "metadata": {}
}
<Invoice id=46226 at 0x3fdbf95e4d08> JSON: {
  "id": 46226,
  "customer": 15446,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": true,
  "status": "paid",
  "chase": false,
  "next_chase_on": null,
  "autopay": true,
  "attempt_count": 1,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0017",
  "date": 1416290402,
  "due_date": null,
  "payment_terms": "AutoPay",
  "items": [
    {
      "id": 9,
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 5,
      "unit_cost": 45,
      "amount": 225,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 225,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 228.85,
  "balance": 228.85,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/pdf",
  "created_at": 1415229885,
  "metadata": {}
}
com.invoiced.entity.Invoice@e48fa2a JSON: {
  "id": 46226,
  "object": "invoice",
  "customer": 15446,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": true,
  "status": "paid",
  "chase": false,
  "next_chase_on": null,
  "autopay": true,
  "attempt_count": 1,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0017",
  "date": 1416290402,
  "due_date": null,
  "payment_terms": "AutoPay",
  "items": [
    {
      "id": 9,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 5,
      "unit_cost": 45,
      "amount": 225,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 225,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 228.85,
  "balance": 228.85,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfDasdfGPBmyd6FwXZ/pdf",
  "created_at": 1415229885,
  "metadata": {}
}

When an invoice is automatically collected we will perform the charge automatically. If a payment attempts fails then another attempt will be scheduled according to your retry settings. Or, you can trigger a charge attempt manually using this endpoint.

HTTP Request

POST /invoices/:id/pay

List invoice attachments

curl "https://api.invoiced.com/invoices/:id/attachments" \
  -u {API_KEY}:
attachments, metadata = invoice.attachments
<?php

list($attachments, $metadata) = $invoice->attachments();
attachments, metadata = invoice.attachments()
Attachment[] attachments = invoice.listAttachments();

The above command returns JSON structured like this:

[
  {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625854
    },
    "created_at": 1464625855
  }
]
[
  #<Invoiced::Attachment:0x3ff10dd39db4 id=13> JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625854
    },
    "created_at": 1464625855
  }
]
[
  Invoiced\Attachment JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625854
    },
    "created_at": 1464625855
  }
]
[
  <Attachment id=13 at 0x3ff10dd39db4> JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625854
    },
    "created_at": 1464625855
  }
]
[
  com.invoiced.entity.Attachment@1759eafd JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625854
    },
    "created_at": 1464625855
  },
  com.invoiced.entity.Attachment@1759eafd JSON: {...},
  com.invoiced.entity.Attachment@1759eafd JSON: {...}
]

This endpoint retrieves a list of files attached to a specific invoice.

HTTP Request

GET /invoices/:id/attachments

Delete an invoice

curl "https://api.invoiced.com/invoices/:id" \
  -u {API_KEY}: \
  -X DELETE
invoice.delete
<?php

$invoice->delete();
invoice.delete()
invoice.delete();

The above command returns 204 No Content

This endpoint deletes a specific invoice.

HTTP Request

DELETE /invoices/:id

List all invoices

curl "https://api.invoiced.com/invoices" \
  -u {API_KEY}:
invoices, metadata = invoiced.Invoice.list(:per_page => 3)
<?php

list($invoices, $metadata) = $invoiced->Invoice->all(['per_page' => 3]);
invoices, metadata = invoiced.Invoice.list(per_page=3)
EntityList<Invoice> invoices = conn.newInvoice().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 46225,
    "object": "invoice",
    "customer": 15444,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "not_sent",
    "chase": false,
    "next_chase_on": null,
    "autopay": false,
    "attempt_count": 0,
    "next_payment_attempt": null,
    "subscription": null,
    "number": "INV-0016",
    "date": 1416290400,
    "due_date": 1417500000,
    "payment_terms": "NET 14",
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Invoice:0x3fdbf95e4d08 id=46225> JSON: {
    "id": 46225,
    "object": "invoice",
    "customer": 15444,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "not_sent",
    "chase": false,
    "next_chase_on": null,
    "autopay": false,
    "attempt_count": 0,
    "next_payment_attempt": null,
    "subscription": null,
    "number": "INV-0016",
    "date": 1416290400,
    "due_date": 1417500000,
    "payment_terms": "NET 14",
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  #<Invoiced::Invoice:0x3fdbf95e4d09 id=15445> JSON: { ... },
  #<Invoiced::Invoice:0x3fdbf95e4d10 id=15446> JSON: { ... }
]
[
  Invoiced\Invoice JSON: {
    "id": 46225,
    "object": "invoice",
    "customer": 15444,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "not_sent",
    "chase": false,
    "next_chase_on": null,
    "autopay": false,
    "attempt_count": 0,
    "next_payment_attempt": null,
    "subscription": null,
    "number": "INV-0016",
    "date": 1416290400,
    "due_date": 1417500000,
    "payment_terms": "NET 14",
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  Invoiced\Invoice JSON: { ... },
  Invoiced\Invoice JSON: { ... }
]
[
  <Invoice id=46225 at 0x3fdbf95e4d08> JSON: {
    "id": 46225,
    "object": "invoice",
    "customer": 15444,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "not_sent",
    "chase": false,
    "next_chase_on": null,
    "autopay": false,
    "attempt_count": 0,
    "next_payment_attempt": null,
    "subscription": null,
    "number": "INV-0016",
    "date": 1416290400,
    "due_date": 1417500000,
    "payment_terms": "NET 14",
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  <Invoice id=15445 at 0x3fdbf95e4d08> JSON: { ... },
  <Invoice id=15446 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Invoice@c509a57 JSON: {
    "id": 46225,
    "object": "invoice",
    "customer": 15444,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "not_sent",
    "chase": false,
    "next_chase_on": null,
    "autopay": false,
    "attempt_count": 0,
    "next_payment_attempt": null,
    "subscription": null,
    "number": "INV-0016",
    "date": 1416290400,
    "due_date": 1417500000,
    "payment_terms": "NET 14",
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  }, 
  com.invoiced.entity.Invoice@20301171 JSON: {...},
  com.invoiced.entity.Invoice@30301171 JSON: {...}
]

This endpoint retrieves all invoices.

HTTP Request

GET /invoices

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object
metadata object Metadata filter object
start_date timestamp Restricts the results to invoices on or after the given timestamp
end_date timestamp Restricts the results to invoices on or before the given timestamp

Payments

On Invoiced we use the Transaction concept to represent any monetary value that is transferred between a merchant and customer. In our world, if an invoice describes a balance owed by a customer then a transaction represents the payment of that balance. Transactions can also describe other types of value transfer beyond payments, like refunds and credits.

A transaction can be one of these types:

We automatically record charge and refund transactions that happen through Invoiced for you. Transactions can be associated with a document, like an invoice or credit note, however not all transactions will reference a document.

We currently support the following payment methods on transactions:

adjustment transactions will always use the balance payment method. Since our system is designed from the perspective of the merchant, a negative adjustment represents a credit to the customer and a positive adjustment represents a charge to the customer. For example, if you wanted to credit your customer for $20 then you would create an adjustment transaction for -$20. Furthermore, adjustments can have a credit note associated.

Transaction Object

Attributes

{
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
#<Invoiced::Transaction:0x3fdbf95e4d08 id=20939> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Invoiced\Transaction JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
<Transaction id=20939 at 0x3fdbf95e4d08> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
com.invoiced.entity.Transaction@4ed0a875 JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Parameter Type Description
id integer The transaction’s unique ID
object string Object type, transaction
customer integer Associated Customer
invoice integer Associated Invoice, if any
credit_note integer Associated Credit Note, if any
date timestamp Transaction date
type string Transaction type, charge, payment, refund, or adjustment
method string Payment instrument used to facilitate transaction
status string Transaction status, one of succeeded, pending, or failed
gateway string Payment gateway that processed the transaction, if any
gateway_id string Transaction ID from the payment gateway
payment_source object Payment source used for transaction, if any
currency string 3-letter ISO code
amount number Transaction amount
notes string Internal notes
failure_reason string Failure message from the payment gateway (only available when status = failed)
parent_transaction integer ID of the original transaction for refunds
pdf_url string URL to download the invoice as a PDF
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Create a transaction

curl "https://api.invoiced.com/transactions" \
  -u {API_KEY}: \
  -d invoice=44648 \
  -d method="check" \
  -d gateway_id="1450" \
  -d amount=800
invoiced.Transaction.create(
  :invoice => 44648,
  :method => "check",
  :gateway_id => "1450",
  :amount => 800
)
<?php

$invoiced->Transaction->create([
  'invoice' => 44648,
  'method' => "check",
  'gateway_id' => "1450",
  'amount' => 800
]);
client.Transaction.create(
  invoice=44648,
  method="check",
  gateway_id="1450",
  amount=800
)
Transaction transaction = invoiced.newTransaction();
transaction.invoice = 44648;
transaction.method = "check";
transaction.gatewayId = "1450";
transaction.amount = 800;
transaction.create();

The above command returns JSON structured like this:

{
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": "1450",
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
#<Invoiced::Transaction:0x3fdbf95e4d08 id=30939> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": "1450",
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Invoiced\Transaction JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": "1450",
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
<Transaction id=20939 at 0x3fdbf95e4d08> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": "1450",
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
com.invoiced.entity.Transaction@4ed0a875 JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": "1450",
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}

Create a new transaction with this endpoint.

HTTP Request

POST /transactions

Attributes

Parameter Type Description
customer integer Customer ID, required if invoice ID is not supplied
invoice integer Invoice ID, if any
credit_note integer Associated Credit Note, if any
type string Transaction type, charge, payment, refund, or adjustment - required
date timestamp Transaction date, defaults to current timestamp
method string Payment instrument used to facilitate transaction, defaults to other
status string Transaction status, one of succeeded, pending, or failed, defaults to succeeded
gateway string Payment gateway that processed the transaction, if any
gateway_id string Transaction ID from the payment gateway, or check # if method is check
currency string 3-letter ISO code
amount number Transaction amount
notes string Internal notes
metadata object A hash of key/value pairs that can store additional information about this object.

Retrieve a transaction

curl "https://api.invoiced.com/transactions/:id" \
  -u {API_KEY}:
transaction = invoiced.Transaction.retrieve("{TRANSACTION_ID}")
<?php

$transaction = $invoiced->Transaction->retrieve("{TRANSACTION_ID}");
transaction = client.Transaction.retrieve("{TRANSACTION_ID}")
Transaction transaction = invoiced.newTransaction().retrieve({TRANSACTION_ID});

The above command returns JSON structured like this:

{
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
#<Invoiced::Transaction:0x3fdbf95e4d08 id=20939> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Invoiced\Transaction JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
<Transaction id=20939 at 0x3fdbf95e4d08> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
com.invoiced.entity.Transaction@4ed0a875 JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}

This endpoint retrieves a specific transaction.

HTTP Request

GET /transactions/:id

Update a transaction

curl "https://api.invoiced.com/transactions/:id" \
  -u {API_KEY}: \
  -d notes="Check was received by Jan" \
  -X PATCH
transaction.notes = "Check was received by Jan"
transaction.save
<?php

$transaction->notes = "Check was received by Jan";
$transaction->save();
transaction.notes = "Check was received by Jan"
transaction.save()
transaction.notes = "Check was received by Jan";
transaction.save();

The above command returns JSON structured like this:

{
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": "Check was received by Jan",
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
#<Invoiced::Transaction:0x3fdbf95e4d08 id=20939> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": "Check was received by Jan",
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Invoiced\Transaction JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": "Check was received by Jan",
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
<Transaction id=20939 at 0x3fdbf95e4d08> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": "Check was received by Jan",
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}
com.invoiced.entity.Transaction@4ed0a875 JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": "Check was received by Jan",
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
}

Use this endpoint to update a transaction.

HTTP Request

PATCH /transactions/:id

Request Parameters

Parameter Type Description
date timestamp Transaction date, defaults to current timestamp
method string Payment instrument used to facilitate transaction, defaults to other
status string Transaction status, one of succeeded, pending, or failed, defaults to succeeded
gateway string Payment gateway that processed the transaction, if any
gateway_id string Transaction ID from the payment gateway, or check # if method is check
currency string 3-letter ISO code
amount number Transaction amount
notes string Internal notes
metadata object A hash of key/value pairs that can store additional information about this object.

Send a receipt

curl "https://api.invoiced.com/transactions/:id/emails" \
  -u {API_KEY}: \
  -X POST
emails = transaction.send
<?php

$emails = $transaction->send();
emails = transaction.send()
EmailRequest emailRequest = new EmailRequest();
EmailRecipient[] emailRecipients = new EmailRecipient[1];
emailRecipients[0] = new EmailRecipient();
emailRecipients[0].name = "Client";
emailRecipients[0].email = "client@example.com";
emailRequest.to = emailRecipients;
emailRequest.subject = "Receipt for your recent payment to Dunder Mifflin, Inc.";
emailRequest.message = "Dear Client, we have attached a receipt for your most recent payment. Thank you!";
Email[] emails = transaction.send(emailRequest);

The above command returns JSON structured like this:

[
  {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "payment_receipt_email",
    "subject": "Receipt for your recent payment to Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached a receipt for your most recent payment. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Email:0x3fdbf95e4d08 id=f45382c6fbc44d44aa7f9a55eb2ce731> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "payment_receipt_email",
    "subject": "Receipt for your recent payment to Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached a receipt for your most recent payment. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  #<Invoiced::Email:0x3fdasdf95e09 id=a0s36fbc44d44aa7f9a55easdfi8ce731> JSON: { ... },
  #<Invoiced::Email:0x3fdbffge4d10 id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731> JSON: { ... }
]
[
  Invoiced\Email JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "payment_receipt_email",
    "subject": "Receipt for your recent payment to Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached a receipt for your most recent payment. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  Invoiced\Email JSON: { ... },
  Invoiced\Email JSON: { ... }
]
[
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "payment_receipt_email",
    "subject": "Receipt for your recent payment to Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached a receipt for your most recent payment. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  <Email id=a0s36fbc44d44aa7f9a55easdfi8ce731 at 0x3fdbffge4d10> JSON: { ... },
  <Email id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731 at 0x3fdbffge4d10> JSON: { ... }
]
//To pretty print a array of Objects use Arrays.toString(Object[]);
[
  com.invoiced.entity.Email@12497547 JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "payment_receipt_email",
    "subject": "Receipt for your recent payment to Dunder Mifflin, Inc.",
    "message": "Dear Client, we have attached a receipt for your most recent payment. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  com.invoiced.entity.Email@12497547 JSON: {...},
  com.invoiced.entity.Email@12497547 JSON: {...}
]

This endpoint sends a PDF receipt to the customer.

HTTP Request

POST /transactions/:id/emails

Request Parameters

Parameter Type Description
to array Optional array of recipients like:
[{"name": "Client", "email": "client@example.com"}]
bcc string Optional comma-separated list of email addresses to be blind carbon copied
subject string Optional subject
message string Optional message body, otherwise the Payment Receipt Email template is used

Refund a transaction

curl "https://api.invoiced.com/transactions/:id/refunds" \
  -u {API_KEY}: \
  -X POST
refund = transaction.refund(:amount => 400)
<?php

$refund = $transaction->refund(['amount' => 400]);
refund = transaction.refund(amount=400)
Transaction refund = transaction.refund(400);

The above command returns JSON structured like this:

{
    "id": 20952,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "refund",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 400,
    "notes": null,
    "parent_transaction": 20939,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/20939pdf",
    "created_at": 1415228628,
    "metadata": {}
}
#<Invoiced::Transaction:0x3fdbf95e4d08 id=20952> JSON: {
    "id": 20952,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "refund",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 400,
    "notes": null,
    "parent_transaction": 20939,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/20939pdf",
    "created_at": 1415228628,
    "metadata": {}
}
Invoiced\Transaction JSON: {
    "id": 20952,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "refund",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 400,
    "notes": null,
    "parent_transaction": 20939,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/20939pdf",
    "created_at": 1415228628,
    "metadata": {}
}
<Transaction id=20952 at 0x3fdbf95e4d08> JSON: {
    "id": 20952,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "refund",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 400,
    "notes": null,
    "parent_transaction": 20939,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/20939pdf",
    "created_at": 1415228628,
    "metadata": {}
}
com.invoiced.entity.Transaction@424ba398 JSON: {
    "id": 20952,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "refund",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 400,
    "notes": null,
    "parent_transaction": 20939,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/20939pdf",
    "created_at": 1415228628,
    "metadata": {}
}

You can issue a refund for charge and payment transactions. When a refund is issued for a charge transaction we will attempt to initiate the refund over the payment gateway it happened on.

Of course, when refunding payment transactions you would have to return the money to your customer. This endpoint simply provides a means to track any refunds that you issue for offline payments.

Partial refunds are allowed, however, the total amount refunded cannot exceed the original transaction amount.

HTTP Request

POST /transactions/:id/refunds

Request Parameters

Parameter Type Description
amount number Amount to refund - required

Delete a transaction

curl "https://api.invoiced.com/transactions/:id" \
  -u {API_KEY}: \
  -X DELETE
transaction.delete
<?php

$transaction->delete();
transaction.delete()
transaction.delete();

The above command returns 204 No Content

This endpoint deletes a specific transaction.

HTTP Request

DELETE /transactions/:id

List all transactions

curl "https://api.invoiced.com/transactions" \
  -u {API_KEY}:
transactions, metadata = invoiced.Transaction.list(:per_page => 3)
<?php

list($transactions, $metadata) = $invoiced->Transaction->all(['per_page' => 3]);
transactions, metadata = invoiced.Transaction.list(per_page=3)
EntityList<Transaction> transactions = invoiced.newTransaction().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Transaction:0x3fdbf95e4d08 id=20939> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
  },
  #<Invoiced::Transaction:0x3fdbf95e4d09 id=20940> JSON: { ... },
  #<Invoiced::Transaction:0x3fdbf95e4d10 id=20941> JSON: { ... }
]
[
  Invoiced\Transaction JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
  },
  Invoiced\Transaction JSON: { ... },
  Invoiced\Transaction JSON: { ... }
]
[
  <Transaction id=20939 at 0x3fdbf95e4d08> JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
  },
  <Transaction id=20940 at 0x3fdbf95e4d08> JSON: { ... },
  <Transaction id=20941 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Transaction@52638766 JSON: {
    "id": 20939,
    "object": "transaction",
    "customer": 15460,
    "invoice": 44648,
    "credit_note": null,
    "date": 1410843600,
    "type": "payment",
    "method": "check",
    "status": "succeeded",
    "gateway": null,
    "gateway_id": null,
    "payment_source": null,
    "currency": "usd",
    "amount": 800,
    "notes": null,
    "parent_transaction": null,
    "pdf_url": "https://dundermifflin.invoiced.com/payments/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415228628,
    "metadata": {}
  },
  com.invoiced.entity.Transaction@5c01c09f JSON: {...},
  com.invoiced.entity.Transaction@5c01a09f JSON: {...}
]

This endpoint retrieves all transactions.

HTTP Request

GET /transactions

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object
metadata object Metadata filter object
start_date timestamp Restricts the results to transactions on or after the given timestamp
end_date timestamp Restricts the results to transactions on or before the given timestamp

Subscription Billing

Subscriptions allow you to set up recurring billing for your customers. Creating a Subscription will bill a customer according to a given Plan. Addons let you bill for additonal line items that get added onto the base plan price. An addon can be another plan that must have the same billing interval as the subscription’s primary plan.

Subscriptions can have a fixed or infinite duration. Setting the cycles property will end the subscription after a fixed number of billing cycles. Otherwise, the subscription must be canceled in order to be stopped.

By default subscriptions will renew each billing cycle on the same day of the cycle on which it was started. For example, a subscription that started on the 9th of the month will always renew on the 9th of the month. This is known as Anniversary Billing. We also support renewing subscriptions on a specific day of the month, i.e. the first. If the subscription does not begin on the day you’ve specified then the first bill will be prorated. This is called Calendar Billing.

Subscription Object

Attributes

{
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
#<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
<Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
com.invoiced.entity.Subscription@74f0915b JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Parameter Type Description
id integer The subscription’s unique ID
object string Object type, subscription
customer integer Associated Customer
plan string Plan ID
start_date timestamp Timestamp subscription starts (or started)
quantity integer Plan quantity. Defaults to 1
cycles integer Number of billing cycles the subscription runs for, when null runs until canceled (default).
period_start timestamp Start of the current billing period
period_end timestamp End of the current billing period
cancel_at_period_end boolean When true the subscription will be canceled at the end of the current billing period
canceled_at timestamp Timestamp the subscription was canceled
status string Subscription status, one of not_started, active, past_due, finished, canceled
addons array Collection of Subscription Addons
discounts array Collection of Coupon Objects
taxes array Collection of Tax Rate Objects
url string URL to manage the subscription in the billing portal
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Subscription Addon Object

Attributes

{
    "id": 3,
    "object": "subscription_addon",
    "plan": "ipad-license",
    "quantity": 11,
    "description": "",
    "created_at": 1420391704
}
#<Invoiced::SubscriptionAddon:0x3fdbf95e4d08 id=3> JSON: {
    "id": 3,
    "object": "subscription_addon",
    "plan": "ipad-license",
    "quantity": 11,
    "description": "",
    "created_at": 1420391704
}
Invoiced\SubscriptionAddon JSON: {
    "id": 3,
    "object": "subscription_addon",
    "plan": "ipad-license",
    "quantity": 11,
    "description": "",
    "created_at": 1420391704
}
<SubscriptionAddon id=3 at 0x3fdbf95e4d08> JSON: {
    "id": 3,
    "object": "subscription_addon",
    "plan": "ipad-license",
    "quantity": 11,
    "description": "",
    "created_at": 1420391704
}
com.invoiced.entity.SubscriptionAddon@6ec9001c JSON: {
    "id": 3,
    "object": "subscription_addon",
    "plan": "ipad-license",
    "quantity": 11,
    "description": "",
    "created_at": 1420391704
}
Parameter Type Description
id integer The subscription’s unique ID
object string Object type, subscription_addon
plan string Plan ID
quantity integer Quantity
description string Optional description for line items generated from this addon
created_at timestamp Timestamp when created

Create a subscription

curl "https://api.invoiced.com/subscriptions" \
  -u {API_KEY}: \
  -d customer=15444 \
  -d plan="starter" \
  -d addons[0][plan]="ipad-license" \
  -d addons[0][quantity]=11

invoiced.Subscription.create(
    :customer => 15444,
    :plan => "starter",
    :addons => [
        {
            :plan => "ipad-license",
            :quantity => 11
        }
    ]
)
<?php

$invoiced->Subscription->create([
    'customer' => 15444,
    'plan' => "starter",
    'addons' => [
        [
            'plan' => "ipad-license",
            'quantity' => 11
        ]
    ]
]);
client.Subscription.create(
    customer=15444,
    plan="starter",
    addons=[
        {
            'plan': "ipad-license",
            'quantity': 11
        }
    ]
)
Subscription subscription = invoiced.newSubscription();
subscription.customer = 15444;
subscription.plan = "starter";
subscription.addons = new SubscriptionAddon[1];
subscription.addons[0] = new SubscriptionAddon();
subscription.addons[0].plan = "ipad-license";
subscription.addons[0].quantity = 11;
subscription.create();

The above command returns JSON structured like this:

{
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": 1420391704,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
#<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": 1420391704,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": 1420391704,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
<Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": 1420391704,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
com.invoiced.entity.Subscription@46bbce72 JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": 1420391704,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}

Create a new subscription with this endpoint.

HTTP Request

POST /subscriptions

Attributes

Parameter Type Description
customer integer Customer ID, required
plan string Plan ID, required
start_date integer Timestamp subscription begins, defaults to now
quantity integer Plan quantity. Defaults to 1
cycles integer Number of billing cycles the subscription runs for, when null runs until canceled (default).
snap_to_nth_day integer Snap billing cycles to a specific day of the month (also known as calendar billing), off by default
discounts array Collection of Coupon IDs
taxes array Collection of Tax Rate IDs
addons array Collection of optional Subscription Addons
cancel_at_period_end boolean When true the subscription will be canceled at the end of the current billing period
metadata object A hash of key/value pairs that can store additional information about this object.

Retrieve a subscription

curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}:
subscription = invoiced.Subscription.retrieve("{SUBSCRIPTION_ID}")
<?php

$subscription = $invoiced->Subscription->retrieve("{SUBSCRIPTION_ID}");
subscription = client.Subscription.retrieve("{SUBSCRIPTION_ID}")
Subscription subscription = invoiced.newSubscription().retrieve({SUBSCRIPTION_ID});

The above command returns JSON structured like this:

{
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
#<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
<Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
com.invoiced.entity.Subscription@46bbce72 JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "starter",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}

This endpoint retrieves a specific subscription.

HTTP Request

GET /subscriptions/:id

Update a subscription

curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -d plan="pro" \
  -X PATCH
subscription.plan = "pro"
subscription.save
<?php

$subscription->plan = "pro";
$subscription->save();
subscription.plan = "pro"
subscription.save()
subscription.plan = "pro";
subscription.save();

The above command returns JSON structured like this:

{
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
#<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
<Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
com.invoiced.entity.Subscription@46bbce72 JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}

Use this endpoint to update a subscription.

HTTP Request

PATCH /subscriptions/:id

Request Parameters

Parameter Type Description
plan string Plan ID, required
start_date integer Timestamp subscription begins, defaults to now
quantity integer Plan quantity. Defaults to 1
discounts array Collection of Coupon IDs
taxes array Collection of Tax Rate IDs
addons array Collection of optional Subscription Addons
cancel_at_period_end boolean When true the subscription will be canceled at the end of the current billing period
prorate boolean Prorate changes to plan, quantities, or addons, defaults to true
proration_date integer Timestamp when the proration happened, defaults to now
metadata object A hash of key/value pairs that can store additional information about this object.

Cancel a subscription

curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -X DELETE
subscription.cancel
<?php

$subscription->cancel();
subscription.cancel()
subscription.cancel();

The above command returns JSON structured like this:

{
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": null,
    "cancel_at_period_end": false,
    "canceled_at": 1449162904,
    "status": "canceled",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
#<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": null,
    "cancel_at_period_end": false,
    "canceled_at": 1449162904,
    "status": "canceled",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": null,
    "cancel_at_period_end": false,
    "canceled_at": 1449162904,
    "status": "canceled",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
<Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": null,
    "cancel_at_period_end": false,
    "canceled_at": 1449162904,
    "status": "canceled",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}
com.invoiced.entity.Subscription@46bbce72 JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": null,
    "period_end": null,
    "cancel_at_period_end": false,
    "canceled_at": 1449162904,
    "status": "canceled",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
}

This endpoint cancels a subscription.

HTTP Request

DELETE /subscriptions/:id

List all subscriptions

curl "https://api.invoiced.com/subscriptions" \
  -u {API_KEY}:
subscriptions, metadata = invoiced.Subscription.list(:per_page => 3)
<?php

list($subscriptions, $metadata) = $invoiced->Subscription->all(['per_page' => 3]);
subscriptions, metadata = invoiced.Subscription.list(per_page=3)
EntityList<Subscription> subscriptions = invoiced.newSubscription().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Subscription:0x3fdbf95e4d08 id=595> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
  },
  #<Invoiced::Subscription:0x3fdbf95e4d09 id=596> JSON: { ... },
  #<Invoiced::Subscription:0x3fdbf95e4d10 id=597> JSON: { ... }
]
[
  Invoiced\Subscription JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
  },
  Invoiced\Subscription JSON: { ... },
  Invoiced\Subscription JSON: { ... }
]
[
  <Subscription id=595 at 0x3fdbf95e4d08> JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
  },
  <Subscription id=596 at 0x3fdbf95e4d08> JSON: { ... },
  <Subscription id=597 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Subscription@20b4fc7b JSON: {
    "id": 595,
    "object": "subscription",
    "customer": 15444,
    "plan": "pro",
    "cycles": null,
    "quantity": 1,
    "start_date": 1420391704,
    "period_start": 1446657304,
    "period_end": 1449249304,
    "cancel_at_period_end": false,
    "canceled_at": null,
    "status": "active",
    "addons": [
        {
            "id": 3,
            "object": "subscription_addon",
            "plan": "ipad-license",
            "quantity": 11,
            "description": "",
            "created_at": 1420391704
        }
    ],
    "discounts": [],
    "taxes": [],
    "url": "https://dundermifflin.invoiced.com/subscriptions/o2mAd2wWVfYy16XZto7xHwXX",
    "created_at": 1420391704,
    "metadata": {}
  },
  com.invoiced.entity.Subscription@73f93614 JSON: {...},
  com.invoiced.entity.Subscription@735f9514 JSON: {...}
]

This endpoint retrieves all subscriptions. Unless specified, this endpoint will only return subscriptions that have an upcoming renewal.

HTTP Request

GET /subscriptions

Query Parameters

Parameter Description
sort string Column to sort by, i.e. period_end asc
filter object Filter object
metadata object Metadata filter object
canceled boolean When true returns only canceled subscriptions
finished boolean When true returns only finished subscriptions

Metered Billing

Metered billing on Invoiced allows you to bill customers for charges that occur during a billing cycle outside of their ordinary subscription. These charges are called pending line items. A pending line item is a Line Item that has been attached to a customer, but not billed yet. Pending line items will be swept up by the next invoice that is triggered for the customer. This happens automatically with subscription invoices or when triggering an invoice manually.

Create a pending line item

curl "https://api.invoiced.com/customers/:customer_id/line_items" \
  -u {API_KEY}: \
  -d catalog_item="delivery"
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
customer.line_items.create(
  :catalog_item => "delivery"
)
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
$customer->lineItems()->create([
  'catalog_item' => "delivery"
]);
customer = client.Customer.retrieve("{CUSTOMER_ID}")
customer.line_items().create(
  catalog_item="delivery"
)
Customer customer = invoiced.newCustomer().retrieve({CUSTOMER_ID});
PendingLineItem pli = customer.newPendingLineItem();
pli.catalogItem = "delivery";
pli.create();

The above command returns JSON structured like this:

{
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
#<Invoiced::LineItem:0x3fdbf95e4d08 id=8> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
Invoiced\LineItem JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
<LineItem id=8 at 0x3fdbf95e4d08> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
com.invoiced.entity.PendingLineItem@754f2c43 JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "taxable": true,
}

Create a new pending line item with this endpoint.

HTTP Request

POST /customers/:customer_id/line_items

Attributes

Parameter Type Description
catalog_item string Optional Catalog Item ID. Fills the line item with the name and pricing of the Catalog Item.
type string Optional line item type. Used to group line items by type in reporting
name string Title
description string Optional description
quantity number Quantity
unit_cost number Unit cost or rate
discountable boolean Excludes amount from invoice discounts when false, defaults to `true
discounts array Line item Discounts
taxable boolean Excludes amount from invoice taxes when false, defaults to `true
taxes array Line item Taxes
metadata object A hash of key/value pairs that can store additional information about this object.

Retrieve a pending line item

curl "https://api.invoiced.com/customers/:customer_id/line_items/:id" \
  -u {API_KEY}:
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
line_item = customer.line_items.retrieve("{LINE_ITEM_ID}")
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
$lineItem = $customer->lineItems()->retrieve("{LINE_ITEM_ID}");
customer = client.Customer.retrieve("{CUSTOMER_ID}")
line_item = customer.line_items().retrieve("{LINE_ITEM_ID}")
Customer customer = invoiced.newCustomer().retrieve({CUSTOMER_ID});
PendingLineItem pli = customer.newPendingLineItem().retrieve({LINE_ITEM_ID});

The above command returns JSON structured like this:

{
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
#<Invoiced::LineItem:0x3fdbf95e4d08 id=8> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
Invoiced\LineItem JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
<LineItem id=8 at 0x3fdbf95e4d08> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
com.invoiced.entity.PendingLineItem@754f2c43 JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 1,
  "unit_cost": 10,
  "amount": 10,
  "discountable": true,
  "taxable": true,
}

This endpoint retrieves a specific pending line item.

HTTP Request

GET /customers/:customer_id/line_items/:id

Update a pending line item

curl "https://api.invoiced.com/customers/:customer_id/line_items/:id" \
  -u {API_KEY}: \
  -d quantity=2 \
  -X PATCH
line_item.quantity = 2
line_item.save
<?php

$lineItem->quantity = 2;
$lineItem->save();
line_item.quantity = 2
line_item.save()
PendingLineItem pli = customer.newPendingLineItem().retrieve({LINE_ITEM_ID});
pli.quantity = 2;
pli.save();

The above command returns JSON structured like this:

{
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 2,
  "unit_cost": 10,
  "amount": 20,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
#<Invoiced::LineItem:0x3fdbf95e4d08 id=8> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 2,
  "unit_cost": 10,
  "amount": 20,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
Invoiced\LineItem JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 2,
  "unit_cost": 10,
  "amount": 20,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
<LineItem id=8 at 0x3fdbf95e4d08> JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 2,
  "unit_cost": 10,
  "amount": 20,
  "discountable": true,
  "discounts": [],
  "taxable": true,
  "taxes": [],
  "metadata": {}
}
com.invoiced.entity.PendingLineItem@754f2c43 JSON: {
  "id": 8,
  "object": "line_item",
  "customer": 15444,
  "catalog_item": "delivery",
  "type": "service",
  "name": "Delivery",
  "description": null,
  "quantity": 2,
  "unit_cost": 10,
  "amount": 20,
  "discountable": true,
  "taxable": true
}

Use this endpoint to update a pending line item.

HTTP Request

PATCH /customers/:customer_id/line_items/:id

Request Parameters

Parameter Type Description
type string Optional line item type. Used to group line items by type in reporting
name string Title
description string Optional description
quantity number Quantity
unit_cost number Unit cost or rate
discountable boolean Excludes amount from invoice discounts when false, defaults to `true
discounts array Line item Discounts
taxable boolean Excludes amount from invoice taxes when false, defaults to `true
taxes array Line item Taxes
metadata object A hash of key/value pairs that can store additional information about this object.

Trigger an invoice

curl "https://api.invoiced.com/customers/:customer_id/invoices" \
  -u {API_KEY}: \
  -X POST
invoice = customer.invoice
<?php

$invoice = $customer->invoice();
invoice = customer.invoice()
Invoice invoice = customer.invoice();

The above command returns JSON structured like this:

{
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Invoice:0x3fdbf95e4d08 id=f45382c6fbc44d44aa7f9a55eb2ce731> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Invoice JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Invoice id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Invoice@3df85de JSON: {
  "id": 46225,
  "object": "invoice",
  "customer": 15444,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "not_sent",
  "chase": false,
  "next_chase_on": null,
  "autopay": false,
  "attempt_count": 0,
  "next_payment_attempt": null,
  "subscription": null,
  "number": "INV-0016",
  "date": 1416290400,
  "due_date": 1417500000,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY",
  "payment_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/payment",
  "pdf_url": "https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

This endpoint generates an invoice for a customer with its pending line items.

HTTP Request

POST /customers/:customer_id/invoices

Delete a pending line item

curl "https://api.invoiced.com/customers/:customer_id/line_items/:id" \
  -u {API_KEY}: \
  -X DELETE
line_item.delete
<?php

$lineItem->delete();
line_item.delete()
PendingLineItem pli = customer.newPendingLineItem().retrieve({LINE_ITEM_ID});
pli.delete();

The above command returns 204 No Content

This endpoint deletes a specific pending line item.

HTTP Request

DELETE /customers/:customer_id/line_items/:id

List all pending line items

curl "https://api.invoiced.com/customers/:customer_id/line_items" \
  -u {API_KEY}:
customer = invoiced.Customer.retrieve("{CUSTOMER_ID}")
line_items, metadata = customer.line_items.list(:per_page => 3)
<?php

$customer = $invoiced->Customer->retrieve("{CUSTOMER_ID}");
list($lineItems, $metadata) = $customer->lineItems()->all(['per_page' => 3]);
customer = client.Customer.retrieve("{CUSTOMER_ID}")
line_items, metadata = customer.line_items().list(per_page=3)
PendingLineItem pli = customer.newPendingLineItem();
EntityList<PendingLineItem> plis = pli.listAll();

The above command returns JSON structured like this:

[
  {
    "id": 8,
    "object": "line_item",
    "customer": 15444,
    "catalog_item": "delivery",
    "type": "service",
    "name": "Delivery",
    "description": null,
    "quantity": 1,
    "unit_cost": 10,
    "amount": 10,
    "discountable": true,
    "discounts": [],
    "taxable": true,
    "taxes": [],
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::LineItem:0x3fdbf95e4d08 id=8> JSON: {
    "id": 8,
    "object": "line_item",
    "customer": 15444,
    "catalog_item": "delivery",
    "type": "service",
    "name": "Delivery",
    "description": null,
    "quantity": 1,
    "unit_cost": 10,
    "amount": 10,
    "discountable": true,
    "discounts": [],
    "taxable": true,
    "taxes": [],
    "metadata": {}
  },
  #<Invoiced::LineItem:0x3fdbf95e4d09 id=9> JSON: { ... },
  #<Invoiced::LineItem:0x3fdbf95e4d10 id=10> JSON: { ... }
]
[
  Invoiced\LineItem JSON: {
    "id": 8,
    "object": "line_item",
    "customer": 15444,
    "catalog_item": "delivery",
    "type": "service",
    "name": "Delivery",
    "description": null,
    "quantity": 1,
    "unit_cost": 10,
    "amount": 10,
    "discountable": true,
    "discounts": [],
    "taxable": true,
    "taxes": [],
    "metadata": {}
  },
  Invoiced\LineItem JSON: { ... },
  Invoiced\LineItem JSON: { ... }
]
[
  <LineItem id=8 at 0x3fdbf95e4d08> JSON: {
    "id": 8,
    "object": "line_item",
    "customer": 15444,
    "catalog_item": "delivery",
    "type": "service",
    "name": "Delivery",
    "description": null,
    "quantity": 1,
    "unit_cost": 10,
    "amount": 10,
    "discountable": true,
    "discounts": [],
    "taxable": true,
    "taxes": [],
    "metadata": {}
  },
  <LineItem id=9 at 0x3fdbf95e4d08> JSON: { ... },
  <LineItem id=10 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.PendingLineItem@5dac2ea1 JSON: {
    "id": 8,
    "object": "line_item",
    "customer": 15444,
    "catalog_item": "delivery",
    "type": "service",
    "name": "Delivery",
    "quantity": 1.0,
    "amount": 10.0,
    "unit_cost": 10.0,
    "discountable": true,
    "taxable": true
  }, 
  com.invoiced.entity.PendingLineItem@4e7a0117 JSON: {...},
  com.invoiced.entity.PendingLineItem@4e7a01a7 JSON: {...}]

This endpoint retrieves all pending line items.

HTTP Request

GET /customers/:customer_id/line_items

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object
metadata object Metadata filter object

Payment Plans

Payment plans allow you to collect an invoice balance over multiple installments. You can learn more about payment plans in our Payment Plans Guide.

Payment Plan Object

Describes and tracks the status of a payment plan.

Attributes

{
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
#<Invoiced::PaymentPlan:0x3fdbf95e4d08 id=6> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
Invoiced\PaymentPlan JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
<PaymentPlan id=6 at 0x3fdbf95e4d08> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
com.invoiced.entity.PaymentPlan@754f2c43 JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
Parameter Type Description
id integer The payment plan’s unique ID
object string Object type, payment_plan
status string Payment plan state, one of pending_signup, active, finished, canceled
installments array Payment plan installments
approval object Payment plan approval, if approved
created_at timestamp Timestamp when created

Create a payment plan

curl "https://api.invoiced.com/invoices/:invoice_id/payment_plan" \
  -u {API_KEY}: \
  -X PUT \
  -d installments[0][date]=1480572000 \
  -d installments[0][amount]=500 \
  -d installments[1][date]=1481176800 \
  -d installments[1][amount]=500 \
  -d installments[2][date]=1481781600 \
  -d installments[2][amount]=500 \
  -d installments[3][date]=1480572000 \
  -d installments[3][amount]=500
invoice = invoiced.Invoice.retrieve("{INVOICE_ID}")
payment_plan = invoice.payment_plan.create(
  :installments => [
    {
      :date => 1480572000,
      :amount => 500
    },
    {
      :date => 1481176800,
      :amount => 500
    },
    {
      :date => 1481781600,
      :amount => 500
    },
    {
      :date => 1480572000,
      :amount => 500
    }
  ]
)
<?php

$invoice = $invoiced->Invoice->retrieve("{INVOICE_ID}");
$paymentPlan = $invoice->paymentPlan()->create([
  'installments' => [
    [
      'date' => 1480572000,
      'amount' => 500
    ],
    [
      'date' => 1481176800,
      'amount' => 500
    ],
    [
      'date' => 1481781600,
      'amount' => 500
    ],
    [
      'date' => 1480572000,
      'amount' => 500
    ]
  ]
]);
invoice = client.Invoice.retrieve("{INVOICE_ID}")
payment_plan = invoice.payment_plan().create(
  installments=[
    {
      'date': 1480572000,
      'amount': 500
    },
    {
      'date': 1481176800,
      'amount': 500
    },
    {
      'date': 1481781600,
      'amount': 500
    },
    {
      'date': 1480572000,
      'amount': 500
    }
  ]
)
Invoice invoice = invoiced.newInvoice().retrieve({INVOICE_ID});
PaymentPlan paymentPlan = invoice.newPaymentPlan();
PaymentPlanInstallment[] installments = new PaymentPlanInstallment[4];
installments[0] = new PaymentPlanInstallment();
installments[0].date = 1480572000L;
installments[0].amount = 500D;
installments[1] = new PaymentPlanInstallment();
installments[1].date = 1481176800L;
installments[1].amount = 500D;
installments[2] = new PaymentPlanInstallment();
installments[2].date = 1481781600L;
installments[2].amount = 500D;
installments[3] = new PaymentPlanInstallment();
installments[3].date = 1480572000L;
installments[3].amount = 500D;
paymentPlan.installments = installments;
paymentPlan.create();

The above command returns JSON structured like this:

{
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
#<Invoiced::PaymentPlan:0x3fdbf95e4d08 id=6> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
Invoiced\PaymentPlan JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
<PaymentPlan id=6 at 0x3fdbf95e4d08> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
com.invoiced.entity.PaymentPlan@754f2c43 JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}

HTTP Request

PUT /invoices/:id/payment_plan

Attributes

Parameter Type Description
installments array Payment plan installments

Retrieve a payment plan

curl "https://api.invoiced.com/invoices/:invoice_id/payment_plan" \
  -u {API_KEY}:
invoice = invoiced.Invoice.retrieve("{INVOICE_ID}")
payment_plan = invoice.payment_plan.retrieve()
<?php

$invoice = $invoiced->Invoice->retrieve("{INVOICE_ID}");
$paymentPlan = $invoice->paymentPlan()->get();
invoice = client.Invoice.retrieve("{INVOICE_ID}")
payment_plan = invoice.payment_plan().retrieve()
Invoice invoice = invoiced.newInvoice().retrieve({INVOICE_ID});
PaymentPlan paymentPlan = invoice.newPaymentPlan().retrieve();

The above command returns JSON structured like this:

{
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
#<Invoiced::PaymentPlan:0x3fdbf95e4d08 id=6> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
Invoiced\PaymentPlan JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
<PaymentPlan id=6 at 0x3fdbf95e4d08> JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}
com.invoiced.entity.PaymentPlan@754f2c43 JSON: {
    "id": 6,
    "object": "payment_plan",
    "status": "active",
    "installments": [
        {
            "id": 23,
            "date": 1480572000,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 24,
            "date": 1481176800,
            "amount": 500,
            "balance": 500
        },
        {
            "id": 25,
            "date": 1481781600,
            "amount": 500,
            "balance": 500,
        },
        {
            "id": 26,
            "date": 1482386400,
            "amount": 500,
            "balance": 500
        }
    ],
    "approval": {
        "id": 12,
        "ip": "217.15.151.36",
        "timestamp": 1479827803,
        "user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko\/20100101 Firefox
\/50.0"
    },
    "created_at": 1479827791
}

This endpoint retrieves the payment plan for a given invoice.

HTTP Request

GET /invoices/:id/payment_plan

Cancel a payment plan

curl "https://api.invoiced.com/invoices/:invoice_id/payment_plan" \
  -u {API_KEY}: \
  -X DELETE
payment_plan.cancel
<?php

$paymentPlan->cancel();
payment_plan.cancel()
paymentPlan.cancel();

The above command returns 204 No Content

This endpoint cancels an active payment plan.

HTTP Request

DELETE /invoices/:id/payment_plan

Credit Notes

A credit note represents a balance you owe to a Customer. Like invoices, each credit note has a collection of line items that detail the products or services that are being credited to the customer. You can think of credit notes as negative invoices, however, all of the amounts should be positive.

Credit notes must be issued against an existing invoice. The credit note will be applied to the balance on the invoice first. Any remaining balance should be credited to the customer.

Credit notes with a balance can be marked as paid by issuing a credit for the credit note using Transactions. Once the sum of all transactions for a credit note is greater than or equal to the total then the credit note will be considered paid in full.

Credit Note Object

Attributes

{
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::CreditNote:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\CreditNote JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<CreditNote id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.CreditNote@e48fa2a JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Parameter Type Description
id integer The credit note’s unique ID
object string Object type, credit_note
customer integer Customer ID
invoice integer Invoice ID
name string Credit note name for internal use, defaults to “Credit Note”
number string The reference number assigned to the credit note for use in the dashboard
currency string 3-letter ISO code
draft boolean When false, the credit note is considered outstanding, or when true, the credit note is a draft
closed boolean When true, a credit note is closed and considered bad debt. No further payments are allowed.
paid boolean Indicates whether a credit note has been paid in full
status string Credit note state, one of draft, open, paid, closed
date timestamp Credit note date
items array Collection of Line Items
notes string Additional notes displayed on credit note
subtotal number Subtotal
discounts array Collection of Discounts
taxes array Collection of Taxes
total number Total
balance number Balance owed
url string URL to view the credit note in the billing portal
pdf_url string URL to download the credit note as a PDF
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Create a credit note

curl "https://api.invoiced.com/credit_notes" \
  -u {API_KEY}: \
  -d customer=15444 \
  -d invoice=46225 \
  -d items[0][name]="Copy paper, Case" \
  -d items[0][quantity]=1 \
  -d items[0][unit_cost]=45 \
  -d items[1][catalog_item]="delivery" \
  -d items[1][quantity]=1 \
  -d taxes[0][amount]=3.85
invoiced.CreditNote.create(
  :customer => 15444,
  :invoice => 46225,
  :items => [
    {
      :name => "Copy paper, Case",
      :quantity => 1,
      :unit_cost => 45
    },
    {
      :catalog_item => "delivery",
      :quantity => 1
    }
  ],
  :taxes => [
    {
      :amount => 3.85
    }
  ]
)
<?php

$creditNote = $invoiced->CreditNote->create([
  'customer' => 15444,
  'invoice' => 46225,
  'items' => [
    [
      'name' => "Copy paper, Case",
      'quantity' => 1,
      'unit_cost' => 45
    ],
    [
      'catalog_item' => "delivery",
      'quantity' => 1
    ]
  ],
  'taxes' => [
    [
      'amount' => 3.85
    ]
  ]
]);
client.CreditNote.create(
  customer=15444,
  invoice=46225,
  items=[
    {
      'name': "Copy paper, Case",
      'quantity': 1,
      'unit_cost': 45
    },
    {
      'catalog_item': "delivery",
      'quantity': 1
    }
  ],
  taxes=[
    {
      'amount': 3.85
    }
  ]
)
CreditNote creditNote = invoiced.newCreditNote();
creditNote.customer = 15444L;
creditNote.invoice = 46225L;
LineItem[] items = new LineItem[2];
items[0] = new LineItem();
items[0].name = "Copy paper, Case";
items[0].quantity = 1D;
items[0].unitCost = 45D;
items[1] = new LineItem();
items[1].catalogItem = "delivery";
items[1].quantity = 1D;
Tax[] taxes = new Tax[1];
taxes[0] = new Tax();
taxes[0].amount = 3.85D;
creditNote.items = items;
creditNote.taxes = taxes;
creditNote.create();

The above command returns JSON structured like this:

{
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::CreditNote:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\CreditNote JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<CreditNote id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.CreditNote@e48fa2a JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

Create a new credit note with this endpoint.

HTTP Request

POST /credit_notes

Attributes

Parameter Type Description
customer integer Customer ID - required
invoice integer Invoice ID
name string Credit note name for internal use, defaults to “Credit Note”
number string The reference number assigned to the credit note, defaults to next # in auto-numbering sequence
currency string 3-letter ISO code - defaults to account currency
date timestamp Credit note date - defaults to current timestamp
draft boolean When false, the credit note is considered outstanding, or when true, the credit note is a draft
closed boolean Marks a credit note as closed
items array Collection of Line Items
notes string Additional notes displayed on credit note
discounts array Collection of Discounts
taxes array Collection of Taxes
metadata object A hash of key/value pairs that can store additional information about this object.
attachments array A list of File IDs to attach to the credit note

Retrieve a credit note

curl "https://api.invoiced.com/credit_notes/:id" \
  -u {API_KEY}:
creditNote = invoiced.CreditNote.retrieve("{CNOICE_ID}")
<?php

$creditNote = $invoiced->CreditNote->retrieve("{CNOICE_ID}");
creditNote = client.CreditNote.retrieve("{CNOICE_ID}")
CreditNote creditNote = invoiced.newCreditNote().retrieve({CNOICE_ID});

The above command returns JSON structured like this:

{
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::CreditNote:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\CreditNote JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<CreditNote id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.CreditNote@e48fa2a JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "open",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

This endpoint retrieves a specific credit note.

HTTP Request

GET /credit_notes/:id

Query Parameters

Parameter Type Description
expand string Properties to expand

Update a credit note

curl "https://api.invoiced.com/credit_notes/:id" \
  -u {API_KEY}: \
  -X PATCH \
  -d sent=1 \
  -d chase=1
creditNote.name = "July Paper Delivery"
creditNote.notes = "The order was delivered on Jul 20, 2015"
creditNote.sent = true
creditNote.save
<?php

$creditNote->name = "July Paper Delivery";
$creditNote->notes = "The order was delivered on Jul 20, 2015";
$creditNote->sent = true;
$creditNote->save();
creditNote.name = "July Paper Delivery"
creditNote.notes = "The order was delivered on Jul 20, 2015"
creditNote.sent = True
creditNote.save()
creditNote.name =  "July Paper Delivery";
creditNote.notes = "The order was delivered on Jul 20, 2015";
creditNote.sent = true;
creditNote.save();

The above command returns JSON structured like this:

{
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::CreditNote:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\CreditNote JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<CreditNote id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.CreditNote@e48fa2a JSON: {
  "id": 2048,
  "object": "credit_note",
  "customer": 15444,
  "invoice": 46225,
  "name": "July Paper Delivery",
  "currency": "usd",
  "draft": false,
  "closed": false,
  "paid": false,
  "status": "sent",
  "number": "CN-0016",
  "date": 1416290400,
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": "The order was delivered on Jul 20, 2015",
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "balance": 51.15,
  "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

Use this endpoint to update a credit note.

HTTP Request

PATCH /credit_notes/:id

Attributes

Parameter Type Description
name string Credit note name for internal use, defaults to “Credit Note”
number string The reference number assigned to the credit note, defaults to next # in auto-numbering sequence
currency string 3-letter ISO code - defaults to account currency
date timestamp Credit note date - defaults to current timestamp
draft boolean When false, the credit note is considered outstanding, or when true, the invoice is a draft
closed boolean Marks a credit note as closed
items array Collection of Line Items
notes string Additional notes displayed on credit note
discounts array Collection of Discounts
taxes array Collection of Taxes
metadata object A hash of key/value pairs that can store additional information about this object.
attachments array A list of File IDs to attach to the credit note. Replaces existing attachments. Not providing this keeps existing attachments.

Send a credit note

curl "https://api.invoiced.com/credit_notes/:id/emails" \
  -u {API_KEY}: \
  -X POST
emails = creditNote.send
<?php

$emails = $creditNote->send();
emails = creditNote.send()
EmailRequest emailRequest = new EmailRequest();
EmailRecipient[] emailRecipients = new EmailRecipient[1];
emailRecipients[0] = new EmailRecipient();
emailRecipients[0].name = "Client";
emailRecipients[0].email = "client@example.com";

emailRequest.to = emailRecipients;
emailRequest.subject = "New Credit Note from Dunder Mifflin, Inc.: CN-0016";
emailRequest.message = "Dear Client, a new credite note for $51.15 has been created on your account. Thank you!";

Email[] emails = creditNote.send(emailRequest);

The above command returns JSON structured like this:

[
  {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "credit_note_email",
    "subject": "New Credit Note from Dunder Mifflin, Inc.: CN-0016",
    "message": "Dear Client, a new credit note for $51.15 has been created on your account. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  { ... },
  { ... }
]
[
  #<Invoiced::Email:0x3fdbf95e4d08 id=f45382c6fbc44d44aa7f9a55eb2ce731> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "credit_note_email",
    "subject": "New Credit Note from Dunder Mifflin, Inc.: CN-0016",
    "message": "Dear Client, a new credit note for $51.15 has been created on your account. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  #<Invoiced::Email:0x3fdasdf95e09 id=a0s36fbc44d44aa7f9a55easdfi8ce731> JSON: { ... },
  #<Invoiced::Email:0x3fdbffge4d10 id=s90f2c6fbc44sdfj8aa7f9a55eb2ce731> JSON: { ... }
]
[
  Invoiced\Email JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "credit_note_email",
    "subject": "New Credit Note from Dunder Mifflin, Inc.: CN-0016",
    "message": "Dear Client, a new credit note for $51.15 has been created on your account. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  Invoiced\Email JSON: { ... },
  Invoiced\Email JSON: { ... }
]
[
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "credit_note_email",
    "subject": "New Credit Note from Dunder Mifflin, Inc.: CN-0016",
    "message": "Dear Client, a new credit note for $51.15 has been created on your account. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: { ... },
  <Email id=f45382c6fbc44d44aa7f9a55eb2ce731 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.Email@2ce1cfd8 JSON: {
    "id": "f45382c6fbc44d44aa7f9a55eb2ce731",
    "object": "email",
    "state": "sent",
    "reject_reason": null,
    "email": "client@example.com",
    "template": "credit_note_email",
    "subject": "New Credit Note from Dunder Mifflin, Inc.: CN-0016",
    "message": "Dear Client, a new credit note for $51.15 has been created on your account. Thank you!",
    "opens": 0,
    "opens_detail": [],
    "created_at": 1436890047
  },
  com.invoiced.entity.Email@3ce1cfd8 JSON: {...},
  com.invoiced.entity.Email@4ce1cfd8 JSON: {...}
]

This endpoint sends a credit note to your customer.

HTTP Request

POST /credit_notes/:id/emails

Request Parameters

Parameter Type Description
to array Optional array of recipients like:
[{"name": "Client", "email": "client@example.com"}]
bcc string Optional comma-separated list of email addresses to be blind carbon copied
subject string Optional subject
message string Optional message body, otherwise the appropriate credit note template is used

List credit note attachments

curl "https://api.invoiced.com/credit_notes/:id/attachments" \
  -u {API_KEY}:
attachments, metadata = creditNote.attachments
<?php

list($attachments, $metadata) = $creditNote->attachments();
attachments, metadata = creditNote.attachments()
Attachment[] attachments = creditNote.listAttachments();

The above command returns JSON structured like this:

[
  {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625855
    },
    "created_at": 1464625855
  }
]
[
  #<Invoiced::Attachment:0x3ff10dd39db4 id=13> JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625855
    },
    "created_at": 1464625855
  }
]
[
  Invoiced\Attachment JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625855
    },
    "created_at": 1464625855
  }
]
[
  <Attachment id=13 at 0x3ff10dd39db4> JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625855
    },
    "created_at": 1464625855
  }
]
[
  com.invoiced.entity.Attachment@1759eafd JSON: {
    "id": 13,
    "object": "attachment",
    "file": {
      "id": 13,
      "object": "file",
      "name": "logo-invoice.png",
      "size": 6936,
      "type": "image/png",
      "url": "https://invoiced.com/img/logo-invoice.png",
      "created_at": 1464625855
    },
    "created_at": 1464625855
  },
  com.invoiced.entity.Attachment@1759eafd JSON: {...},
  com.invoiced.entity.Attachment@1759eafd JSON: {...}
]

This endpoint retrieves a list of files attached to a specific credit note.

HTTP Request

GET /credit_notes/:id/attachments

Delete a credit note

curl "https://api.invoiced.com/credit_notes/:id" \
  -u {API_KEY}: \
  -X DELETE
creditNote.delete
<?php

$creditNote->delete();
creditNote.delete()
creditNote.delete();

The above command returns 204 No Content

This endpoint deletes a specific credit note.

HTTP Request

DELETE /credit_notes/:id

List all credit notes

curl "https://api.invoiced.com/credit_notes" \
  -u {API_KEY}:
creditNotes, metadata = invoiced.CreditNote.list(:per_page => 3)
<?php

list($creditNotes, $metadata) = $invoiced->CreditNote->all(['per_page' => 3]);
creditNotes, metadata = invoiced.CreditNote.list(per_page=3)
EntityList<CreditNote> creditNotes = conn.newCreditNote().listAll();

The above command returns JSON structured like this:

[
  {
    "id": 2048,
    "object": "credit_note",
    "customer": 15444,
    "invoice": 46225,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "open",
    "number": "CN-0016",
    "date": 1416290400,
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  { ... },
  { ... }
]
[
  #<Invoiced::CreditNote:0x3fdbf95e4d08 id=2048> JSON: {
    "id": 2048,
    "object": "credit_note",
    "customer": 15444,
    "invoice": 46225,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "open",
    "number": "CN-0016",
    "date": 1416290400,
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  #<Invoiced::CreditNote:0x3fdbf95e4d09 id=15445> JSON: { ... },
  #<Invoiced::CreditNote:0x3fdbf95e4d10 id=15446> JSON: { ... }
]
[
  Invoiced\CreditNote JSON: {
    "id": 2048,
    "object": "credit_note",
    "customer": 15444,
    "invoice": 46225,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "open",
    "number": "CN-0016",
    "date": 1416290400,
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  Invoiced\CreditNote JSON: { ... },
  Invoiced\CreditNote JSON: { ... }
]
[
  <CreditNote id=2048 at 0x3fdbf95e4d08> JSON: {
    "id": 2048,
    "object": "credit_note",
    "customer": 15444,
    "invoice": 46225,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "open",
    "number": "CN-0016",
    "date": 1416290400,
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  },
  <CreditNote id=15445 at 0x3fdbf95e4d08> JSON: { ... },
  <CreditNote id=15446 at 0x3fdbf95e4d08> JSON: { ... }
]
[
  com.invoiced.entity.CreditNote@c509a57 JSON: {
    "id": 2048,
    "object": "credit_note",
    "customer": 15444,
    "invoice": 46225,
    "name": null,
    "currency": "usd",
    "draft": false,
    "closed": false,
    "paid": false,
    "status": "open",
    "number": "CN-0016",
    "date": 1416290400,
    "items": [
      {
        "id": 7,
        "object": "line_item",
        "catalog_item": null,
        "type": "product",
        "name": "Copy Paper, Case",
        "description": null,
        "quantity": 1,
        "unit_cost": 45,
        "amount": 45,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      },
      {
        "id": 8,
        "object": "line_item",
        "catalog_item": "delivery",
        "type": "service",
        "name": "Delivery",
        "description": null,
        "quantity": 1,
        "unit_cost": 10,
        "amount": 10,
        "discountable": true,
        "discounts": [],
        "taxable": true,
        "taxes": [],
        "metadata": {}
      }
    ],
    "notes": null,
    "subtotal": 55,
    "discounts": [],
    "taxes": [
      {
        "id": 20554,
        "object": "tax",
        "amount": 3.85,
        "tax_rate": null
      }
    ],
    "total": 51.15,
    "balance": 51.15,
    "url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY",
    "pdf_url": "https://dundermifflin.invoiced.com/credit_notes/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
    "created_at": 1415229884,
    "metadata": {}
  }, 
  com.invoiced.entity.CreditNote@20301171 JSON: {...},
  com.invoiced.entity.CreditNote@30301171 JSON: {...}
]

This endpoint retrieves all credit notes.

HTTP Request

GET /credit_notes

Query Parameters

Parameter Description
sort string Column to sort by, i.e. name asc
filter object Filter object
metadata object Metadata filter object
start_date timestamp Restricts the results to credit notes on or after the given timestamp
end_date timestamp Restricts the results to credit notes on or before the given timestamp

Estimates

An estimate provides a quote to a Customer. Like invoices, each estimate has a collection of line items that detail the products or services. Estimates, unlike invoices, do not have a balance owed until converted to an invoice.

Estimate Object

Attributes

{
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Estimate:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Estimate JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Estimate id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Estimate@e48fa2a JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Parameter Type Description
id integer The estimate’s unique ID
object string Object type, estimate
customer integer Customer ID
invoice integer Invoice ID
name string Estimate name for internal use, defaults to “Estimate”
number string The reference number assigned to the estimate for use in the dashboard
currency string 3-letter ISO code
draft boolean When false, the estimate is considered outstanding, or when true, the estimate is a draft
closed boolean When true, an estimate is closed and considered bad debt. No further payments are allowed.
status string Estimate state, one of draft, not_sent, sent, approved, invoiced, declined
date timestamp Estimate date
payment_terms string Payment terms for the estimate, i.e. “NET 30”
items array Collection of Line Items
notes string Additional notes displayed on estimate
subtotal number Subtotal
discounts array Collection of Discounts
taxes array Collection of Taxes
total number Total
deposit number Up-front deposit required
deposit_paid bool Indicates whether the deposit has been paid in full
url string URL to view the estimate in the billing portal
pdf_url string URL to download the estimate as a PDF
created_at timestamp Timestamp when created
metadata object A hash of key/value pairs that can store additional information about this object.

Create an estimate

curl "https://api.invoiced.com/estimates" \
  -u {API_KEY}: \
  -d customer=15444 \
  -d payment_terms="NET 14" \
  -d items[0][name]="Copy paper, Case" \
  -d items[0][quantity]=1 \
  -d items[0][unit_cost]=45 \
  -d items[1][catalog_item]="delivery" \
  -d items[1][quantity]=1 \
  -d taxes[0][amount]=3.85
invoiced.Estimate.create(
  :customer => 15444,
  :payment_terms => "NET 14",
  :items => [
    {
      :name => "Copy paper, Case",
      :quantity => 1,
      :unit_cost => 45
    },
    {
      :catalog_item => "delivery",
      :quantity => 1
    }
  ],
  :taxes => [
    {
      :amount => 3.85
    }
  ]
)
<?php

$estimate = $invoiced->Estimate->create([
  'customer' => 15444,
  'payment_terms' => "NET 14",
  'items' => [
    [
      'name' => "Copy paper, Case",
      'quantity' => 1,
      'unit_cost' => 45
    ],
    [
      'catalog_item' => "delivery",
      'quantity' => 1
    ]
  ],
  'taxes' => [
    [
      'amount' => 3.85
    ]
  ]
]);
client.Estimate.create(
  customer=15444,
  payment_terms="NET 14",
  items=[
    {
      'name': "Copy paper, Case",
      'quantity': 1,
      'unit_cost': 45
    },
    {
      'catalog_item': "delivery",
      'quantity': 1
    }
  ],
  taxes=[
    {
      'amount': 3.85
    }
  ]
)
Estimate estimate = invoiced.newEstimate();
estimate.customer = 15444L;
estimate.paymentTerms = "NET 14";
LineItem[] items = new LineItem[2];
items[0] = new LineItem();
items[0].name = "Copy paper, Case";
items[0].quantity = 1D;
items[0].unitCost = 45D;
items[1] = new LineItem();
items[1].catalogItem = "delivery";
items[1].quantity = 1D;
Tax[] taxes = new Tax[1];
taxes[0] = new Tax();
taxes[0].amount = 3.85D;
estimate.items = items;
estimate.taxes = taxes;
estimate.create();

The above command returns JSON structured like this:

{
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
#<Invoiced::Estimate:0x3fdbf95e4d08 id=2048> JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
Invoiced\Estimate JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
<Estimate id=2048 at 0x3fdbf95e4d08> JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}
com.invoiced.entity.Estimate@e48fa2a JSON: {
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY/pdf",
  "created_at": 1415229884,
  "metadata": {}
}

Create a new estimate with this endpoint.

HTTP Request

POST /estimates

Attributes

Parameter Type Description
customer integer Customer ID - required
invoice integer Invoice ID
name string Estimate name for internal use, defaults to “Estimate”
number string The reference number assigned to the estimate, defaults to next # in auto-numbering sequence
currency string 3-letter ISO code - defaults to account currency
date timestamp Estimate date - defaults to current timestamp
payment_terms string Payment terms for the estimate, i.e. “NET 30”
draft boolean When false, the estimate is considered outstanding, or when true, the estimate is a draft
closed boolean Marks an estimate as closed
items array Collection of Line Items
notes string Additional notes displayed on estimate
discounts array Collection of Discounts
taxes array Collection of Taxes
deposit number Up-front deposit required
deposit_paid bool Indicates whether the deposit has been paid in full
metadata object A hash of key/value pairs that can store additional information about this object.
attachments array A list of File IDs to attach to the estimate
disabled_payment_methods array List of payment methods to disable for this estimate, i.e. ["credit_card", "wire_transfer"].

Retrieve an estimate

curl "https://api.invoiced.com/estimates/:id" \
  -u {API_KEY}:
estimate = invoiced.Estimate.retrieve("{ESTOICE_ID}")
<?php

$estimate = $invoiced->Estimate->retrieve("{ESTOICE_ID}");
estimate = client.Estimate.retrieve("{ESTOICE_ID}")
Estimate estimate = invoiced.newEstimate().retrieve({ESTOICE_ID});

The above command returns JSON structured like this:

{
  "id": 2048,
  "object": "estimate",
  "customer": 15444,
  "invoice": null,
  "name": null,
  "currency": "usd",
  "draft": false,
  "closed": false,
  "status": "not_sent",
  "number": "EST-0016",
  "date": 1416290400,
  "payment_terms": "NET 14",
  "items": [
    {
      "id": 7,
      "object": "line_item",
      "catalog_item": null,
      "type": "product",
      "name": "Copy Paper, Case",
      "description": null,
      "quantity": 1,
      "unit_cost": 45,
      "amount": 45,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    },
    {
      "id": 8,
      "object": "line_item",
      "catalog_item": "delivery",
      "type": "service",
      "name": "Delivery",
      "description": null,
      "quantity": 1,
      "unit_cost": 10,
      "amount": 10,
      "discountable": true,
      "discounts": [],
      "taxable": true,
      "taxes": [],
      "metadata": {}
    }
  ],
  "notes": null,
  "subtotal": 55,
  "discounts": [],
  "taxes": [
    {
      "id": 20554,
      "object": "tax",
      "amount": 3.85,
      "tax_rate": null
    }
  ],
  "total": 51.15,
  "deposit": 0,
  "deposit_paid": false,
  "url": "https://dundermifflin.invoiced.com/estimates/IZmXbVOPyvfD3GPBmyd6FwXY",
  "pdf_url": "https://dundermifflin.invoiced.