home / bankproducts

Fees

One row per fee charged on a product. Every row carries a source_page reference to the original bank PDF. NULL amount means 'on request' (tailored pricing) or 'not published in current source'.

Data license: CC-BY-4.0 · Data source: bankproducts.info

10 rows where bank_id = "ek_speicher" sorted by amount descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: product_id, fee_type, amount, currency, frequency, channel, 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
ek_speicher:festhypothek:cancellation_fee Festhypothek ek_speicher:festhypothek Ersparniskasse Speicher ek_speicher processing_fee Hypothekenabloesung 250.0 CHF one_time     CHF 250 pro Hypothekenabloesung. Saldierungsspesen keine.   2024-01-01 pro      
ek_speicher:tresor:annual_fee Tresorfach ek_speicher:tresor Ersparniskasse Speicher ek_speicher annual_fee Tresorfach Jahresgebuehr 70.0 CHF annual     CHF 70 (kleinste 60mm) bis CHF 330 (groesste 608x600mm) je nach Groesse. 8 Groessenklassen.   2024-01-01 free      
ek_speicher:mieterkautionssparkonto:opening_fee Mieterkautionssparkonto ek_speicher:mieterkautionssparkonto Ersparniskasse Speicher ek_speicher one_time_fee Mieterkautionssparkonto Eroeffnungsgebuehr 50.0 CHF one_time     CHF 50 Eroeffnung. Keine Kontofuehrungsspesen.   2024-01-01 free      
ek_speicher:kontokorrent:swift_normal Kontokorrent-Konto ek_speicher:kontokorrent Ersparniskasse Speicher ek_speicher payment_fee_international Auslandzahlung Papierauftrag 5.0 CHF per_transaction   paper CHF 5 Papierauftrag Ausland. Dauerauftrag CHF 5 einmalig. Fremde Bankspesen + Posteinzahlungsspesen werden weiterbelastet. Konto-/Posten-/Tagesauszug CHF 1.20 Porto.   2024-01-01 free      
ek_speicher:kontokorrent:base_fee Kontokorrent-Konto ek_speicher:kontokorrent Ersparniskasse Speicher ek_speicher base_fee Kontofuehrungsspesen Kontokorrent 2.0 CHF monthly   all CHF 2/Monat Kontokorrent-Kontofuehrung.   2024-01-01 free      
ek_speicher:sparkonto:base_fee Sparkonto / Sparen 60+ ek_speicher:sparkonto Ersparniskasse Speicher ek_speicher base_fee Kontofuehrungsspesen Sparkonto 2.0 CHF monthly   all CHF 2/Monat Sparkonto + Sparen 60+. Saldierungsspesen keine.   2024-01-01 free      
ek_speicher:anlagesparkonto:base_fee Anlagesparkonto ek_speicher:anlagesparkonto Ersparniskasse Speicher ek_speicher base_fee Kontofuehrungsspesen Anlagesparkonto 2.0 CHF monthly   all CHF 2/Monat Anlagesparkonto-Kontofuehrung.   2024-01-01 free      
ek_speicher:sparkonto:nicht_kuendigungs Sparkonto / Sparen 60+ ek_speicher:sparkonto Ersparniskasse Speicher ek_speicher penalty_fee Nichtkuendigungs-Kommission 2.0 percent per_transaction     Bei Ueberschreitung der Rueckzugslimite (CHF 30k/3 Monate) ohne Kuendigungsfrist: 2% des limitueberschreitenden Betrags. Identisch publiziert bei Anlagesparkonto (auch 2%, dort als "automatische" Belastung formuliert).   2024-01-01 free      
ek_speicher:jugendsparkonto:base_fee Jugendsparkonto ek_speicher:jugendsparkonto Ersparniskasse Speicher ek_speicher base_fee Jugendsparkonto Kontofuehrung 0.0 CHF monthly     Spesenfrei.   2024-01-01 free      
ek_speicher:hypothekarzinssparkonto:base_fee Hypothekarzins-Sparkonto ek_speicher:hypothekarzinssparkonto Ersparniskasse Speicher ek_speicher base_fee Hypothekarzins-Sparkonto Kontofuehrung 0.0 CHF monthly     Keine Kontofuehrungsspesen.   2024-01-01 free      

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

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);
Powered by Datasette · Queries took 21.53ms · Data license: CC-BY-4.0 · Data source: bankproducts.info