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": "446241518911489151",
"administration_id": 123,
"name": "Algemene kosten",
"account_type": "expenses",
"account_id": null,
"parent_id": null,
"created_at": "2025-02-17T10:44:57.186Z",
"updated_at": "2025-02-17T10:44:57.186Z",
"allowed_document_types": [
"purchase_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WBedAlkOal",
"name": "Algemene kosten",
"name_english": "General expenses",
"reference": "4215010"
},
"financial_account_id": null
},
{
"id": "446241518935606419",
"administration_id": 123,
"name": "Betaalde en/of ontvangen btw",
"account_type": "current_liabilities",
"account_id": null,
"parent_id": "446241518911489154",
"created_at": "2025-02-17T10:44:57.226Z",
"updated_at": "2025-02-17T10:44:57.226Z",
"allowed_document_types": [
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "BSchBepBtwAfo",
"name": "Afgedragen omzetbelasting",
"name_english": "Remitted Value Added Tax",
"reference": "1205010.13"
},
"financial_account_id": null
},
{
"id": "446241518911489154",
"administration_id": 123,
"name": "Btw",
"account_type": "current_liabilities",
"account_id": null,
"parent_id": null,
"created_at": "2025-02-17T10:44:57.186Z",
"updated_at": "2025-02-17T10:44:57.186Z",
"allowed_document_types": [
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "BSchBepBtwOvm",
"name": "Overige mutaties omzetbelasting",
"name_english": "Other Value Added Tax adjustments",
"reference": "1205010.15"
},
"financial_account_id": null
}
]
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/446241668996269808.json?
Response
Status: 200 OK
{
"id": "446241668996269808",
"administration_id": 123,
"name": "Grootboekrekening f1cf14113f517c486b53",
"account_type": "revenue",
"account_id": "80829",
"parent_id": null,
"created_at": "2025-02-17T10:47:20.352Z",
"updated_at": "2025-02-17T10:47:20.352Z",
"allowed_document_types": [
"sales_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WOmzAovEie",
"name": "Eiergeld",
"name_english": "Egg money",
"reference": "8008040"
},
"financial_account_id": null
}
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 |
|
rgs_code |
String |
Required Existing RGS version 3.5 code, e.g. ‘WMfoBelMfo’ |
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},"rgs_code":"WAfsAmv"}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 201 Created
{
"id": "446241669250025202",
"administration_id": 123,
"name": "Test ledger account",
"account_type": "expenses",
"account_id": "2182",
"parent_id": null,
"created_at": "2025-02-17T10:47:20.594Z",
"updated_at": "2025-02-17T10:47:20.594Z",
"allowed_document_types": [
"purchase_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WAfsAmv",
"name": "Afschrijvingen op materiële vaste activa",
"name_english": "Depreciation of tangible fixed assets",
"reference": "4102000"
},
"financial_account_id": null
}
Example: creates a new ledger account with taxonomy item by providing an existing RGS code
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"rgs_code":"WOmzAovEie","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": "446241669354882804",
"administration_id": 123,
"name": "Test ledger account",
"account_type": "expenses",
"account_id": "2182",
"parent_id": null,
"created_at": "2025-02-17T10:47:20.694Z",
"updated_at": "2025-02-17T10:47:20.694Z",
"allowed_document_types": [
"purchase_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WOmzAovEie",
"name": "Eiergeld",
"name_english": "Egg money",
"reference": "8008040"
},
"financial_account_id": null
}
Example: returns error when provided RGS code does not belong to a taxonomy item of version 3.5
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"rgs_code":"1234","ledger_account":{"name":"Test ledger account","account_type":"expenses","account_id":2182}}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 404 Not Found
{
"error": "Given RGS code does not belong to a taxonomy item of version 3.5",
"symbolic": {
"rgs_code": "not_found"
}
}
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},"rgs_code":"WAfsAmv"}' \
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},"rgs_code":"WAfsAmv"}' \
https://moneybird.com/api/v2/123/ledger_accounts.json
Response
Status: 422 Unprocessable Entity
{
"error": {
"name": [
"mag niet leeg zijn"
]
}
}
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 |
|
rgs_code |
String |
Existing RGS version 3.5 code, e.g. ‘WMfoBelMfo’ |
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/446241669708252918.json
Response
Status: 200 OK
{
"id": "446241669708252918",
"administration_id": 123,
"name": "New name",
"account_type": "revenue",
"account_id": "80829",
"parent_id": null,
"created_at": "2025-02-17T10:47:21.031Z",
"updated_at": "2025-02-17T10:47:21.168Z",
"allowed_document_types": [
"sales_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WOmzAovEie",
"name": "Eiergeld",
"name_english": "Egg money",
"reference": "8008040"
},
"financial_account_id": null
}
Example: updates a ledger account with taxonomy item by providing an existing RGS code
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"rgs_code":"WMfoBelMfo","ledger_account":{"name":"new name"}}' \
https://moneybird.com/api/v2/123/ledger_accounts/446241669911676665.json
Response
Status: 200 OK
{
"id": "446241669911676665",
"administration_id": 123,
"name": "new name",
"account_type": "revenue",
"account_id": "80829",
"parent_id": null,
"created_at": "2025-02-17T10:47:21.225Z",
"updated_at": "2025-02-17T10:47:21.306Z",
"allowed_document_types": [
"sales_invoice",
"financial_mutation",
"general_journal_document"
],
"taxonomy_item": {
"taxonomy_version": "3.5",
"code": "WMfoBelMfo",
"name": "Mutatie fiscale oudedagsreserve",
"name_english": "Change in tax-deferred retirement reserve",
"reference": "9104010"
},
"financial_account_id": null
}
Example: returns error when provided RGS code does not belong to a taxonomy item of version 3.5
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"rgs_code":"1234","ledger_account":{"name":"new name"}}' \
https://moneybird.com/api/v2/123/ledger_accounts/446241670050088700.json
Response
Status: 404 Not Found
{
"error": "Given RGS code does not belong to a taxonomy item of version 3.5",
"symbolic": {
"rgs_code": "not_found"
}
}
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/446241670157043454.json
Response
Status: 422 Unprocessable Entity
{
"error": {
"name": [
"mag niet leeg zijn"
]
}
}
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/446241670354175744.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"
}
}