Fees
Data license: CC-BY-4.0 · Data source: bankproducts.info
10 rows where bank_id = "ig" sorted by amount descending
This data as json, CSV (advanced)
Suggested facets: product_id, fee_type, currency, frequency, access_tier, valid_from (date)
| id | product_id | bank_id | fee_type | label | amount ▲ | currency | frequency | tier | channel | note | source_page | valid_from | access_tier | tier_floor | tier_ceiling | compliance_tier |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ig:trading_account:fx_conversion | IG Trading Account ig:trading_account | IG Bank S.A. ig | fx_markup | Standard FX conversion fee | 0.7 | percent | per_txn | Captured from ig.com/uk Help page (consistent across IG entities). Multiplier 1.007 applied to mid-rate. Charged on instant or daily-batched basis depending on account setting. | 2026-06-01 | free | ||||||
| ig:cfd_trading:commission_us | CFD Trading ig:cfd_trading | IG Bank S.A. ig | transaction_commission | US stock CFD commission | USD | per_txn | Per-share or percent model; tier-by-tier table JS-rendered on ig.com (atom #271). Captured: industry-knowledge US CFD commissions for IG typically USD 0.02 per share min USD 10, but unverified per Cloudflare-gated Swiss page. | 2026-06-01 | pro | |||||||
| ig:cfd_trading:commission_emea | CFD Trading ig:cfd_trading | IG Bank S.A. ig | transaction_commission | EMEA stock CFD commission | percent | per_txn | Percent-of-notional or basis-points model on EMEA/SIX/UK/DE exchanges. Tier table JS-rendered. | 2026-06-01 | pro | |||||||
| ig:share_dealing:commission | Share Dealing ig:share_dealing | IG Bank S.A. ig | transaction_commission | Share dealing commission | CHF | per_txn | Direct stock trading. Pricing not captured (Swiss pages 403 Cloudflare). | 2026-06-01 | pro | |||||||
| ig:trading_account:inactivity | IG Trading Account ig:trading_account | IG Bank S.A. ig | inactivity_fee | Inactivity fee | GBP | monthly | IG historical published rate: GBP 12 per month after 24 months without activity (per ig.com/uk help). Swiss-specific value not verified due to Cloudflare gate. | 2026-06-01 | free | |||||||
| ig:trading_account:funding_card | IG Trading Account ig:trading_account | IG Bank S.A. ig | load_fee | Card deposit fee | percent | per_txn | Industry-standard for IG: bank transfers free; card deposits up to 1.5%. Swiss-specific value not verified. | 2026-06-01 | free | |||||||
| ig:trading_platform:cleanup_sweep_on_request | IG Web Platform + ProRealTime + Trading App ig:trading_platform | IG Bank S.A. ig | base_fee | multi | annual | Konditionen fuer IG Web Platform + ProRealTime + Trading App (ebanking) nicht im 2026-Q3 Crawl publiziert / auf Anfrage. Bulk NULL-anchor via cleanup-sweep. | free | |||||||||
| ig:fx_trading:cleanup_sweep_on_request | FX Trading ig:fx_trading | IG Bank S.A. ig | depot_fee | multi | annual | Konditionen fuer FX Trading (securities_trading) nicht im 2026-Q3 Crawl publiziert / auf Anfrage. Bulk NULL-anchor via cleanup-sweep. | pro | |||||||||
| ig:options_trading:cleanup_sweep_on_request | Options Trading ig:options_trading | IG Bank S.A. ig | depot_fee | multi | annual | Konditionen fuer Options Trading (securities_trading) nicht im 2026-Q3 Crawl publiziert / auf Anfrage. Bulk NULL-anchor via cleanup-sweep. | pro | |||||||||
| ig:turbo_warrants:cleanup_sweep_on_request | Turbo Warrants ig:turbo_warrants | IG Bank S.A. ig | depot_fee | multi | annual | Konditionen fuer Turbo Warrants (securities_trading) nicht im 2026-Q3 Crawl publiziert / auf Anfrage. Bulk NULL-anchor via cleanup-sweep. | 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')),
-- v3.2 (2026-08-12): structured tier bounds. NULL = open-ended.
-- tier_ceiling is EXCLUSIVE (matches interest_rate convention).
-- Populated by db/fee_tier_backfill.sql from free-text fee.label regex-parse.
tier_floor REAL
CHECK (tier_floor IS NULL OR tier_floor >= 0),
tier_ceiling REAL
CHECK (tier_ceiling IS NULL OR tier_ceiling >= 0),
-- v3.4 (2026-08-12, PR #411): compliance-tier attribution.
compliance_tier TEXT
CHECK (compliance_tier IS NULL OR compliance_tier IN ('standard', 'enhanced_monitoring', 'pep', 'sanctioned_jurisdiction'))
);
CREATE INDEX idx_fee_product ON fee(product_id);
CREATE INDEX idx_fee_bank ON fee(bank_id);
CREATE INDEX idx_fee_tier ON fee(tier_floor, tier_ceiling) WHERE tier_floor IS NOT NULL OR tier_ceiling IS NOT NULL;
CREATE INDEX idx_fee_compliance_tier ON fee(compliance_tier) WHERE compliance_tier IS NOT NULL;
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);