CorebanqCorebanq Developer Docs
Ledgers

Swiss SME Account System Structure

Swiss SME Account System Structure

Abstract Hierarchy & Subledgers

While the Chart of Accounts (above) defines the banking logic, the actual volume of data resides in Subledgers.

Control vs. Subledger

  • Control Ledger: Structural. Defines policies (overdraft, currency, type).
  • Subledger: Transactional. Holds actual customer balances. It inherits its configuration from the parent Control Ledger but maintains its own available and posted balances.

Legend

  • Class 1: Assets (100-199)
  • Class 2: Liabilities (200-299)
  • Class 3: Revenue (300-399)
  • Class 4: Control Accounts (400-499)
  • Class 5: Foreign Exchange movements (500-599)
  • Class 7: Analytical Accounts (700-799)

Note:

  • Accounts highlighted in pink are monitored on the dashboard (dashboard: true).
  • Accounts highlighted in blue are system-managed accounts for funds in transit.

Chart of Accounts Structure

The CoreBanq chart of accounts follows this structure:

  • Class 1: Assets (100-199)

    • Group 10: Current Assets (100-199)
      • 102: Bank Accounts
        • 1021: Bank Accounts Audax
        • 1024: Nostro Accounts
  • Class 2: Liabilities (200-299)

    • Group 20: Short-term Liabilities (200-299)
      • 220: Other Short-term Liabilities
        • 2201: Public Customer Deposits
        • 2203: Exempt Customer Deposits
  • Class 3: Revenue (300-399)

    • Group 30: Sales of Services (300-399)
      • 310: Sales of Services
        • 3101: Account Service Fees
        • 3102: Transaction Fees
        • 3104: Income from FX conversion
  • Class 4: Control Accounts (400-499)

    • Group 40: Control Accounts (400-499)
      • 490: Funds in Transit
      • 491: Suspense
  • Class 5: Foreign Exchange movements (500-599)

    • Group 50: Foreign Exchange movements (500-599)
      • 570: Foreign Exchange movements
        • 5701: Foreign Exchange Losses
        • 5702: Foreign Exchange Gains
  • Class 7: Analytical Accounts (700-799)

    • Group 70: Analytical Accounts (700-799)
      • 710: Receivable from Nostro accounts
      • 711: Revaluation: Receivables from Nostro SECB EUR
      • 720: Audax's Funds in Nostro accounts

Funds in Transit Accounts

Group 49 contains system-managed accounts for tracking funds in transit between ledgers:

  • 490: Funds in Transit

    • 4901: Funds in Transit (CHF) - Holds CHF funds during transfers
    • 4902: Funds in Transit (EUR) - Holds EUR funds during transfers
    • 4903: Funds in Transit (USD) - Holds USD funds during transfers
  • 491: Suspense Accounts

    • 4911: Suspense CHF - For holding CHF funds pending allocation
    • 4912: Suspense USD - For holding USD funds pending allocation
    • 4913: Suspense EUR - For holding EUR funds pending allocation

These accounts are automatically used by the system during the two-phase transfer process:

  1. In the first phase, funds are debited from the source ledger and credited to the appropriate transit account
  2. In the second phase, funds are debited from the transit account and credited to the destination ledger

This approach ensures proper double-entry accounting and provides clear visibility into funds that are in transit at any given time.

See also

Banking-Specific Accounts

For banking operations, the following accounts are particularly important:

  • 102: Bank Accounts (including nostro accounts)
  • 490: Funds in Transit accounts (for tracking transfers between ledgers)
  • 220: Short-term Liabilities (including customer deposits)

Customer Deposit Monitoring

The accounts highlighted in pink are specifically monitored for the deposit insurance cap:

  • 2201: Public Customer Deposits

Flexible Ledger Identification

The ledger system supports multiple identification methods to provide flexibility in how ledgers are referenced across different systems and interfaces:

  1. UUID-based Identification: Primary identification method using UUID v4 format

    • Example: "ledger_id": "550e8400-e29b-41d4-a716-446655440000"
    • Used in system-to-system integrations and as the primary key in the database
  2. Code-based Identification: Alphanumeric codes for accounting purposes

    • Example: "ledger_code": "102411" (for Nostro SNB CHF)
    • Follows the chart of accounts numbering scheme
    • Easier for human readability and accounting reports
  3. Numeric ID Identification: Sequential numeric identifiers

    • Example: "ledger_num_id": 102411
    • Useful for legacy system integration and numeric-only interfaces

When using the API, you can choose any of these identification methods. The system will resolve the ledger using the following precedence:

  1. UUID (highest priority)
  2. Code (if UUID not provided)
  3. Numeric ID (if neither UUID nor code provided)

On this page