Skip to content

InvoiceXpress API (2.0.0)

Endpoints for managing Accounts, Invoices, Estimates, and organization data in InvoiceXpress.

Welcome to our API v2 in JSON

If you're reading this, let me guess, you need to issue invoices but don't want to lose focus from building a great solution and writing amazing code. Did we cover your scenario? Ok, great. Let's do this.

Quick Start

  1. Sign up FREE for 30 days
  2. Get your API key
  3. Create an Invoice

Download OpenAPI description
Overview
InvoiceXpress API Support
Languages
Servers
Mock server
https://docs.invoicexpress.com/_mock/
Production Server
https://{account_name}.app.invoicexpress.com/

Accounts

Create, update and get info about your account.

Operations

Invoices

Create invoices, invoice receipts, simplified invoices, vat moss invoices, credit notes & debit notes and send them to your clients.

Operations

Estimates

Create quotes, proformas or fees notes and send them to your clients.

Operations

Guides

Create shippings, transports & devolutions and send them to your clients.

Operations

Sequences

A Sequence is used to group invoices in a sequential order.

Operations

Taxes

A Tax is applied to invoice items when creating invoices.

Operations

SAF-T

Export the Standard Audit File for Tax (SAF-T PT) required by the Portuguese Tax Authority.

Operations

Clients

A Client is an entity you send invoices to.

Operations

List All Clients

Request

Returns a list of all your clients.

Security
apiKeyAuth
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
pageinteger

You can ask for a specific page of results. Defaults to 1.

Example: page=1
per_pageinteger

You can specify how many results you want to fetch. Defaults to 10 or value defined in account settings (10, 20 or 30).

Example: per_page=30
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/clients.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE&page=1&per_page=30'

Responses

SUCCESS

Bodyapplication/json
clientsArray of objects
paginationobject
Response
application/json
{ "clients": [ {} ], "pagination": { "total_entries": 6, "current_page": 1, "total_pages": 1, "per_page": 10 } }

Create Client

Request

Creates a new client.

Security
apiKeyAuth
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
clientobjectrequired
client.​namestringrequired
Example: "Client Name"
client.​codestringrequired
Example: "12345"
client.​emailstring
Example: "foo@bar.com"
client.​languagestring
Enum"en""pt""es"
Example: "pt"
client.​addressstring
Example: "Avenida da República, Lisboa"
client.​citystring
Example: "Lisboa"
client.​postal_codestring
Example: "1050-555"
client.​countrystring
Example: "Portugal"
client.​fiscal_idstring
Example: "508025338"
client.​websitestring
Example: "www.invoicexpress.com"
client.​phonestring
Example: "213456789"
client.​faxstring
Example: "213456788"
client.​preferred_contactobject

The preferred contact details.

client.​observationsstring
Example: "Observations"
client.​send_optionsstring
Enum"1""2""3"
Example: "1"
curl -i -X POST \
  'https://docs.invoicexpress.com/_mock/clients.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "client": {
      "name": "Client Name",
      "code": "12345",
      "email": "foo@bar.com",
      "language": "pt",
      "address": "Avenida da República, Lisboa",
      "city": "Lisboa",
      "postal_code": "1050-555",
      "country": "Portugal",
      "fiscal_id": "508025338",
      "website": "www.invoicexpress.com",
      "phone": "213456789",
      "fax": "213456788",
      "preferred_contact": {
        "name": "Bruce Norris",
        "email": "email@invoicexpress.com",
        "phone": "213456789"
      },
      "observations": "Observations",
      "send_options": "1"
    }
  }'

Responses

SUCCESS

Bodyapplication/json
clientobject
Response
application/json
{ "client": { "id": "1", "name": "Ricardo Pereira", "email": "someone@example.com", "address": "Lisbon", "city": "Lisbon", "postal_code": "1750-455", "fiscal_id": "508025338", "website": "www.invoicexpress.com", "country": "Portugal", "phone": "2313423424", "fax": "2313423425", "preferred_contact": {}, "observations": "Computer Processed", "open_account_link": "https://www.app.invoicexpress.com/suppliers/1f7bba947948c50e04af20d329db5bc67c38cf89", "send_options": "1", "payment_days": "0", "tax_exemption_code": "M00" } }

Get Client

Request

Returns a specific client.

Security
apiKeyAuth
Path
client_idstringrequired

ID of the client.

Example: 12345
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/clients/12345.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE'

Responses

SUCCESS.

Bodyapplication/json
clientobject
Response
application/json
{ "client": { "id": "1", "name": "Ricardo Pereira", "email": "someone@example.com", "address": "Lisbon", "city": "Lisbon", "postal_code": "1750-455", "fiscal_id": "508025338", "website": "www.invoicexpress.com", "country": "Portugal", "phone": "2313423424", "fax": "2313423425", "preferred_contact": {}, "observations": "Computer Processed", "open_account_link": "https://www.app.invoicexpress.com/suppliers/1f7bba947948c50e04af20d329db5bc67c38cf89", "send_options": "1", "payment_days": "0", "tax_exemption_code": "M00" } }

