Fees
Data license: CC-BY-4.0 · Data source: bankproducts.info
14 rows where product_id = "vdkb:visa_debit" sorted by amount descending
This data as json, CSV (advanced)
Suggested facets: fee_type, amount, frequency, channel, 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| vdkb:visa_debit:annual_fee | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | annual_fee | Cotisation annuelle carte principale | 40.0 | CHF | annual | Incluse dans les formules Juniors, Jeunes, Campus, Directe, Classique, Premium et Famille | 10 | 2026-01-01 | free | |||||
| vdkb:visa_debit:supplementary_fee | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | supplementary_card | Cotisation annuelle carte supplementaire | 40.0 | CHF | annual | 10 | 2026-01-01 | free | ||||||
| vdkb:visa_debit:replacement | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | card_replacement | Carte de remplacement | 40.0 | CHF | one_time | Formule Juniors: CHF 20 | 10 | 2026-01-01 | free | |||||
| vdkb:visa_debit:card_block | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | card_block | Blocage de carte | 20.0 | CHF | one_time | 10 | 2026-01-01 | free | ||||||
| vdkb:visa_debit:card_cash_block | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | card_block | Blocage de carte Cash | 20.0 | CHF | one_time | 17 | 2026-01-01 | free | ||||||
| vdkb:visa_debit:card_cash_replacement | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | card_replacement | Carte Cash de remplacement | 10.0 | CHF | one_time | 17 | 2026-01-01 | free | ||||||
| vdkb:visa_debit:pin_replacement | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | pin_replacement | Remplacement code NIP | 5.0 | CHF | one_time | 10 | 2026-01-01 | free | ||||||
| vdkb:visa_debit:atm_eur_other | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | atm_domestic_other_eur | Retrait EUR aux bancomats d'autres banques en Suisse | 5.0 | CHF | per_txn | atm | 12 | 2026-01-01 | free | |||||
| vdkb:visa_debit:atm_abroad | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | atm_abroad | Retrait aux bancomats a l'etranger | 5.0 | CHF | per_txn | atm | +0.5% du montant, conversion au cours BCV | 12 | 2026-01-01 | free | ||||
| vdkb:visa_debit:atm_other | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | atm_domestic_other | Retrait CHF aux bancomats d'autres banques en Suisse | 3.0 | CHF | per_txn | atm | 12 | 2026-01-01 | free | |||||
| vdkb:visa_debit:purchase_abroad_chf | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | purchase_abroad_chf | Achat dans un commerce a l'etranger en CHF | 2.0 | CHF | per_txn | pos | Par operation | 12 | 2026-01-01 | free | ||||
| vdkb:visa_debit:purchase_abroad_fx | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | purchase_abroad_fx | Achat dans un commerce a l'etranger en monnaie etrangere | 2.0 | CHF | per_txn | pos | Conversion au cours BCV; +1.75% du montant | 12 | 2026-01-01 | free | ||||
| vdkb:visa_debit:online_abroad_fx | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | online_purchase_fx | Achat en ligne sur un site etranger en monnaie etrangere | 1.0 | CHF | per_txn | ebanking | 12 | 2026-01-01 | free | |||||
| vdkb:visa_debit:atm_own | Carte Visa Debit vdkb:visa_debit | Banque Cantonale Vaudoise vdkb | atm_domestic_own | Retrait CHF/EUR aux bancomats BCV et banques cantonales | 0.0 | CHF | per_txn | atm | 12 | 2026-01-01 | free |
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);