When I use the FinanceKit API to get the account balance history for my Apple Cash account, the data shows that I have $1 as a debit. The accounts endpoint reveals that the Apple Cash account is an asset account. This means that according to the FinanceKit data my account balance is -$1. However, I know this is incorrect because when I look at my Apple Cash account using the Wallet app I see that I have a balance of $1 (see image below). I believe the issue is the creditDebitIndicator’s value in the Account Balance data. Here are the steps to recreate this.
- Open new Apple Cash account
- Send $1 to Apple Cash account
- Query accountBalanceHistory with a nil history token (to fetch all data)
- Look at the account balance data and see the $1 and “debit” for creditDebitIndicator
Also, the documentation says that an asset account with a balance of $0 will have creditDebitIndicator/Credit, however, I am getting creditDebitIndicator/Debit. See https://developer.apple.com/documentation/financekit/balance/creditdebitindicator
Here is a formatted output of the data from FinanceKit showing my balance_history. Please note that the transaction history's creditDebitIndicator value is correct. This leads me to believe it’s some issue with FinanceKit, but I am not sure. Any help is greatly appreciated.
"balance_history": [
{
"inserted": [
{
"id": "A",
"account_id": "X",
"available": {
"amount": {
"amount": 0,
"currency_code": "USD"
},
"as_of_date": "2026-03-30T17:02:51Z",
"credit_debit_indicator": "debit"
},
"booked": {
"amount": {
"amount": 0,
"currency_code": "USD"
},
"as_of_date": "2026-03-30T17:02:51Z",
"credit_debit_indicator": "debit"
},
"currency_code": "USD"
}
],
"deleted": [],
"updated": []
},
{
"inserted": [
{
"available": {
"as_of_date": "2026-04-02T13:12:48Z",
"credit_debit_indicator": "debit",
"amount": {
"amount": 1,
"currency_code": "USD"
}
},
"id": "B",
"booked": {
"amount": {
"amount": 1,
"currency_code": "USD"
},
"as_of_date": "2026-04-02T13:12:48Z",
"credit_debit_indicator": "debit"
},
"currency_code": "USD",
"account_id": "X"
}
],
"updated": [],
"deleted": []
},
{
"updated": [
{
"id": "B",
"booked": {
"as_of_date": "2026-04-02T13:12:48Z",
"credit_debit_indicator": "debit",
"amount": {
"currency_code": "USD",
"amount": 1
}
},
"account_id": "X",
"currency_code": "USD",
"available": {
"credit_debit_indicator": "debit",
"amount": {
"amount": 1,
"currency_code": "USD"
},
"as_of_date": "2026-04-02T13:12:48Z"
}
}
],
"deleted": [],
"inserted": []
},
],
Xcode Version 26.4 (17E192) iOS 26.3.1 (23D8133) iPhone 14