Command Palette

Search for a command to run...

Guide

Savings Account Management

Learn how to create and manage savings accounts, process deposits and withdrawals, and understand interest calculations in Apache Fineract.

Understanding Savings Products

Before creating savings accounts, you need to understand savings products. Each product defines the terms like interest rates, minimum balance, and withdrawal limits.

bash
# List available savings products
curl --request GET \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsproducts" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default"

Create a Savings Account

Open a new savings account for a client:

bash
curl --request POST \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
    "clientId": 1,
    "productId": 1,
    "fieldOfficerId": 1,
    "submittedOnDate": "01 January 2024",
    "externalId": "SAV-001",
    "dateFormat": "dd MMMM yyyy",
    "locale": "en"
  }'

Approve and Activate

Approve and activate the savings account:

bash
# Approve
curl --request POST \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts/1?command=approve" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
    "approvedOnDate": "01 January 2024",
    "dateFormat": "dd MMMM yyyy",
    "locale": "en"
  }'

# Activate
curl --request POST \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts/1?command=activate" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
    "activatedOnDate": "01 January 2024",
    "dateFormat": "dd MMMM yyyy",
    "locale": "en"
  }'

Making Deposits

Deposit funds into the savings account:

bash
curl --request POST \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts/1/transactions?command=deposit" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
    "transactionDate": "05 January 2024",
    "transactionAmount": 5000,
    "paymentTypeId": 1,
    "dateFormat": "dd MMMM yyyy",
    "locale": "en",
    "note": "Initial deposit"
  }'

Making Withdrawals

Withdraw funds from the savings account:

bash
curl --request POST \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts/1/transactions?command=withdrawal" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
    "transactionDate": "10 January 2024",
    "transactionAmount": 1000,
    "paymentTypeId": 1,
    "dateFormat": "dd MMMM yyyy",
    "locale": "en"
  }'

Check Account Balance

Retrieve the current account balance and transaction history:

bash
curl --request GET \
  --url "https://your-instance.com/fineract-provider/api/v1/savingsaccounts/1?associations=transactions" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default"