Products
Data license: CC-BY-4.0 · Data source: bankproducts.info
10 rows where bank_id = "bonhote" sorted by bank_id descending
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bonhote:classic | Banque Bonhôte & Cie SA bonhote | wealth_management | Mandat de gestion Classic | CHF | private | high_net_worth | Discretionary asset management mandate, Bonhôte's flagship mandate. Implementation via investment funds + direct securities. Four investment profiles (Defensive / Balanced / Growth / Equities) with sliding asset allocations. Managed from Neuchâtel by senior portfolio managers (Julien Stähli, Karine Patron, Bertrand Lemattre, Pascal Maire). Atom #274: pricing tailored, no public fee schedule. | BPG003X7WRFS | pro | 1 | ||||
| bonhote:select | Banque Bonhôte & Cie SA bonhote | wealth_management | Mandat de gestion Select | CHF | private | high_net_worth | Dynamic discretionary mandate for higher-AuM clients who can support diversification via direct securities (rather than funds). "Conçu pour les investisseurs qui cherchent une stratégie d'investissement dynamique et efficace avec une implémentation principalement au travers de lignes directes." Same four profiles as Classic but higher entry AuM expected for line-direct diversification. | BPG0033WZSH1 | pro | 1 | ||||
| bonhote:impact | Banque Bonhôte & Cie SA bonhote | wealth_management | Mandat de gestion Impact (responsible investment) | CHF | private | high_net_worth | Discretionary mandate in responsible investment — ESG-integrated portfolio construction. Part of Bonhôte's ESG core brand positioning ("ESG principles are an integral part of our investment process and preference is given to sustainable investments in our asset allocation strategy"). Complements the BONHÔTE Impact Fund. | BPG003058728 | pro | 1 | ||||
| bonhote:megatrend | Banque Bonhôte & Cie SA bonhote | wealth_management | Mandat de gestion Megatrend | CHF | private | high_net_worth | Thematic discretionary mandate focused on long-term megatrends (demographics, technology, sustainability, etc.). Tailored fee structure on-request. | BPG0035635BA | pro | 1 | ||||
| bonhote:global | Banque Bonhôte & Cie SA bonhote | wealth_management | Mandat de gestion Global | CHF | private | high_net_worth | Global-diversification discretionary mandate. Geographic and asset-class diversification across global markets. Tailored on-request. | BPG003WBTVCA | pro | 1 | ||||
| bonhote:fund_swiss_equity_momentum | Banque Bonhôte & Cie SA bonhote | wealth_management | BONHÔTE — Swiss Equity Momentum fund | CHF | private | wealthy | In-house actively-managed Swiss equity fund. Quantitative + systematic approach combining Momentum + Fundamental + Social & Governance factors. Benchmark: Swiss Performance Index (SPI). Targets outperformance of SPI on medium/long-term horizon. KID/PRIIP available (2026-03-19 version captured). | BPG003R3FW0N | pro | 1 | ||||
| bonhote:fund_impact | Banque Bonhôte & Cie SA bonhote | wealth_management | BONHÔTE Impact Fund | CHF | private | wealthy | In-house ESG/responsible-investment fund (Bonhôte Impact). Sustainable investing core to Bonhôte's brand. Underlying fund vehicle for the Impact mandate. | BPG0036SWQVA | pro | 1 | ||||
| bonhote:fund_ch_gold_bars_esg | Banque Bonhôte & Cie SA bonhote | wealth_management | BONHÔTE CH Swiss Gold Bars ESG fund | CHF | private | wealthy | In-house physical-gold-backed fund with ESG sourcing constraints. Differentiated from passive gold trackers by ESG-compliant supply-chain due diligence on the underlying physical gold bars. | BPG0038CMTBE | pro | 1 | ||||
| bonhote:debit_mastercard | Banque Bonhôte & Cie SA bonhote | debit_card | Debit Mastercard | CHF | private | wealthy | Mastercard Debit card linked to Bonhôte client account. Issued via SIX as Bonhôte's Mastercard processing partner. Standard Mastercard Debit functionality (cash withdrawal + payment in/out CH). Chargeback procedure via SIX with 30-day window. Fees per separate tariff (not published). | BPG003D6K2R5 | free | 1 | ||||
| bonhote:custody | Banque Bonhôte & Cie SA bonhote | securities_trading | Custody account (Compte de garde) | CHF | private | high_net_worth | Securities custody account associated with all mandates. Includes 401(k)-equivalent reporting in EN/FR/DE for clients with multi-jurisdiction tax needs. Fee schedule not published. | BPG0031E204F | pro | 1 |
Advanced export
JSON shape: default, array, newline-delimited, object
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]')
);
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;