× FreshBooks App Logo
FreshBooks
Official App
Free - Google Play
Get it
You're currently on our US site. Select your regional site here:

Taxes

FreshBooks allows you to store your previously used taxes to re-apply conveniently.

Access Requirements

AccessRequires Authorization
Scopesuser:taxes:read
user:taxes:write

Includes

There are no includes for taxes.

Filters

Filter TypeNameFieldDescription
Equalstaxidtaxidmatches exact taxid
Intaxidstaxidmatches list of taxids, one specified per query arg
Likenamenamename containing parameter
Likenumbernumbernumber containing parameter
Boolcompoundcompoundtrue returns compound taxes, false returns non-compound taxes
Betweenupdated_minupdatedupdated date greater than or equal to parameter, YYYY-MM-DD format
Betweenupdated_maxupdatedupdated date less than parameter, YYYY-MM-DD format

Field Descriptions

underlined fields are required on creation

FieldTypeDescription
accounting _systemidstringunique identifier of business tax exists on
updateddatetimedate object was last updated, YYYY-MM-DD HH:MM:SS format
namestringidentifiable name for your tax, e.g. “GST”
numberstringan external number that identifies your tax submission
taxidintunique identifier of this tax within this business
amountdecimalstring-decimal representing percentage value of tax
compoundbooleancompound taxes are calculated on top of primary taxes
idintunique id to look this tax up later

Get Single Tax

Request: GET "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"

Response:

{
  "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-07-20 15:28:44",
        "name": "PST",
        "number": null,
        "taxid": 58728,
        "amount": "12",
        "compound": false,
        "id": 58728
      }
    }
  }
}

Create Single Tax

Request: POST "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes"

{
  "tax": {
    "name": "some tax"
  }
}


Response:

{
  "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-09-29 22:24:09",
        "name": "some tax",
        "number": null,
        "taxid": 59384,
        "amount": "0",
        "compound": false,
        "id": 59384
      }
    }
  }
}

Update Single Tax

Request: PUT "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"

{
  "tax": {
    "name": "other tax"
  }
}


Response:

{
  "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-09-29 22:24:09",
        "name": "other tax",
        "number": null,
        "taxid": 59384,
        "amount": "0",
        "compound": false,
        "id": 59384
      }
    }
  }
}

Delete Single Tax

Request: DELETE https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>

Response:

{
  "response": {}
}

List Taxes

Request: GET https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes

Response:

{
  "response": {
    "result": {
      "per_page": 15,
      "total": 3,
      "page": 1,
      "taxes": [
        {
          // same format as single tax
        },
        {
          // same format as single tax
        },
        {
          // same format as single tax
        }
      ],
      "pages": 1
    }
  }
}

Get Single Tax

Request: GET
"https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"


url = "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)


Response:


{
  "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-07-20 15:28:44",
        "name": "PST",
        "number": null,
        "taxid": 58728,
        "amount": "12",
        "compound": false,
        "id": 58728
      }
    }
  }
}

Create Single Tax

Request: POST
"https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes"


url = "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
  "tax": {
      "name": "some tax"
  }
}
res = requests.post(url, data=json.dumps(payload), headers=headers)


Response:


{
  "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-09-29 22:24:09",
        "name": "some tax",
        "number": null,
        "taxid": 59384,
        "amount": "0",
        "compound": false,
        "id": 59384
      }
    }
  }
}

Update Single Tax

Request: PUT
"https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"


url = "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
    "tax": {
      "name": "other tax"
    }
}
res = requests.put(url, data=json.dumps(payload), headers=headers)


Response:


{
   "response": {
    "result": {
      "tax": {
        "accounting_systemid": "zDmNq",
        "updated": "2016-09-29 22:24:09",
        "name": "other tax",
        "number": null,
        "taxid": 59384,
        "amount": "0",
        "compound": false,
        "id": 59384
      }
    }
  }
}

Delete Single Tax

Request: DELETE
https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>


url = "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.delete(url, data=None, headers=headers)


Response:


{
  "response": {}
}

List Taxes

Request: GET
https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes


url = "https://api.freshbooks.com/accounting/account/<accountid>/taxes/taxes"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)


Response:


{
  "response": {
    "result": {
      "per_page": 15,
      "total": 3,
      "page": 1,
      "taxes": [
        {
          // same format as single tax
        },
        {
          // same format as single tax
        },
        {
          // same format as single tax
        }
      ],
      "pages": 1
    }
  }
}