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

13 rows where bank_id = "cmv" sorted by amount descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: product_id, fee_type, label, amount, currency, frequency, source_page, 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
cmv:compte_salaire_non_domicilie:account_mgmt Compte Salaire Non domicilié en Suisse cmv:compte_salaire_non_domicilie CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt Forfait mensuel 192.0 CHF annual     CHF 16 par mois = CHF 192/an. Réservé aux clients domiciliés à l'étranger. 24   free      
cmv:compte_combier:account_mgmt Compte Combier cmv:compte_combier CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt Forfait mensuel 96.0 CHF annual     CHF 8 par mois = CHF 96/an. Aucun frais d'écriture. A vue sans limite de retrait. 10   free      
cmv:compte_courant_prive:account_mgmt Compte Courant Privé cmv:compte_courant_prive CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt Forfait mensuel 60.0 CHF annual     CHF 5 par mois = CHF 60/an. Compte courant avec limite de crédit (découvert garanti par valeurs patrimoniales). 11   free      
cmv:compte_maison:account_mgmt Compte Maison cmv:compte_maison CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt Forfait mensuel 36.0 CHF annual     CHF 3 par mois = CHF 36/an. Réservé aux particuliers au bénéfice d'un prêt hypothécaire. Taux de rémunération attrayant. 20   free      
cmv:compte_prive_25:closure Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv service_fee Clôture de compte 20.0 CHF per_use       7 2025-01-01 free      
cmv:compte_prive_25:transfer_etranger Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv transfer_intl Ordre de paiement à l'étranger (guichet) 15.0 CHF per_txn     Guichet. Via Netbanking Plus zone euro SEPA: CHF 1. 6 2025-01-01 free      
cmv:compte_prive_25:atm_etranger Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv atm_withdrawal Retrait au Bancomat à l'étranger 5.0 CHF per_use     CHF 5/retrait. ATM CMV et ATM Suisse: gratuit. 6 2025-01-01 free      
cmv:compte_prive_25:bulletins Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv service_fee Bulletins de versement (au-delà 20/an) 5.0 CHF per_use     Premiers 20 gratuits par an, puis CHF 5/commande. 6 2025-01-01 free      
cmv:debit_mastercard:atm_etranger Carte Debit Mastercard cmv:debit_mastercard CMV SA (Caisse Mutuelle de la Vallée) cmv atm_withdrawal Retrait ATM étranger 5.0 CHF per_use     CHF 5/retrait. ATM CMV et ATM Suisse gratuits. 6 2025-01-01 free      
cmv:compte_prive_25:netbanking_sepa Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv transfer_sepa_out Ordre paiement étranger zone euro SEPA via Netbanking Plus 1.0 CHF per_txn     Netbanking Plus pour SEPA. Via guichet: CHF 15. 7 2025-01-01 free      
cmv:compte_prive_25:monthly Compte Privé 25 cmv:compte_prive_25 CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt Forfait mensuel (Compte Privé 25) 0.0 CHF monthly     Verbatim PDF p.6: "Forfait mensuel: Offert". Free for 14-25 year-olds. 6 2025-01-01 free      
cmv:compte_courant_entreprises_chf:on_request Compte Courant Entreprises CHF cmv:compte_courant_entreprises_chf CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt     CHF annual     Compte courant Entreprises en CHF. Prix détaillés dans la brochure entreprises (page 22 de Prestations-et-Conditions PDF).     free      
cmv:compte_courant_entreprises_me:on_request Compte Courant Entreprises Monnaies Étrangères cmv:compte_courant_entreprises_me CMV SA (Caisse Mutuelle de la Vallée) cmv account_mgmt     EUR annual     Compte courant Entreprises en monnaies étrangères (EUR/USD/GBP). Agio/Disagio 0.5% par opération pour versements/prélèvements. Prix sur demande.     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 111.243ms · Data license: CC-BY-4.0 · Data source: bankproducts.info