Settlement Query
QuerySettlement
Input Parameters
| Parameter | Type | Description |
|---|---|---|
| account | Account | Account |
| range | string | Time range, valid values: "0d" (Today), "3d" (3 Days) |
Result Return
| Parameter | Type | Description |
|---|---|---|
| IsSuccess | bool | Whether successful |
| Data | *SettlementData | Returns settlement info |
| Message | *string | Returns error message when IsSuccess = false |
Settlement Data Fields
| Parameter | Type | Description |
|---|---|---|
| Account | *AccountRes | Account Info |
| Details | *[]Settlement | Settlement Details List |
Account Info AccountRes Fields
| Parameter | Type | Description |
|---|---|---|
| Account | *string | Account |
| BranchNo | *string | Branch Code |
Settlement Details Settlement Fields
| Parameter | Type | Description |
|---|---|---|
| Date | *string | Query Date |
| SettlementDate | *string | Settlement Date (Optional) |
| BuyValue | *int64 | Buy Amount (Optional) |
| BuyFee | *int64 | Buy Fee (Optional) |
| BuySettlement | *int64 | Buy Settlement Amount (Optional) |
| BuyTax | *int64 | Buy Tax (Optional) |
| SellValue | *int64 | Sell Amount (Optional) |
| SellFee | *int64 | Sell Fee (Optional) |
| SellSettlement | *int64 | Sell Settlement Amount (Optional) |
| SellTax | *int64 | Sell Tax (Optional) |
| TotalBsValue | *int64 | Total Buy/Sell Amount (Optional) |
| TotalFee | *int64 | Total Fee (Optional) |
| TotalTax | *int64 | Total Tax (Optional) |
| TotalSettlementAmount | *int64 | Total Settlement Amount (Optional) |
| Currency | *string | Currency (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
},
},
},
}