List Expenses
Request: GET https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses
Response:
{
"response": {
"result": {
"per_page": 15,
"pages": 1,
"total": 3,
"page": 1,
"expenses": [
{
// same format as single expense
},
{
// same format as single expense
},
{
// same format as single expense
}
]
}
}
}
Get Single Expense
Request: GET "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>"
Response:
{
"response": {
"result": {
"expense": {
"categoryid": 121374834,
"markup_percent": "0",
"projectid": 0,
"clientid": 0,
"taxPercent1": "100",
"taxName2": null,
"taxName1": "HST",
"isduplicate": false,
"profileid": null,
"taxPercent2": null,
"account_name": null,
"transactionid": null,
"invoiceid": null,
"id": 1569533,
"taxAmount2": null,
"taxAmount1": {
"amount": "1.30",
"code": "CAD"
},
"vis_state": 0,
"status": 0,
"bank_name": null,
"updated": "2016-09-27 21:09:13",
"vendor": "Ice Cream",
"ext_systemid": 0,
"staffid": 1,
"date": "2016-09-19",
"has_receipt": false,
"accounting_systemid": "KAG77",
"background_jobid": null,
"notes": "Rocky Road",
"ext_invoiceid": 0,
"amount": {
"amount": "10.00",
"code": "CAD"
},
"expenseid": 1569533,
"compounded_tax": false,
"accountid": null
}
}
}
}
Create Expense
Request: POST "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses"
Response:
{
"expense": {
"amount": {
"amount": "39.991"
},
"categoryid": 93993004,
"staffid": 1,
"date": "2009-11-24"
}
}
Response:
{
"response": {
"result": {
"expense": {
"account_name": null,
"accountid": null
"accounting_systemid": "zDmNq",
"amount": {
"amount": "39.991",
"code": "USD"
},
"bank_name": null,
"categoryid": 93993004,
"clientid": 0,
"compounded_tax": false,
"date": "2009-11-24",
"expenseid": 1574917,
"ext_invoiceid": 0,
"ext_systemid": 0,
"has_receipt": false,
"id": 1574917,
"invoiceid": null,
"isduplicate": true,
"markup_percent": "0",
"notes": "",
"profileid": null,
"projectid": 0,
"staffid": 1,
"status": 0,
"taxAmount1": null,
"taxAmount2": null,
"taxName1": null,
"taxName2": null,
"taxPercent1": null,
"taxPercent2": null,
"transactionid": null,
"updated": "2016-09-29 19:08:17",
"vendor": null,
"vis_state": 0,
}
}
}
}
Update Expense
Request: PUT "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>"
{
"expense": {
"vendor": "Arnold Vendor"
}
}
Response:
{
"response": {
"result": {
"expense": {
"categoryid": 93993004,
"markup_percent": "0",
"projectid": 0,
"clientid": 0,
"taxPercent1": null,
"taxName2": null,
"taxName1": null,
"isduplicate": true,
"profileid": null,
"taxPercent2": null,
"account_name": null,
"transactionid": null,
"invoiceid": null,
"id": 1574917,
"taxAmount2": null,
"taxAmount1": null,
"vis_state": 0,
"status": 0,
"bank_name": null,
"updated": "2016-09-29 19:08:17",
"vendor": "Arnold Vendor",
"ext_systemid": 0,
"staffid": 1,
"date": "2009-11-24",
"has_receipt": false,
"accounting_systemid": "zDmNq",
"background_jobid": null,
"notes": "",
"ext_invoiceid": 0,
"amount": {
"amount": "39.991",
"code": "USD"
},
"expenseid": 1574917,
"compounded_tax": false,
"accountid": null
}
}
}
}
Delete Expense
Request: PUT "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>"
{
"expense": {
"vis_state": 1
}
}
Response:
{
"response": {}
}
List Expenses
Request: GET
https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses
url = "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses"
headers = {'Authorization': 'Bearer <bearer token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)
jsonData = res.json
Response
{
"response": {
"result": {
"per_page": 15,
"pages": 1,
"total": 3,
"page": 1,
"expenses": [
{
// same format as single expense
},
{
// same format as single expense
},
{
// same format as single expense
}
]
}
}
}
Get Single Expense
Request: GET
"https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>"
url = "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<id>"
headers = {'Authorization': 'Bearer <bearer token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)
jsonData = res.json()
Response:
{
"response": {
"result": {
"expense": {
"categoryid": 121374834,
"markup_percent": "0",
"projectid": 0,
"clientid": 0,
"taxPercent1": "100",
"taxName2": null,
"taxName1": "HST",
"isduplicate": false,
"profileid": null,
"taxPercent2": null,
"account_name": null,
"transactionid": null,
"invoiceid": null,
"id": 1569533,
"taxAmount2": null,
"taxAmount1": {
"amount": "1.30",
"code": "CAD"
},
"vis_state": 0,
"status": 0,
"bank_name": null,
"updated": "2016-09-27 21:09:13",
"vendor": "Ice Cream",
"ext_systemid": 0,
"staffid": 1,
"date": "2016-09-19",
"has_receipt": false,
"accounting_systemid": "KAG77",
"background_jobid": null,
"notes": "Rocky Road",
"ext_invoiceid": 0,
"amount": {
"amount": "10.00",
"code": "CAD"
},
"expenseid": 1569533,
"compounded_tax": false,
"accountid": null
}
}
}
}
Create Expense
Request: POST
"https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses"
url = "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses"
headers = {'Authorization': 'Bearer <bearer token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {'expense': {
'amount': {
'amount': "39.991"
},
'categoryid': 93993004,
'staffid': 1,
'date': "2009-11-24"
}
}
res = requests.post(url, data=json.dumps(payload), headers=headers)
Response:
{
"response": {
"result": {
"expense": {
"categoryid": 93993004,
"markup_percent": "0",
"projectid": 0,
"clientid": 0,
"taxPercent1": null,
"taxName2": null,
"taxName1": null,
"isduplicate": true,
"profileid": null,
"taxPercent2": null,
"account_name": null,
"transactionid": null,
"invoiceid": null,
"id": 1574917,
"taxAmount2": null,
"taxAmount1": null,
"vis_state": 0,
"status": 0,
"bank_name": null,
"updated": "2016-09-29 19:08:17",
"vendor": null,
"ext_systemid": 0,
"staffid": 1,
"date": "2009-11-24",
"has_receipt": false,
"accounting_systemid": "zDmNq",
"background_jobid": null,
"notes": "",
"ext_invoiceid": 0,
"amount": {
"amount": "39.991",
"code": "USD"
},
"expenseid": 1574917,
"compounded_tax": false,
"accountid": null
}
}
}
}
Update Expense
Request: PUT
"https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>"
url = "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<id>"
headers = {'Authorization': 'Bearer <bearer token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {'expense': {
'vendor': "Arnold Vendor"
}
}
res = requests.put(url, data=json.dumps(payload), headers=headers)
Response:
{
"response": {
"result": {
"expense": {
"categoryid": 93993004,
"markup_percent": "0",
"projectid": 0,
"clientid": 0,
"taxPercent1": null,
"taxName2": null,
"taxName1": null,
"isduplicate": true,
"profileid": null,
"taxPercent2": null,
"account_name": null,
"transactionid": null,
"invoiceid": null,
"id": 1574917,
"taxAmount2": null,
"taxAmount1": null,
"vis_state": 0,
"status": 0,
"bank_name": null,
"updated": "2016-09-29 19:08:17",
"vendor": "Arnold Vendor",
"ext_systemid": 0,
"staffid": 1,
"date": "2009-11-24",
"has_receipt": false,
"accounting_systemid": "zDmNq",
"background_jobid": null,
"notes": "",
"ext_invoiceid": 0,
"amount": {
"amount": "39.991",
"code": "USD"
},
"expenseid": 1574917,
"compounded_tax": false,
"accountid": null
}
}
}
}
Delete Expense
Request: PUT
https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<expenseid>
url = "https://api.freshbooks.com/accounting/account/<accountid>/expenses/expenses/<id>"
headers = {'Authorization': 'Bearer <bearer token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {'expense': {
'vis_state': 1
}
}
res = requests.put(url, data=json.dumps(payload), headers=headers)
Response:
{
"response": {}
}