API-V2

Application Programming Interface

InvoiceXpress Documentation

Create

POST /taxes.json

Creates a new tax.

Example Request

curl

curl --request POST \
  --url 'https://account_name.app.invoicexpress.com/taxes.json?api_key=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"tax":{"name":"IVA23","value":"23.0","region":"PT","default_tax":"1"}}'

Ruby

require 'uri'
require 'net/http'

url = URI("https://account_name.app.invoicexpress.com/taxes.json?api_key=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}"

response = http.request(request)
puts response.read_body

Node

var http = require("https");

var options = {
  "method": "POST",
  "hostname": "account_name.app.invoicexpress.com",
  "port": null,
  "path": "/taxes.json?api_key=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ tax: { name: 'IVA23', value: '23.0', region: 'PT', default_tax: '1' } }));
req.end();

Python

import http.client

conn = http.client.HTTPSConnection("account_name.app.invoicexpress.com")

payload = "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/taxes.json?api_key=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://account_name.app.invoicexpress.com/taxes.json?api_key=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://account_name.app.invoicexpress.com/taxes.json?api_key=YOUR%20API%20KEY%20HERE"

    payload := strings.NewReader("{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}")

    req, _ := http.NewRequest("POST", url, payload)

    req.Header.Add("accept", "application/json")
    req.Header.Add("content-type", "application/json")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}

Request Body

NameTypeRequiredDescription
taxObjectRequiredTax data to be created
nameStringRequiredTax name
valueStringRequiredTax value (%)
regionStringDependsTax region. This parameter is required to export SAF-T PT. When this element is present, it’s value can’t be blank. It must match one of these options: PT (Portugal – Continental), PT-AC (Portugal – Açores), PT-MA (Portugal – Madeira), Desconhecido (Unknown), or country codes. Please refer to the Taxes Country Codes for the complete list of “Country Codes”.
codeStringDependsTax code. When this element is present, it’s value can’t be blank. It must match one of these options: NOR (Normal tax rate), INT (Intermediate tax rate), RED (Reduced tax rate), OUT (Other tax rate), ISE (Exempt tax rate).
default_taxIntegerIf “1”, the tax is chosen as the default tax on your account. Any other value is ignored.

Example Request Body

{
  "tax": {
    "name": "IVA23",
    "value": "23.0",
    "region": "PT",
    "code": "NOR",
    "default_tax": "1"
  }
}

Responses

201SUCCESSTaxes Get
401ACCESS DENIED
The API Key parameter is missing or is incorrectly entered.
(Empty Response)
422UNPROCESSABLE ENTITY
Some parameters were incorrect.
(Empty Response)

Example Success Body Response

{
  "tax": {
    "id": 31540,
    "name": "IVA23",
    "value": 23.0,
    "region": "PT",
    "code": "NOR",
    "default_tax": 1
  }
}