At a glance
SardexPay runs a 9,000-member B2B credit circuit. We rebuilt its commercial backbone on Salesforce, modelled multi-role contacts properly, ingested 15 years of transaction history into Data Cloud, and put Agentforce in front of every broker – without breaking the payment core underneath.
- Sector
- FinTech
- Location
- Italy
- Timeframe
- 3 months
What we implemented
What we integrated
What we learned
- Hygiene first. AI is useless without unique records. Cleaning up the Admin/Partner duplication was the highest-ROI activity of phase 1.
- Do not overload the core. Separating the transactional layer (Cyclos) from the analytical layer (Data Cloud) saved the CRM from performance death.
- Introduce AI as an assistant, not a manager. That single framing decided adoption among the brokers.
- Semantic search over keyword search. Users ask for outcomes, not for tags.
Who they are
SardexPay is not really a company, it is an ecosystem of around 9,000 Italian SMEs that exchange goods and services in a mutual-credit currency. A restaurant pays a printer in Sardex credits. The printer spends them at a mechanic. The mechanic pays a supplier. Nothing touches the euro until it needs to, which is the whole point: local liquidity for local businesses, kept circulating.
Vibrant on paper, and remarkable in what it makes possible for the local economy. But the operational reality did not match the vision. The truth about those 9,000 companies was scattered across personal inboxes, Google Sheets and a legacy transactional core called Cyclos. Fifteen years of transactions sat in the banking system. A parallel fifteen years of relationship notes sat inside individual brokers' heads and email folders. Management was effectively flying blind: decisions were made on lagging indicators, what happened last month, rather than on a live pipeline. Our mandate was not a software refresh. It was a restructuring of their commercial and financial nervous system.
What wasn't working
The trigger was a strategic push to grow the circuit into new regions. Growth is the moment blind spots become expensive. Leadership needed to see which brokers were producing, which members were about to churn, and which sectors were undertransacting, in something closer to real time than the quarterly PDF.
We hit a wall almost immediately. The heart of SardexPay is Cyclos, the banking software that manages the credits. You do not simply plug Salesforce into a banking core without consequences. A naive integration would have been dangerous. Syncing 15 years of transaction history directly into a daily CRM would have crushed it. And there was a hard showstopper on top of that: the version of the banking core. Without upgrading Cyclos to 4.16 or later, we could not guarantee secure single sign-on with modern OAuth 2.0 and OpenID Connect. Older versions were an unacceptable security risk for a financial tool. We paused and flagged the risk plainly: upgrade the core, or the project cannot ship.
Underneath the technical work sat a data-hygiene problem the client had not fully faced. A user who was Admin at Company A and Partner at Company B existed as two totally separate records. There was no single source of truth for a human being.
How we thought about it
The uncomfortable conversation came first. Telling a client that their foundational software needs an update before you can even start is risky, but building on top of the older version would have been negligent. We chose safety over speed and pushed for the Cyclos upgrade to happen before we began the integration.
To solve the data volume problem, we built a dual-layer highway. The fast lane is for daily operations: when a user updates their email, it happens instantly through a bi-directional REST API, covering master data management, real-time balance checks and account status. The heavy haul is for analysis: we moved millions of past transactions silently in the background into a dedicated data lake on Data Cloud via ETL, and had Salesforce Core display calculated insights (for example "Churn Risk: High") rather than raw transaction rows. The sales team gets a fast operational system, and the AI still has 15 years of history to learn from.
We also refused to train AI on the dataset in the state we inherited. Duplicate records would have driven straight into hallucinations. We enforced a Contacts-to-Multiple-Accounts architecture to handle multi-role users properly, and made data ingestion contingent on that clean-up landing first.
What it was like to work with us
The biggest challenge was not code, it was culture. The brokers were used to managing clients from memory and intuition. They feared the CRM would be a Big Brother tool, and every prior attempt at a CRM at SardexPay had failed for exactly that reason.
We flipped the framing. Agentforce was introduced not as a manager, but as an assistant. Before a broker calls a client, the AI prepares a briefing pack: here is what the client does, here is who they pay in the circuit, here is a similar case they can mention. The broker walks in better prepared, not more monitored. That single positioning decision changed adoption. We also moved from keyword search, which failed when a broker searched "lunch" but the client was tagged as "catering", to semantic search, so brokers could find exactly what they meant instead of what they typed.
The hard middle happened around month two. The first batch of AI briefings the assistant produced were plausible and wrong in subtle ways: it was inventing supplier relationships that did not exist, from patterns in the transaction data that looked stronger than they were. We paused the rollout, tightened the grounding rules, added confidence thresholds below which the assistant would refuse to speculate, and had brokers rate briefings for a fortnight before we turned it back on for everyone. The pause cost us two weeks. Not pausing would have cost us the brokers.
What we put in place
Layer A is operational and real time: a bi-directional REST API for master data management, real-time balance checks and account status. Layer B is analytical and batch: Salesforce Data Cloud is the target, full transaction logs are ingested via ETL, and Salesforce Core displays calculated insights ("Churn Risk: High") rather than raw transaction rows.
The AI hierarchy on Agentforce runs two tiers. A master agent for senior brokers, tuned for high-complexity reasoning. A portal assistant for public B2B queries, tuned for cost efficiency. A semantic search engine sits underneath both, replacing legacy exact-match search with vector-based intent matching, so "where to take clients for dinner" resolves to restaurants tagged as formal and business, not just to the string "dinner". An inside-out enrichment routine programmatically generates structured JSON knowledge articles for every company by ingesting their public web presence, so thin internal profiles get depth. Omnichannel support consolidates voice, email and web into Service Cloud queues, so SLAs can finally be measured.
Technologies involved: Salesforce Sales Cloud, Service Cloud, Marketing Cloud, Data Cloud, Agentforce, Experience Cloud, Salesforce Voice, and external agents on OpenAI and Anthropic for specific reasoning tasks.
Where it got them
SardexPay moved from reactive to predictive. The system now sees things people missed, because it can look at 15 years of transaction history without slowing the CRM the brokers work in every day.
It spots silence: companies that have not transacted in 30 days get flagged before they churn out of the circuit entirely, because the pattern is now visible the moment it starts. It identifies accumulators: companies hoarding credits and slowing the economy down, which used to be invisible until the annual review. It maps supply chains from recurring payments, so a restaurant that never asked for a laundry service can still be matched with one, because the pattern of other restaurants of similar size shows the pairing.
A new network density score – volume divided by partner count – flags cases where transaction volume looks healthy but is concentrated on very few counterparties, which is the shape of a fragile relationship rather than a strong one. Seasonality prediction triggers marketing action on historical cash-flow peaks (for example, targeting hotels with maintenance services in October) instead of waiting for the hotel to ask.
What's next
Next up is extending the Agentforce layer into member-facing tooling: giving SMEs inside the circuit their own assistant that can suggest counterparties, flag stagnant credits and propose supply-chain matches, without a broker needing to be in the loop for the routine cases.
In their words
“We thought we needed a better search bar. Hoshi showed us we needed a semantic engine that understands "business lunch" is not a keyword, it is an intent.”
Services and Clouds used
Recognised your own situation here?
That's exactly the kind of conversation we like to have. No pitch, no pressure.
Book a discovery call →