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

Create Guide

Request

Creates a new shipping, transport or devolution.

Security
apiKeyAuth
Path
guides-typestringrequired

The type of the guide document.

Enum"shippings""transports""devolutions"
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
shippingobjectrequired
shipping.​datestringrequired

dd/mm/yyyy

Example: "03/12/2017"
shipping.​due_datestringrequired

dd/mm/yyyy

Example: "03/12/2017"
shipping.​loaded_atstringrequired

dd/mm/yyyy HH:mm:ss

Example: "02/12/2017 19:00:00"
shipping.​license_platestring
Example: "11-AA-22"
shipping.​address_fromobjectrequired
shipping.​address_from.​detailstringrequired
Example: "Rua 5"
shipping.​address_from.​citystringrequired
Example: "Lisboa"
shipping.​address_from.​postal_codestringrequired
Example: "1000-555"
shipping.​address_from.​countrystringrequired
Example: "Portugal"
shipping.​address_toobjectrequired
shipping.​address_to.​detailstringrequired
Example: "Avenida 10"
shipping.​address_to.​citystringrequired
Example: "Porto"
shipping.​address_to.​postal_codestringrequired
Example: "2000-555"
shipping.​address_to.​countrystringrequired
Example: "Portugal"
shipping.​referencestring
Example: "999"
shipping.​observationsstring
Example: "Observations"
shipping.​retentionstring
Example: "0"
shipping.​tax_exemptionstring
Example: "M01"
shipping.​sequence_idstring
Example: "12345"
shipping.​manual_sequence_numberstring
Example: "1"
shipping.​clientobjectrequired
shipping.​client.​namestringrequired
Example: "Client Name"
shipping.​client.​codestringrequired
Example: "A1"
shipping.​client.​emailstring
Example: "foo@bar.com"
shipping.​client.​addressstring
Example: "Saldanha"
shipping.​client.​citystring
Example: "Lisbon"
shipping.​client.​postal_codestring
Example: "1050-555"
shipping.​client.​countrystring
Example: "Portugal"
shipping.​client.​fiscal_idstring
Example: "508000000"
shipping.​client.​websitestring
Example: "www.website.com"
shipping.​client.​phonestring
Example: "910000000"
shipping.​client.​faxstring
Example: "210000000"
shipping.​client.​observationsstring
Example: "Observations"
shipping.​itemsArray of objectsrequired
shipping.​items[].​namestringrequired
Example: "Item Name"
shipping.​items[].​descriptionstringrequired
Example: "Item Description"
shipping.​items[].​unit_pricestringrequired
Example: "100"
shipping.​items[].​quantitystringrequired
Example: "5"
shipping.​items[].​unitstring
Example: "service"
shipping.​items[].​discountstring
Example: "50"
shipping.​items[].​taxobject
shipping.​tax_exemption_reasonstring
Example: "M00"
shipping.​load_sitestring
Example: "Lisbon, Portugal"
shipping.​delivery_sitestring
Example: "Madrid, Spain"
curl -i -X POST \
  'https://docs.invoicexpress.com/_mock/{guides-type}.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "shipping": {
      "date": "03/12/2017",
      "due_date": "03/12/2017",
      "loaded_at": "02/12/2017 19:00:00",
      "license_plate": "11-AA-22",
      "address_from": {
        "detail": "Rua 5",
        "city": "Lisboa",
        "postal_code": "1000-555",
        "country": "Portugal"
      },
      "address_to": {
        "detail": "Avenida 10",
        "city": "Porto",
        "postal_code": "2000-555",
        "country": "Portugal"
      },
      "reference": "999",
      "observations": "Observations",
      "retention": "0",
      "tax_exemption": "M01",
      "sequence_id": "12345",
      "manual_sequence_number": "1",
      "client": {
        "name": "Client Name",
        "code": "A1",
        "email": "foo@bar.com",
        "address": "Saldanha",
        "city": "Lisbon",
        "postal_code": "1050-555",
        "country": "Portugal",
        "fiscal_id": "508000000",
        "website": "www.website.com",
        "phone": "910000000",
        "fax": "210000000",
        "observations": "Observations"
      },
      "items": [
        {
          "name": "Item Name",
          "description": "Item Description",
          "unit_price": "100",
          "quantity": "5",
          "unit": "service",
          "discount": "50",
          "tax": {
            "name": "IVA23"
          }
        }
      ],
      "tax_exemption_reason": "M00",
      "load_site": "Lisbon, Portugal",
      "delivery_site": "Madrid, Spain"
    }
  }'

Responses

SUCCESS

Creates a new quote, proforma or fees_note.

Possible values for field atcud:

  • ABCD1234-1 (or similar) - Unique document identifier to the Tax Authority, when the sequence is registered.
  • N/D - The document's sequence is relevant for ATCUD but is not registered in the Tax Authority.
  • N/A - The document's sequence is not relevant for ATCUD and is not registered in the Tax Authority.
