Partner Platform Notice: Known Cal Issues
We are actively tracking the following known issues originating in Cal-managed flows. These may impact some customers:
- Some Should-be-Business (SBB) transactions are appearing as duplicates in the Custodia UI, which may also impact billing reports.
- Some declined transactions are being posted after the fact, which may affect billing reports.
- If expected Custodia features or functionality are unavailable or appear to be missing, please contact your Cal representative to verify that the latest Custodia platform release has been deployed to your cloud environment. In some cases, feature availability may depend on deployment status within the Cal-managed infrastructure.
For updates, timelines, or customer-specific impact details, please contact your Cal representative directly. Cal support contact details are available here: Cal Support Hours and Contact Information.
What's Changed
🔔 Webhooks and Event Delivery
-
INF-1723 in #7607: Reworked webhook delivery around a generic
webhook-eventsqueue with publisher-side filtering — transaction and other events are only enqueued when the tenant has a matching webhook subscription, reducing unnecessary queue traffic. Replaced the Node-RED budget-allocation webhook flow with a unified queue consumer incustodia-md, added cross-service publisher-cache invalidation viaCacheModelMixin, and hardened dispatch (OAuth content-type, redirect handling, credential redaction in logs, and queue retry on delivery failure). -
INF-1723 in #7611: Introduced a standard webhook envelope (
id,eventType,eventTimestamp) for all event types. Renamedtransaction-createdtotransaction.createdand addedtransaction.updatedfor authorization clearing (pending → posted), chargebacks, and declines after a prior pending authorization. Test webhooks (webhook.test) now use the same envelope at enqueue time for stable retries; each delivery includesattemptandredeliverymetadata from the queue retry counter.
📦 Activities, Budgets, and Allocations
-
ZEN-52428 in #7610: Added a Rollover Balance action in the recurring group activity bulk editor, available to users with
Activity/BalanceUpdateaccess (same scope as Add/Deduct Balance). Admins can transfer unused budget from a prior period into the current period for recurring group activities, with eligibility and readonly-state handling aligned to existing balance-update UX. -
ZEN-52448 in #7612: Fixed activity change approval incorrectly reporting
ExceedsBudgetBywhen validating updates to an existing allocation. Budget validation now credits the live reservation already held on the allocation before comparing the pending amount, preventing false workflow rejections.
💳 Expenses
-
ZEN-52426 in #7615: Added a feature-flagged Clear Export action on the expenses grid for support and
tenant-tech-adminusers withExpenses/ClearExport. Clearsexported, vendor export fields, and the export timestamp so an exported expense can be edited again; writes security audit and expense audit-trail entries and bypasses the exported-expense save guard.
🖥️ UI, Localization, and Infrastructure
-
INF-1718 in #7601: Fixed Arabic dictionary loading when locale files are missing (including the missing
address.ar.json), hardenedtranslate()fallbacks, and added locale-aware grid date/time formatting via a newIntlDatePipewithdir="auto"for correct RTL display. -
INF-1724 in #7609: Fixed
custodia-imageChromium/Puppeteer startup when the container runs with a read-only root filesystem by pointingXDG_CONFIG_HOMEandXDG_CACHE_HOMEto writable/tmppaths.