Currencies
Crane Ledger provides comprehensive multi-currency support, allowing organizations to track transactions and maintain accounts in multiple currencies. The system supports ISO 4217 standard currency codes and enables real-time currency conversion for reporting and analysis.
Currency Management
The Currency Object
/currencies/:id{
"id": "cur_usd",
"code": "USD",
"name": "US Dollar",
"symbol": "$",
"decimal_places": 2,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Attributes
| Attribute | Type | Description |
|---|---|---|
id | string | Unique identifier with cur_ prefix |
code | string | ISO 4217 currency code (e.g., "USD", "EUR", "GBP") |
name | string | Full currency name |
symbol | string | Currency symbol (e.g., "$", "€", "£") |
decimal_places | integer | Number of decimal places (typically 2) |
is_active | boolean | Whether the currency is active for new transactions |
created_at | datetime | When the currency was created |
updated_at | datetime | When the currency was last updated |
List Currencies
/currenciesReturns a list of all currencies supported by the system, including both standard ISO currencies and any custom currencies configured for your organization.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
is_active | boolean | Filter by active status (default: true) |
limit | integer | Number of results (default: 20, max: 100) |
offset | integer | Pagination offset |
Response
{
"object": "list",
"data": [
{
"id": "cur_usd",
"code": "USD",
"name": "US Dollar",
"symbol": "$",
"decimal_places": 2,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
},
{
"id": "cur_eur",
"code": "EUR",
"name": "Euro",
"symbol": "€",
"decimal_places": 2,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
},
{
"id": "cur_gbp",
"code": "GBP",
"name": "British Pound",
"symbol": "£",
"decimal_places": 2,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"has_more": false,
"total_count": 3
}
Get Currency
/currencies/:idRetrieves the details of a specific currency by its ID.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The currency ID (e.g., "cur_usd") |
Response
{
"id": "cur_usd",
"code": "USD",
"name": "US Dollar",
"symbol": "$",
"decimal_places": 2,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Create Currency
/currenciesCreates a new custom currency for your organization. This is useful for cryptocurrencies, local currencies, or specialized financial instruments.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
code | string | Yes | Unique currency code (3-10 characters) |
name | string | Yes | Full currency name |
symbol | string | No | Currency symbol (defaults to code) |
decimal_places | integer | No | Decimal places (default: 2, max: 8) |
Response
{
"id": "cur_btc",
"code": "BTC",
"name": "Bitcoin",
"symbol": "₿",
"decimal_places": 8,
"is_active": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update Currency
/currencies/:idUpdates an existing currency. Note that the currency code cannot be changed after creation.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The currency ID to update |
Request Body
| Parameter | Type | Description |
|---|---|---|
name | string | Updated currency name |
symbol | string | Updated currency symbol |
decimal_places | integer | Updated decimal places |
is_active | boolean | Active status |
Response
{
"id": "cur_btc",
"code": "BTC",
"name": "Bitcoin (Legacy)",
"symbol": "₿",
"decimal_places": 8,
"is_active": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:45:00Z"
}
Currency Best Practices
Currency Code Standards
- Use ISO 4217 codes for fiat currencies (USD, EUR, GBP, JPY, etc.)
- Use common abbreviations for cryptocurrencies (BTC, ETH, ADA, etc.)
- Keep codes to 3-6 characters for readability
- Avoid spaces or special characters in codes
Decimal Places
- Fiat currencies: Typically 2 decimal places (USD, EUR, GBP)
- Cryptocurrencies: Often 8-18 decimal places depending on precision needs
- Precious metals: Usually 4-6 decimal places for troy ounces
Multi-Currency Accounting
- Set your organization's base currency during setup
- Use exchange rates for converting between currencies in reports
- Maintain separate accounts for each currency when needed
- Consider currency risk in financial planning
Need help?
Create a free account to access our support portal. Once signed in, use the Support tab in your dashboard to submit a support ticket — our team typically responds within 24 hours.
- ✨ For LLMs/AI assistants: Read our structured API reference