Bodyapplication/json
shippingobject
Response
application/json
{ "shipping": { "id": 541797, "status": "final", "archived": false, "type": "Shipping", "sequence_number": "1/D", "inverted_sequence_number": "D/1", "atcud": "ABCD1234-1", "date": "13/07/2017", "due_date": "foo", "reference": "foo", "observations": "foo", "retention": "foo", "permalink": "https://www.app.invoicexpress.com/documents/541797d75bbee48911934cbd4a4294946a324295f52b08", "saft_hash": "vaDf", "sum": 1, "discount": 0, "before_taxes": 1, "taxes": 0.07, "total": 1.07, "currency": "Euro", "address_from": {}, "address_to": {}, "client": {}, "items": [], "sequence_id": "12345", "tax_exemption": "M01", "at_doc_code_id": "999", "license_plate": "11-AA-22" } }

Get Guide

Request

Security
apiKeyAuth
Path
document-idintegerrequired

The ID of the document.

Example: 1050
guides-typestringrequired

The type of the guide document.

Enum"shippings""transports""devolutions"
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/{guides-type}/1050.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE'

Responses

SUCCESS

Creates a new quote, proforma or fees_note.

Possible values for field atcud:

  • ABCD1234-1 (or similar) - Unique document identifier to the Tax Authority, when the sequence is registered.
  • N/D - The document's sequence is relevant for ATCUD but is not registered in the Tax Authority.
  • N/A - The document's sequence is not relevant for ATCUD and is not registered in the Tax Authority.
Bodyapplication/json
shippingobject
Response
application/json
{ "shipping": { "id": 541797, "status": "final", "archived": false, "type": "Shipping", "sequence_number": "1/D", "inverted_sequence_number": "D/1", "atcud": "ABCD1234-1", "date": "13/07/2017", "due_date": "foo", "reference": "foo", "observations": "foo", "retention": "foo", "permalink": "https://www.app.invoicexpress.com/documents/541797d75bbee48911934cbd4a4294946a324295f52b08", "saft_hash": "vaDf", "sum": 1, "discount": 0, "before_taxes": 1, "taxes": 0.07, "total": 1.07, "currency": "Euro", "address_from": {}, "address_to": {}, "client": {}, "items": [], "sequence_id": "12345", "tax_exemption": "M01", "at_doc_code_id": "999", "license_plate": "11-AA-22" } }

Update Guide

Request

Updates a shipping, transport or devolution.

Security
apiKeyAuth
Path
guides-typestringrequired

The type of the guide document.

Enum"shippings""transports""devolutions"
document-idintegerrequired

The ID of the document.

Example: 1050
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
shippingobjectrequired
shipping.​datestringrequired

dd/mm/yyyy

Example: "03/12/2017"
shipping.​due_datestringrequired

dd/mm/yyyy

Example: "03/12/2017"
shipping.​loaded_atstringrequired

dd/mm/yyyy HH:mm:ss

