Skip to content

Cash Pooling

Status: Shipped

Domain: IC Activity Linear Projects: Cash Pooling


What It Does

Palm provides visibility into cash pool structures and intercompany cash movements. For organizations that use cash pooling (where subsidiary accounts sweep into a master account), Palm helps distinguish between "real" balances and pool-adjusted positions, and tracks the resulting intercompany positions.

The platform supports multiple pool types (Physical, Notional, Account Groups) and properly handles the complexity of pooled account reporting - distinguishing header accounts from participants and showing consolidated pool positions.


Capabilities

Capability Status Notes
Pool account identification Shipped Mark accounts as part of pool via Admin Portal
Pool type support Shipped Physical, Notional, Account Group types
Header/participant roles Shipped Distinguish pool header from participants
Master account balance Shipped Consolidated pool balance
IC position tracking Shipped is_intercompany flag on categories
Pool-aware forecasting Shipped Forecast filters by pool, pool context in models
Pool-aware position service Shipped Proper grouping: ZBA_POOLS, NOTIONAL_POOLS, STANDALONE

Jobs Fulfilled

From ic-activity/jobs.md

1. Determine daily/weekly funding needs across cash pool (Emerging)

Desired Outcomes Addressed: - [x] Minimize time spent identifying which pooled accounts need funding - [x] Reduce false alarms from negative balances on pooled accounts - [x] Increase accuracy of cash position view by showing sweeps correctly

How Palm Addresses This: - Pool accounts properly grouped (ZBA_POOLS, NOTIONAL_POOLS, STANDALONE) - Position service fetches ALL pooled accounts for complete picture - Header vs participant roles clearly identified - Pool-aware balance forecasting

2. Differentiate automatic pool sweeps from intentional IC payments

Desired Outcomes Addressed: - [x] Minimize confusion between automatic cash pooling and liability settlements - [x] Increase clarity in transaction history about why money moved - [ ] Reduce time spent investigating IC transactions (partial - no automatic sweep classification)

How Palm Addresses This: - IC category flag identifies intercompany transactions - Pool structure metadata helps interpret transactions - Transaction categorization can mark IC vs operational

3. Optimize working capital through internal cash pooling (Emerging)

Desired Outcomes Addressed: - [ ] Minimize the use of expensive external debt facilities (not direct) - [x] Increase the efficiency of internal cash pooling - [x] Reduce the time between identifying surplus and deploying to deficit

How Palm Addresses This: - Consolidated pool visibility shows surplus/deficit - Pool-aware forecasting helps plan funding - Centralized view enables better deployment decisions


Pain Points Addressed

Pain Point Addressed? Notes
Cash pool accounts show misleading negative balances Yes Pool grouping shows context
No indication whether negative is real overdraft Yes Header/participant roles clarify
Forecasts don't reflect sweep activity Yes Pool-aware forecasting implemented
No category for cash pool classification Yes Pool types and roles in data model
Can't distinguish automatic sweeps from IC settlements Partial IC flag exists, no auto-classification

What's NOT Included (Yet)

  • Automatic sweep transaction classification
  • IC loan interest calculations
  • Pool structure visualization (graphical)
  • Sweep threshold configuration
  • Pool optimization recommendations

How It Works (Technical)

Component Technology Notes
Pool configuration Admin Portal Full CRUD for pool setup
Data storage PostgreSQL palm.cash_pools table
Pool types PHYSICAL, NOTIONAL, ACCOUNT_GROUP Different pooling structures
Position service Go (treasury-api) Pool-aware grouping and fetching
IC tracking Category flag is_intercompany boolean
Analytics DBT Silver/gold models with pool context

Key files/services: - /backend/admin_portal/customer_operations/cash_pools.py - Admin UI - /treasury-api/position-service/ - Pool-aware positions - /db_schemas/palm_schema.sql - cash_pools table - /backend/palm_dbt/models/silver/dim_bank_accounts.sql - Pool fields



Last updated: 2026-02-17