Fees
Data license: CC-BY-4.0 · Data source: bankproducts.info
4 rows where product_id = "saxo:stock_trading" sorted by amount descending
This data as json, CSV (advanced)
Suggested facets: fee_type, frequency, valid_from (date)
| id | product_id | bank_id | fee_type | label | amount ▲ | currency | frequency | tier | channel | note | source_page | valid_from | access_tier |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| saxo:stock_trading:manual_order | Stock Trading saxo:stock_trading | SAXO BANK (SCHWEIZ) AG saxo | transaction_commission | Manual order fee (phone/chat/email) | 50.0 | EUR | per_txn | EUR 50 per order placed manually via phone/chat/email. Online orders unaffected. | 2026-06-01 | pro | |||
| saxo:stock_trading:commission_emea | Stock Trading saxo:stock_trading | SAXO BANK (SCHWEIZ) AG saxo | transaction_commission | EMEA/APAC stock commission (Classic tier) | 0.03 | percent | per_txn | 3 bps of notional value per home.saxo Switzerland page. Applies to all EMEA + APAC exchanges including SIX, Xetra, LSE. Platinum/VIP lower. | 2026-06-01 | pro | |||
| saxo:stock_trading:commission_us | Stock Trading saxo:stock_trading | SAXO BANK (SCHWEIZ) AG saxo | transaction_commission | US stock commission (Classic tier) | 0.005 | USD | per_txn | USD 0.005 per share (0.5 cents per share, CPS). No minimum on US stocks per home.saxo Switzerland page. Platinum/VIP tiers lower; specific rates JS-rendered. | 2026-06-01 | pro | |||
| saxo:stock_trading:inactivity | Stock Trading saxo:stock_trading | SAXO BANK (SCHWEIZ) AG saxo | inactivity_fee | Inactivity fee | 0.0 | CHF | annual | Saxo explicitly states no inactivity fee. | 2026-06-01 | pro |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE fee (
id TEXT PRIMARY KEY, -- zkb:privatkonto:account_mgmt
product_id TEXT NOT NULL REFERENCES product(id),
bank_id TEXT NOT NULL REFERENCES bank(id), -- denormalized
fee_type TEXT NOT NULL, -- standardized key
label TEXT, -- human-readable German label from PDF
amount REAL, -- NULL if text-only or varies
currency TEXT DEFAULT 'CHF', -- CHF, EUR, USD, percent
frequency TEXT, -- monthly, annual, quarterly, per_txn, one_time, per_annum_pct
tier TEXT, -- for tiered pricing: "3rd card onwards", "vol:>250k", "member"
channel TEXT, -- ebanking, paper, counter, atm, app, post_office, all
note TEXT, -- conditions, fine print
source_page INTEGER,
valid_from TEXT,
access_tier TEXT NOT NULL DEFAULT 'free' -- freemium gating; propagated from parent product
CHECK (access_tier IN ('free', 'pro', 'business'))
);
CREATE INDEX idx_fee_product ON fee(product_id);
CREATE INDEX idx_fee_bank ON fee(bank_id);
CREATE INDEX idx_fee_type ON fee(fee_type);
CREATE INDEX idx_fee_category ON fee(fee_type, bank_id);
CREATE INDEX idx_fee_access_tier ON fee(access_tier);