Update Client

Request

Updates a client.

Security
apiKeyAuth
Path
client_idstringrequired

ID of the client.

Example: 12345
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
clientobjectrequired
client.​namestringrequired
Example: "Client Name"
client.​codestringrequired
Example: "12345"
client.​emailstring
Example: "foo@bar.com"
client.​languagestring
Enum"en""pt""es"
Example: "pt"
client.​addressstring
Example: "Avenida da República, Lisboa"
client.​citystring
Example: "Lisboa"
client.​postal_codestring
Example: "1050-555"
client.​countrystring
Example: "Portugal"
client.​fiscal_idstring
Example: "508025338"
client.​websitestring
Example: "www.invoicexpress.com"
client.​phonestring
Example: "213456789"
client.​faxstring
Example: "213456788"
client.​preferred_contactobject

The preferred contact details.

client.​observationsstring
Example: "Observations"
client.​send_optionsstring
Enum"1""2""3"
Example: "1"
curl -i -X PUT \
  'https://docs.invoicexpress.com/_mock/clients/12345.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "client": {
      "name": "Client Name",
      "code": "12345",
      "email": "foo@bar.com",
      "language": "pt",
      "address": "Avenida da República, Lisboa",
      "city": "Lisboa",
      "postal_code": "1050-555",
      "country": "Portugal",
      "fiscal_id": "508025338",
      "website": "www.invoicexpress.com",
      "phone": "213456789",
      "fax": "213456788",
      "preferred_contact": {
        "name": "Bruce Norris",
        "email": "email@invoicexpress.com",
        "phone": "213456789"
      },
      "observations": "Observations",
      "send_options": "1"
    }
  }'

Responses

SUCCESS

Response
No content

Find Client by Name

Request

Returns a specific client.

Security
apiKeyAuth
Query
client_namestringrequired

The client name you want to search. Warning: partial search is not supported.

Example: client_name=foo
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/clients/find-by-name.json?client_name=foo&api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE'

Responses

SUCCESS.

Bodyapplication/json
clientobject
Response
application/json
{ "client": { "id": "1", "name": "Ricardo Pereira", "email": "someone@example.com", "address": "Lisbon", "city": "Lisbon", "postal_code": "1750-455", "fiscal_id": "508025338", "website": "www.invoicexpress.com", "country": "Portugal", "phone": "2313423424", "fax": "2313423425", "preferred_contact": {}, "observations": "Computer Processed", "open_account_link": "https://www.app.invoicexpress.com/suppliers/1f7bba947948c50e04af20d329db5bc67c38cf89", "send_options": "1", "payment_days": "0", "tax_exemption_code": "M00" } }

Find Client by Code

Request

Returns a specific client.

Security
apiKeyAuth
Query
client_codestringrequired

The client code you want to search.

Example: client_code=foo
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/clients/find-by-code.json?client_code=foo&api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE'

Responses

SUCCESS.

Bodyapplication/json
clientobject
Response
application/json
{ "client": { "id": "1", "name": "Ricardo Pereira", "email": "someone@example.com", "address": "Lisbon", "city": "Lisbon", "postal_code": "1750-455", "fiscal_id": "508025338", "website": "www.invoicexpress.com", "country": "Portugal", "phone": "2313423424", "fax": "2313423425", "preferred_contact": {}, "observations": "Computer Processed", "open_account_link": "https://www.app.invoicexpress.com/suppliers/1f7bba947948c50e04af20d329db5bc67c38cf89", "send_options": "1", "payment_days": "0", "tax_exemption_code": "M00" } }

List Client Invoices

Request

This method allows you to obtain the invoices for a specific client. You can filter the results by document status, type and if it’s archived or not.

Security
apiKeyAuth
Path
client_idintegerrequired

Filter invoices for this client.

Example: 42
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
pageinteger

You can ask for a specific page of results. Defaults to 1.

Example: page=1
per_pageinteger

You can specify how many results you want to fetch. Defaults to 10 or value defined in account settings (10, 20 or 30).

Example: per_page=30
Bodyapplication/json
filterobject

Filters to apply on the list

curl -i -X POST \
  'https://docs.invoicexpress.com/_mock/clients/42/invoices.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE&page=1&per_page=30' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "status": [
        "final"
      ],
      "by_type": [
        "Invoice"
      ],
      "archived": [
        "non_archived"
      ]
    }
  }'

Responses

SUCCESS. Returns the client's invoices.

Bodyapplication/json
invoicesArray of objects
paginationobject
Response
application/json
{ "invoices": [ {} ], "pagination": { "total_entries": 6, "current_page": 1, "total_pages": 1, "per_page": 10 } }

Items

An Item is the product or service you invoice.

Operations

Treasury

Section dedicated to treasury movements.

Operations