Example: "02/12/2017 19:00:00"
shipping.​license_platestring
Example: "11-AA-22"
shipping.​address_fromobjectrequired
shipping.​address_from.​detailstringrequired
Example: "Rua 5"
shipping.​address_from.​citystringrequired
Example: "Lisboa"
shipping.​address_from.​postal_codestringrequired
Example: "1000-555"
shipping.​address_from.​countrystringrequired
Example: "Portugal"
shipping.​address_toobjectrequired
shipping.​address_to.​detailstringrequired
Example: "Avenida 10"
shipping.​address_to.​citystringrequired
Example: "Porto"
shipping.​address_to.​postal_codestringrequired
Example: "2000-555"
shipping.​address_to.​countrystringrequired
Example: "Portugal"
shipping.​referencestring
Example: "999"
shipping.​observationsstring
Example: "Observations"
shipping.​retentionstring
Example: "0"
shipping.​tax_exemptionstring
Example: "M01"
shipping.​sequence_idstring
Example: "12345"
shipping.​manual_sequence_numberstring
Example: "1"
shipping.​clientobjectrequired
shipping.​client.​namestringrequired
Example: "Client Name"
shipping.​client.​codestringrequired
Example: "A1"
shipping.​client.​emailstring
Example: "foo@bar.com"
shipping.​client.​addressstring
Example: "Saldanha"
shipping.​client.​citystring
Example: "Lisbon"
shipping.​client.​postal_codestring
Example: "1050-555"
shipping.​client.​countrystring
Example: "Portugal"
shipping.​client.​fiscal_idstring
Example: "508000000"
shipping.​client.​websitestring
Example: "www.website.com"
shipping.​client.​phonestring
Example: "910000000"
shipping.​client.​faxstring
Example: "210000000"
shipping.​client.​observationsstring
Example: "Observations"
shipping.​itemsArray of objectsrequired
shipping.​items[].​namestringrequired
Example: "Item Name"
shipping.​items[].​descriptionstringrequired
Example: "Item Description"
shipping.​items[].​unit_pricestringrequired
Example: "100"
shipping.​items[].​quantitystringrequired
Example: "5"
shipping.​items[].​unitstring
Example: "service"
shipping.​items[].​discountstring
Example: "50"
shipping.​items[].​taxobject
shipping.​tax_exemption_reasonstring
Example: "M00"
shipping.​load_sitestring
Example: "Lisbon, Portugal"
shipping.​delivery_sitestring
Example: "Madrid, Spain"
curl -i -X PUT \
  'https://docs.invoicexpress.com/_mock/{guides-type}/1050.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "shipping": {
      "date": "03/12/2017",
      "due_date": "03/12/2017",
      "loaded_at": "02/12/2017 19:00:00",
      "license_plate": "11-AA-22",
      "address_from": {
        "detail": "Rua 5",
        "city": "Lisboa",
        "postal_code": "1000-555",
        "country": "Portugal"
      },
      "address_to": {
        "detail": "Avenida 10",
        "city": "Porto",
        "postal_code": "2000-555",
        "country": "Portugal"
      },
      "reference": "999",
      "observations": "Observations",
      "retention": "0",
      "tax_exemption": "M01",
      "sequence_id": "12345",
      "manual_sequence_number": "1",
      "client": {
        "name": "Client Name",
        "code": "A1",
        "email": "foo@bar.com",
        "address": "Saldanha",
        "city": "Lisbon",
        "postal_code": "1050-555",
        "country": "Portugal",
        "fiscal_id": "508000000",
        "website": "www.website.com",
        "phone": "910000000",
        "fax": "210000000",
        "observations": "Observations"
      },
      "items": [
        {
          "name": "Item Name",
          "description": "Item Description",
          "unit_price": "100",
          "quantity": "5",
          "unit": "service",
          "discount": "50",
          "tax": {
            "name": "IVA23"
          }
        }
      ],
      "tax_exemption_reason": "M00",
      "load_site": "Lisbon, Portugal",
      "delivery_site": "Madrid, Spain"
    }
  }'

Responses

SUCCESS

Creates a new quote, proforma or fees_note.

Possible values for field atcud:

  • ABCD1234-1 (or similar) - Unique document identifier to the Tax Authority, when the sequence is registered.
  • N/D - The document's sequence is relevant for ATCUD but is not registered in the Tax Authority.
  • N/A - The document's sequence is not relevant for ATCUD and is not registered in the Tax Authority.
Bodyapplication/json
shippingobject
Response
application/json
{ "shipping": { "id": 541797, "status": "final", "archived": false, "type": "Shipping", "sequence_number": "1/D", "inverted_sequence_number": "D/1", "atcud": "ABCD1234-1", "date": "13/07/2017", "due_date": "foo", "reference": "foo", "observations": "foo", "retention": "foo", "permalink": "https://www.app.invoicexpress.com/documents/541797d75bbee48911934cbd4a4294946a324295f52b08", "saft_hash": "vaDf", "sum": 1, "discount": 0, "before_taxes": 1, "taxes": 0.07, "total": 1.07, "currency": "Euro", "address_from": {}, "address_to": {}, "client": {}, "items": [], "sequence_id": "12345", "tax_exemption": "M01", "at_doc_code_id": "999", "license_plate": "11-AA-22" } }

Change Guide State

Request

Changes the state of guide documents (shippings, transports, devolutions).

FromToEvent
draftfinalfinalized
draftdeleteddeleted
finalcanceledcanceled
Security
apiKeyAuth
Path
guides-typestringrequired

The type of the guide document.

Enum"shippings""transports""devolutions"
document-idintegerrequired

The ID of the document.

Example: 1050
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
shippingobjectrequired
shipping.​statestringrequired
Enum"finalized""canceled""deleted"
Example: "finalized"
shipping.​messagestring
Example: "Wrong value"
curl -i -X PUT \
  'https://docs.invoicexpress.com/_mock/{guides-type}/1050/change-state.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "shipping": {
      "state": "finalized",
      "message": "Wrong value"
    }
  }'

Responses

SUCCESS

Creates a new quote, proforma or fees_note.

Possible values for field atcud:

  • ABCD1234-1 (or similar) - Unique document identifier to the Tax Authority, when the sequence is registered.
  • N/D - The document's sequence is relevant for ATCUD but is not registered in the Tax Authority.
  • N/A - The document's sequence is not relevant for ATCUD and is not registered in the Tax Authority.
