home / bankproducts

Products

Retail banking products. Each row is one product offered by one bank. Categories: current_account, savings_account, pillar_3a, vested_benefits, mortgage, credit_card, debit_card, term_deposit, wealth_management, securities_trading, etc.

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

13 rows where bank_id = "cembra" sorted by bank_id descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: category, target_group, access_tier

id bank_id ▲ category name currency client_type target_group description valid_from source_document_id bpg access_tier is_tailored notice_period_days iso_account_type age_range_min age_range_max age_range_label status
cembra:barkredit Cembra Money Bank AG cembra personal_loan Cembra Barkredit CHF private standard Klassischer Konsumkredit. Vertraglich vereinbarter Effektivzins. Mahngebuehr CHF 40, Auflösungsgebuehr bis CHF 150. Persoenliche Vorsprache im Inkassofall CHF 200. Cembra ist Marktfuehrer im Schweizer Konsumkredit (35% Marktanteil).     BPG003H4PMYY free 0           active
cembra:barkredit_plus Cembra Money Bank AG cembra personal_loan Cembra Barkredit Plus CHF private premium Erweitertes Barkredit-Produkt mit zusaetzlichen Services. Gleiche Gebuehrenstruktur wie Standard-Barkredit.     BPG00368Y4XS free 0           active
cembra:auto_leasing Cembra Money Bank AG cembra leasing Cembra Auto-Leasing CHF private standard Fahrzeugfinanzierung via Leasing. Cembra ist die #2 im Schweizer Leasing-Markt (18% Marktanteil), verbunden mit ueber 3400 Autohaendlern in der Schweiz. Konditionen vom jeweiligen Haendler und Fahrzeug abhaengig.     BPG003X0J58D business 0           active
cembra:mastercard_premium Cembra Money Bank AG cembra credit_card Cembra Mastercard Premium CHF private standard Standard Cembra Mastercard. CHF 75/Jahr Hauptkarte, CHF 20 Zusatzkarte. Bargeldbezug 3.75% (min CHF 10). Bearbeitungsgebuehr Fremdwaehrung 2%. Verzugszins/Teilzahlungszins 12%.     BPG003FSJE9T free 0           active
cembra:mastercard_gold Cembra Money Bank AG cembra credit_card Cembra Mastercard Gold CHF private premium Gold-Kreditkarte mit Premium-Leistungen. CHF 135/Jahr Hauptkarte, CHF 50 Zusatzkarte. Selbe Transaktionsgebuehren wie Premium.     BPG00344TVXE free 0           active
cembra:cumulus_mastercard Cembra Money Bank AG cembra credit_card Cumulus-Mastercard World (Migros Co-Brand) CHF private standard Co-Branded mit Migros Cumulus. Gratiskarte (CHF 0/Jahr). 1 Cumulus-Punkt pro CHF in der Migros, 1 Punkt pro CHF 3 ausserhalb. Eigenes Kartenbild gegen CHF 30. Bargeldbezug in der Migros 0%, sonst 3.75% (min CHF 10).     BPG003HQ5D2G free 0           active
cembra:tcs_mastercard Cembra Money Bank AG cembra credit_card TCS Mastercard CHF private standard Co-Branded mit Touring Club Schweiz (TCS). Eigene Gebuehrenstruktur mit TCS-Mitglieder-Vorteilen. Pannenhilfe-Integration.     BPG0030X10DT free 0           active
cembra:lipo_mastercard Cembra Money Bank AG cembra credit_card Lipo Mastercard CHF private standard Co-Branded mit Lipo Retailer. Rabatte bei Lipo-Einkaeufen.     BPG003NM2MC4 free 0           active
cembra:ikea_mastercard Cembra Money Bank AG cembra credit_card IKEA Mastercard CHF private standard Co-Branded mit IKEA. IKEA Family-Rabatte und Rueckverguetungen bei IKEA-Einkaeufen.     BPG003SWTXQP free 0           active
cembra:fnac_mastercard Cembra Money Bank AG cembra credit_card Fnac Mastercard CHF private standard Co-Branded mit Fnac Schweiz. Punkte und Rabatte bei Fnac-Einkaeufen.     BPG003H2DQPG free 0           active
cembra:certo_one_mastercard Cembra Money Bank AG cembra credit_card Certo One Mastercard CHF private standard Cembra-Loyalty-Programm "Certo". One-Kategorie-Kreditkarte.     BPG0034B1RJM free 0           active
cembra:mysavings Cembra Money Bank AG cembra savings_account Cembra mySavings CHF private standard Online-Direktbank-Sparplattform. Pure Online-Onboarding via mySavings.cembra.ch. Verwaltung via Web/App.     BPG003MCDX2A free 0           active
cembra:kassenobligation Cembra Money Bank AG cembra term_deposit Cembra Kassenobligation CHF private standard Kassenobligation in CHF. Garantierter Zinssatz, feste Laufzeiten 2-10 Jahre. Stueckelung ab CHF 20k in 1000er-Schritten bis max CHF 1m pro Transaktion. Kein Handel waehrend Laufzeit. Schweizer Schuldnerin mit S&P A- Rating. Kauf via depotfuehrender Bank moeglich (kein Depotzwang bei Cembra).     BPG003GZJ93S pro 0           active

Advanced export

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

CSV options:

