Ledger accounts
List all ledger accounts of an administration
Returns a list of all the ledger accounts in the administration.
Pagination is not supported for this endpoint.
Example: returns a list of ledger accounts
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/ledger_accounts.json?
Response
Status: 200 OK
[
{
"id": "395773789030320030",
"administration_id": 123,
"name": "Algemene kosten",
"account_type": "expenses",
"account_id": null,
"parent_id": null,
"created_at": "2023-08-10T09:21:59.421Z",
"updated_at": "2023-08-10T09:21:59.421Z",
"allowed_document_types": [
"purchase_invoice",
"financial_mutation",
"general_journal_document"
]
},
{
"id": "395773789061777325",
"administration_id": 123,
"name": "Betaalde en/of ontvangen btw",
"account_type": "current_liabilities",
"account_id": null,
"parent_id": "395773789029271448",
"created_at": "2023-08-10T09:21:59.454Z",
"updated_at": "2023-08-10T09:21:59.454Z",
"allowed_document_types": [
"financial_mutation",
"general_journal_document"
]
},
{
"id": "395773789029271448",
"administration_id": 123,
"name": "Btw",
"account_type": "current_liabilities",
"account_id": null,
"parent_id": null,
"created_at": "2023-08-10T09:21:59.421Z",
"updated_at": "2023-08-10T09:21:59.421Z",
"allowed_document_types": [
"financial_mutation",
"general_journal_document"
]
}
]
Returns information about a ledger account
Example: returns a ledger account
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/ledger_accounts/395773917529114166.json?
Response
Status: 200 OK
{
"id": "395773917529114166",
"administration_id": 123,
"name": "Grootboekrekening 00c705a660016d9ba228",
"account_type": "revenue",
"account_id": null,
"parent_id": null,
"created_at": "2023-08-10T09:24:01.971Z",
"updated_at": "2023-08-10T09:24:01.971Z",
"allowed_document_types": [
"sales_invoice",
"financial_mutation",
"general_journal_document"
]
}
Example: returns 404 when requesting unexisting ledger account
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/ledger_accounts/831921.json?
Response
Status: 404 Not Found
{
"error": "record not found",
"symbolic": {
"id": "not_found"
}
}
Creates a new ledger account
The account_type
determines the kind of ledger account, this can be any of the following values:
non_current_assets
, current_assets
, equity
, provisions
, non_current_liabilities
, current_liabilities
, revenue
, direct_costs
, expenses
, other_income_expenses
By providing the parent_id
, it is possible to create a tree of ledger accounts. Make sure the account_types
of the parent and child equal.
Parameters
Parameter | Type | Description |
---|---|---|
ledger_account[name] |
String |
Required Should be unique for this combination of administration and account type. |
ledger_account[account_type] |
String |
Required Can be |
ledger_account[account_id] |
String |
Optional field, also known as general ledger code. Should be unique. |
ledger_account[parent_id] |
Integer |
Id of the parent ledger account. Should be a valid ledger account id. |
ledger_account[allowed_document_types] |
Array |
Can be |
ledger_account[description] |
String |
Example: creates a new ledger account
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"ledger_account":{"name":"Test ledger account","account_type":"expenses","account_id":2182}}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 201 Created
{
"id": "395773917744072248",
"administration_id": 123,
"name": "Test ledger account",
"account_type": "expenses",
"account_id": "2182",
"parent_id": null,
"created_at": "2023-08-10T09:24:02.176Z",
"updated_at": "2023-08-10T09:24:02.176Z",
"allowed_document_types": [
"purchase_invoice",
"financial_mutation",
"general_journal_document"
]
}
Example: returns an error when name is not provided
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"ledger_account":{"account_type":"expenses","account_id":2182}}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 400 Bad Request
{
"error": "Name is required",
"symbolic": {
"ledger_account": {
"name": "required"
}
}
}
Example: returns an error when an empty name is provided
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"ledger_account":{"name":"","account_type":"expenses","account_id":2182}}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 422 Unprocessable Entity
{
"error": {
"name": [
"cannot be empty"
]
}
}
Updates a ledger account
Parameters
Parameter | Type | Description |
---|---|---|
ledger_account[name] |
String |
Should be unique for this combination of administration and account type. |
ledger_account[account_id] |
String |
Optional field, also known as general ledger code. Should be unique. |
ledger_account[account_type] |
String |
Can be |
ledger_account[parent_id] |
Integer |
Id of the parent ledger account. Should be a valid ledger account id. |
ledger_account[allowed_document_types] |
Array |
Can be |
ledger_account[description] |
String |
Example: updates the information in the ledger account
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"ledger_account":{"name":"New name"}}' \
https://moneybird.com/api/v2/123/ledger_accounts/395773918037673530.json
Response
Status: 200 OK
{
"id": "395773918037673530",
"administration_id": 123,
"name": "New name",
"account_type": "revenue",
"account_id": null,
"parent_id": null,
"created_at": "2023-08-10T09:24:02.455Z",
"updated_at": "2023-08-10T09:24:02.522Z",
"allowed_document_types": [
"sales_invoice",
"financial_mutation",
"general_journal_document"
]
}
Example: returns an error when validations are failing
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"ledger_account":{"name":""}}' \
https://moneybird.com/api/v2/123/ledger_accounts/395773918229562941.json
Response
Status: 422 Unprocessable Entity
{
"error": {
"name": [
"cannot be empty"
]
}
}
Example: returns a 404 when the ledger account does not exist
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"ledger_account":{"name":"New name"}}' \
https://moneybird.com/api/v2/123/ledger_accounts/12341.json
Response
Status: 404 Not Found
{
"error": "record not found",
"symbolic": {
"id": "not_found"
}
}
Deletes a ledger account
Example: deletes a ledger account
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XDELETE \
-d '{}' \
https://moneybird.com/api/v2/123/ledger_accounts/395773918579787327.json
Response
Example: returns 404 when the ledger account does not exist
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XDELETE \
-d '{}' \
https://moneybird.com/api/v2/123/ledger_accounts/21321.json
Response
Status: 404 Not Found
{
"error": "record not found",
"symbolic": {
"id": "not_found"
}
}