Bodyapplication/json
shippingobject
Response
application/json
{ "shipping": { "id": 541797, "status": "final", "archived": false, "type": "Shipping", "sequence_number": "1/D", "inverted_sequence_number": "D/1", "atcud": "ABCD1234-1", "date": "13/07/2017", "due_date": "foo", "reference": "foo", "observations": "foo", "retention": "foo", "permalink": "https://www.app.invoicexpress.com/documents/541797d75bbee48911934cbd4a4294946a324295f52b08", "saft_hash": "vaDf", "sum": 1, "discount": 0, "before_taxes": 1, "taxes": 0.07, "total": 1.07, "currency": "Euro", "address_from": {}, "address_to": {}, "client": {}, "items": [], "sequence_id": "12345", "tax_exemption": "M01", "at_doc_code_id": "999", "license_plate": "11-AA-22" } }

Send Guide by Email

Request

Security
apiKeyAuth
Path
guides-typestringrequired

The type of the guide document.

Enum"shippings""transports""devolutions"
document-idintegerrequired

The ID of the document.

Example: 1050
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Bodyapplication/jsonrequired
messageobjectrequired
message.​clientobjectrequired
message.​client.​emailstringrequired
Example: "dest@mail.com"
message.​client.​savestringrequired
Enum"0""1"
Example: "1"
message.​subjectstring
Example: "Invoice"
message.​bodystring
Example: "Attached."
message.​ccstring
Example: "cc@mail.com"
message.​bccstring
Example: "bcc@mail.com"
message.​logostring
Enum"0""1"
Example: "1"
curl -i -X PUT \
  'https://docs.invoicexpress.com/_mock/{guides-type}/1050/email-document.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": {
      "client": {
        "email": "dest@mail.com",
        "save": "1"
      },
      "subject": "Invoice",
      "body": "Attached.",
      "cc": "cc@mail.com",
      "bcc": "bcc@mail.com",
      "logo": "1"
    }
  }'

Responses

SUCCESS

Response
No content

Generate PDF

Request

Security
apiKeyAuth
Path
document-idintegerrequired

The ID of the document.

Example: 1050
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
second_copyboolean
Example: second_copy=false
curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/api/pdf/1050.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE&second_copy=false'

Responses

SUCCESS

Bodyapplication/json
outputobject
Response
application/json
{ "output": { "pdfUrl": "url.pdf" } }

Get QR Code

Request

Security
apiKeyAuth
Path
document-idintegerrequired

The ID of the document.

Example: 1050
Query
api_keystringrequired

Your API Key.

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

Responses

SUCCESS

Bodyapplication/json
qr_codeobject
Response
application/json
{ "qr_code": { "url": "url.png" } }

List All

Request

Returns a list of guides (Shippings, Transports and Devolutions).

Security
apiKeyAuth
Query
api_keystringrequired

Your API Key.

Example: api_key=YOUR_API_KEY
Query Parametersobject(GuideQueryParamns)

Click to expand options.

curl -i -X GET \
  'https://docs.invoicexpress.com/_mock/guides.json?api_key=YOUR_API_KEY%2CYOUR_API_KEY_HERE&text=string&type%5B%5D=Shipping&status%5B%5D=sent&non_archived=true&archived=true&loaded_at%5Bfrom%5D=string&loaded_at%5Bto%5D=string&page=0&per_page=0'

Responses

SUCCESS

Creates a new quote, proforma or fees_note.

Possible values for field atcud:

  • ABCD1234-1 (or similar) - Unique document identifier to the Tax Authority, when the sequence is registered.
  • N/D - The document's sequence is relevant for ATCUD but is not registered in the Tax Authority.
  • N/A - The document's sequence is not relevant for ATCUD and is not registered in the Tax Authority.
Bodyapplication/json
guidesobject
paginationobject(Pagination)
Response
application/json
{ "guides": { "id": 541797, "status": "final", "archived": false, "type": "Shipping", "sequence_number": "1/D", "inverted_sequence_number": "D/1", "atcud": "ABCD1234-1", "date": "13/07/2017", "due_date": "foo", "reference": "foo", "observations": "foo", "retention": "foo", "permalink": "https://www.app.invoicexpress.com/documents/541797d75bbee48911934cbd4a4294946a324295f52b08", "saft_hash": "vaDf", "sum": 1, "discount": 0, "before_taxes": 1, "taxes": 0.07, "total": 1.07, "currency": "Euro", "address_from": {}, "address_to": {}, "client": {}, "items": [], "sequence_id": "12345", "tax_exemption": "M01", "at_doc_code_id": "999", "license_plate": "11-AA-22" }, "pagination": { "total_entries": 50, "per_page": 20, "current_page": 1, "total_pages": 3 } }

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

Items

An Item is the product or service you invoice.

Operations

Treasury

Section dedicated to treasury movements.

Operations