CREATE TABLE product (
    id                  TEXT PRIMARY KEY,  -- zkb:privatkonto, ubs:key4_banking
    bank_id             TEXT NOT NULL REFERENCES bank(id),
    category            TEXT NOT NULL,     -- current_account, savings_account, pillar_3a, vested_benefits,
                                           -- debit_card, credit_card, prepaid_card, package, ebanking,
                                           -- mortgage, wealth_management, term_deposit, securities_trading,
                                           -- fiduciary_deposit, safe_deposit, guarantee, leasing,
                                           -- financial_planning, personal_advisory, loyalty_program,
                                           -- digital_vault, fx_subscription, robo_advisory, self_directed_trading,
                                           -- metal_account, deposit_account, check
    name                TEXT NOT NULL,     -- bank's own product name
    currency            TEXT DEFAULT 'CHF',
    client_type         TEXT DEFAULT 'private',  -- private, business, institutional
    target_group        TEXT,              -- standard, young, children, students, seniors, eco, gift, rental_deposit, member
    description         TEXT,
    valid_from          TEXT,
    source_document_id  INTEGER REFERENCES source_document(id),
    bpg                 CHAR(12)        -- opaque global id, BPG003xxxxxx; populated post-load by bpg_assignments.sql
        CHECK (bpg IS NULL OR bpg GLOB 'BPG003[0-9A-HJKMNP-TV-Z][0-9A-HJKMNP-TV-Z][0-9A-HJKMNP-TV-Z][0-9A-HJKMNP-TV-Z][0-9A-HJKMNP-TV-Z][0-9A-HJKMNP-TV-Z]'),
    access_tier         TEXT NOT NULL DEFAULT 'free'  -- freemium gating: free public, pro/business paid
        CHECK (access_tier IN ('free', 'pro', 'business')),
    is_tailored         INTEGER             -- v2.6 (atom #278): mirrors CDS-AU (Australian Open Banking) isTailored.
                                            --   0 = pricing publicly published in a schedule (machine-readable, comparable);
                                            --   1 = negotiated per client (UHNW classical private banking, business loans);
                                            --   NULL = unknown / not yet classified (default for new loads).
                                            -- Distinguishes "we haven't crawled it" (NULL) from "bank deliberately
                                            -- doesn't publish because it's relationship-priced" (1) — three states
                                            -- that previously collapsed into "fee.amount IS NULL".
        CHECK (is_tailored IS NULL OR is_tailored IN (0, 1)),
    notice_period_days  INTEGER             -- v2.7 (atom #307): normalised withdrawal notice in days.
                                            --   0/NULL = on-demand; X = days notice. Conversion: months×30,
                                            --   years×365, days verbatim. Backfilled from
                                            --   product_feature.notice_period free-text by
                                            --   db/notice_period_backfill.sql.
        CHECK (notice_period_days IS NULL OR notice_period_days >= 0),
    iso_account_type    CHAR(4)             -- v2.8 (atom #308): ISO 20022 ExternalCashAccountType1Code.
                                            --   4-letter code from the official ISO enum: CACC (Current),
                                            --   SVGS (Savings), LOAN, SACC (Special), MOMA (Money Market),
                                            --   CHAR (Charges), CASH, etc.
                                            --   NULL for categories outside ISO scope: cards
                                            --   (debit/credit/prepaid), mandates (wealth_management,
                                            --   securities_trading, fiduciary_deposit), CH-specific
                                            --   (pillar_3a, vested_benefits, pension_account).
                                            --   Mapped from `category` by db/iso_account_type_backfill.sql.
                                            --   Backfill is conservative — when in doubt, leave NULL rather
                                            --   than force-fit a code that misrepresents the product.
        CHECK (iso_account_type IS NULL OR iso_account_type GLOB '[A-Z][A-Z][A-Z][A-Z]'),
    -- v3.1 (2026-08-12): age-cohort progression fields (atom #397). NULL = unrestricted.
    -- Populated by db/age_range_backfill.sql from product.name/description regex.
    age_range_min       INTEGER
        CHECK (age_range_min IS NULL OR (age_range_min >= 0 AND age_range_min <= 120)),
    age_range_max       INTEGER
        CHECK (age_range_max IS NULL OR (age_range_max >= 0 AND age_range_max <= 120)),
    age_range_label     TEXT,
    -- v3.3 (2026-08-12, PR #410): product-lifecycle status.
    status              TEXT NOT NULL DEFAULT 'active'
        CHECK (status IN ('active', 'legacy_bestand_only', 'retired'))
);
CREATE INDEX idx_product_bank ON product(bank_id);
CREATE INDEX idx_product_category ON product(category);
CREATE INDEX idx_product_lookup ON product(bank_id, category, client_type, target_group);
CREATE UNIQUE INDEX idx_product_bpg ON product(bpg) WHERE bpg IS NOT NULL;
CREATE INDEX idx_product_access_tier ON product(access_tier);
CREATE INDEX idx_product_is_tailored ON product(is_tailored) WHERE is_tailored IS NOT NULL;
CREATE INDEX idx_product_iso_account_type ON product(iso_account_type) WHERE iso_account_type IS NOT NULL;
CREATE INDEX idx_product_notice_period ON product(notice_period_days) WHERE notice_period_days IS NOT NULL;
CREATE INDEX idx_product_age_range ON product(age_range_min, age_range_max) WHERE age_range_min IS NOT NULL OR age_range_max IS NOT NULL;
CREATE INDEX idx_product_status ON product(status) WHERE status != 'active';
Powered by Datasette · Queries took 24.066ms · Data license: CC-BY-4.0 · Data source: bankproducts.info