Skip to main content

Settlement Query

QuerySettlement

Input Parameters

ParameterTypeDescription
accountAccountAccount
rangestringTime range, valid values: "0d" (Today), "3d" (3 Days)

Result Return

ParameterTypeDescription
IsSuccessboolWhether successful
Data*SettlementDataReturns settlement info
Message*stringReturns error message when IsSuccess = false

Settlement Data Fields

ParameterTypeDescription
Account*AccountResAccount Info
Details*[]SettlementSettlement Details List

Account Info AccountRes Fields

ParameterTypeDescription
Account*stringAccount
BranchNo*stringBranch Code

Settlement Details Settlement Fields

ParameterTypeDescription
Date*stringQuery Date
SettlementDate*stringSettlement Date (Optional)
BuyValue*int64Buy Amount (Optional)
BuyFee*int64Buy Fee (Optional)
BuySettlement*int64Buy Settlement Amount (Optional)
BuyTax*int64Buy Tax (Optional)
SellValue*int64Sell Amount (Optional)
SellFee*int64Sell Fee (Optional)
SellSettlement*int64Sell Settlement Amount (Optional)
SellTax*int64Sell Tax (Optional)
TotalBsValue*int64Total Buy/Sell Amount (Optional)
TotalFee*int64Total Fee (Optional)
TotalTax*int64Total Tax (Optional)
TotalSettlementAmount*int64Total Settlement Amount (Optional)
Currency*stringCurrency (Optional)

Request Example

package main

import (
"fmt"
"fubon"
)

func main() {
sdk := fubon.NewSDK()
// ... Login, connection, and other initialization steps ...

// Query Settlement (3 Days)
settlement, err := sdk.Accounting.QuerySettlement(account, "3d")
if err != nil {
fmt.Printf("❌ Query Settlement Format/Parser Error: %v\n", err)
return
}

if settlement.IsSuccess && settlement.Data != nil {
fmt.Println("✅ Settlement Data:")
fmt.Printf("Account: %s\n", *settlement.Data.Account.Account)

if settlement.Data.Details != nil {
for i, detail := range *settlement.Data.Details {
fmt.Printf("\n=== Day %d (%s) ===\n", i+1, *detail.Date)

if detail.SettlementDate != nil {
fmt.Printf("Settlement Date: %s\n", *detail.SettlementDate)
fmt.Printf("Buy: %d (Fee: %d, Tax: %d)\n",
*detail.BuyValue, *detail.BuyFee, *detail.BuyTax)
fmt.Printf("Sell: %d (Fee: %d, Tax: %d)\n",
*detail.SellValue, *detail.SellFee, *detail.SellTax)
fmt.Printf("Total Settlement: %d\n", *detail.TotalSettlementAmount)
} else {
fmt.Println("No settlement data yet")
}
}
}
}
}

Response Example

Result{
IsSuccess: true,
Message: nil,
Data: &SettlementData{
Account: &AccountRes{
Account: "26",
BranchNo: "6460",
},
Details: &[]Settlement{
{
Date: "2024/03/04",
SettlementDate: "2024/03/06",
BuyValue: 735500,
BuyFee: 313,
BuySettlement: -1429513,
BuyTax: 0,
SellValue: 770500,
SellFee: 320,
SellSettlement: 0,
SellTax: 2309,
TotalBsValue: 1506000,
TotalFee: 633,
TotalSettlementAmount: -1429513,
TotalTax: 2309,
Currency: "TWD",
},
{
Date: "2024/03/06",
SettlementDate: nil, // Settlement data not yet generated
// Other fields are nil
},
},
},
}