Transforming FDC Solutions’ Debt-Review Sales with Frappe CRM
FDC Solutions sells debt-review services to South African consumers: a long, paperwork-heavy process defined by how hard it is to reach people. We built them a custom CRM platform, integration layer and sales automation on top of Frappe CRM.
A sales process that the software finally matches
Six places the off-the-shelf CRM was costing money
FDC’s sales process is not a standard B2B funnel. The system they had assumed it was.
The sales process didn’t exist in the system
The CRM shipped a generic funnel (qualification, demo, proposal, negotiation, won/lost) while FDC’s process runs through entirely different stages, plus a second layer of reasons recording why a deal stalled — married in community of property, taking a consolidation loan, using pension money, gone quiet. Consultants translated real work into stage names that meant nothing, so the data meant nothing either.
Compliance paperwork was tracked on paper
The part that determines whether a case can legally proceed — assessment, signed forms, supporting documents — was not in the system at all. It lived in consultants’ memories and personal spreadsheets, and nobody could answer ‘which cases are waiting on paperwork, and for how long?’ without asking every consultant.
Leads arrived by hand and then went cold
Enquiries from the advertising funnels were re-entered by hand, and in a market where response time decides conversion, leads sat untouched for hours. Once a lead was marked unreachable, nothing else happened — the business wrote off a large share of what it paid to acquire, even though many of those people convert weeks later with the right follow-up.
Conversations happened outside the system
Consultants called, messaged on WhatsApp and emailed from their own mailboxes, and none of it connected to the customer record. There was no reliable history of who was contacted, how or when — calls weren’t logged, recordings weren’t retrievable against a case, and WhatsApp was invisible to management.
Management had no instruments
No consultant-level performance data, no targets, no measurement of response time, no view of who was working their leads. Worse, the reporting that existed counted duplicate leads, which the ad channels generate in volume, so headline numbers were inflated and leadership had learned not to trust them.
Everyone could see everything
Every user could access every lead, task, report and template — a junior consultant could open the whole team’s performance data. For a firm handling consumer financial data under POPIA, that’s both a commercial and a regulatory exposure.
Build a layer, not a fork
This is the decision everything else depends on.
Take a private copy of the CRM and rewrite it — that would have frozen FDC on a snapshot, turned every upgrade into an expensive, risky migration, and added the cost of maintaining a large private codebase.
A separate layer that sits on top of the CRM and intercepts its behaviour. The base platform stays untouched — where FDC needs different behaviour the layer takes over, everywhere else the standard product runs as shipped.
The real pipeline
FDC’s real stages and stall reasons are in the product, with leads automatically becoming live cases at the decision point rather than depending on someone remembering to convert a record.
The missing compliance layer
Assessment, signed forms and supporting documents are now timestamped milestones, with an outstanding-items report showing which cases are waiting and for how long.
Five workflows that run without anyone
The nurture campaign is the piece with the clearest commercial value.
The unreachable nurture campaign
Unreachable leads receive a deliberately decaying schedule of educational WhatsApp videos — twice weekly, then weekly, fortnightly, monthly — stopping the moment they reply, so the consultant takes over. Leads the business had written off now market to themselves for months at effectively zero cost.
Stalled-case chasing
Three days at decision-pending without contact flags the case, raises a follow-up task against the consultant, and notifies management, so cases can no longer quietly rot.
Task hygiene
Overdue work moves to a backlog every few minutes, so a task list always reflects what is current.
Lead assignment
Incoming leads are routed to consultants by rule rather than distributed manually.
Duplicate suppression
Duplicates are flagged and excluded from every workflow, dashboard and report, so they can’t inflate the numbers or waste a consultant’s time.
Instruments for management, and safe to hand to a sales floor
With every channel flowing into the system, real measurement became possible for the first time.
Performance reporting
Status, activity, sales and document-tracking reports, filterable by date and consultant, exportable and clickable through to the case.
A KPI command centre
First-response time, decision-pending to sale conversion, untouched leads, true funnel, leaderboard, lead aging and source breakdown. Contact-attempt counts exclude automated messages, so the numbers measure consultants, not automation.
Objection analysis
A ranked view of which stall reasons are actually killing deals, turning an anecdote into a list the business can build rebuttals against.
Targets in the system
Managers set monthly per-consultant targets for sales, calls, assessments and phone time, and define who reports to whom, without leaving the CRM.
Four roles, real separation
Admin, sales management, a manager tier without deletion rights, and consultants who see only their own book. Visibility is restricted at the data level, not hidden in the interface, so it holds however the system is approached. Management reporting is gated in three independent layers.
Self-configuring deployment
A new environment configures itself: permissions, branding, workflow stages and reference data apply on release, with no setup checklist.
Every channel, on the customer record
This is the part that changed the day-to-day most. Four integrations, each landing in the same place: the case.
Automated lead capture
From the advertising quiz funnels, two complementary ways.
- Real-time captureA completed quiz is pushed straight into the CRM as a new lead, verified as genuine before it is accepted.
- A sweep every 30 minutesReconciles anything the real-time path missed, so no paid-for enquiry is silently lost.
- Quiz answers travel with the leadThe consultant knows the person’s debt situation before picking up the phone. Duplicates are recognised and set aside rather than creating a second case.
- Managers control the connectionConnect, test, pause or resume syncing, and pull a sample enquiry to check the mapping, with no developer involvement.
- Guided bulk import for historic dataTemplate download, automatic conversion of raw ad-platform exports, row preview, then a background import with a live progress bar.
Two-way WhatsApp
How South African consumers actually communicate, so it was treated as a first-class channel rather than an add-on.
- OutboundSent from the customer record: free text, approved templates auto-filled with the client’s details, images, document attachments, emoji and reactions, appearing in the thread immediately.
- InboundReplies flow back in real time onto the correct record, matched on the phone number in any format. Unread counts appear per case so nothing sits unanswered.
- Unknown numbersA message from someone not in the system creates a new unallocated lead on the spot. An inbound enquiry can never land nowhere.
- Replies close automation loopsA response to an automated sequence stops the automation immediately: the customer is a live conversation, not a nurture target.
3CX phone system integration
Wired into the CRM in both directions, so the phone stopped being a separate system consultants worked alongside and became part of the customer record itself.
- Click-to-callOne click dials through 3CX on the consultant’s own extension. The call record is created before the phone rings, so an attempt is logged whether or not anyone picks up, and can be cancelled without leaving the record.
- Live call trackingThe record updates as the call moves from ringing to connected to finished, checked every few seconds, with nobody typing anything.
- Inbound ID and screen-pop3CX asks the CRM who is calling before the consultant answers, and pushes the record onto the right screen, so nobody asks the customer to explain themselves again.
- No caller is ever lostAn unrecognised number creates a new lead from the call automatically. Cold inbound calls now enter the pipeline like any other enquiry.
- Recordings, matched automaticallyRetrieved from 3CX and matched on number, extension and timing. A recording on the wrong case is worse than none. Playback is access-controlled, for coaching and dispute resolution.
- Numbers that just workSouth African numbers are written several ways. Everything is normalised to one international standard and converted back when dialling: the difference between click-to-call working every time and most of the time.
- WhatsApp over the same trunkThose conversations land on the record alongside ordinary calls, not in a separate silo. Call notes attach where the rest of the team will see them.
- Self-service configurationManagers connect and test from a settings screen; consultants set their own extension. Adding a consultant is an admin task, not a developer ticket.
Email, per consultant
Each consultant connects their own Microsoft 365 mailbox through a guided sign-in, with no administrator provisioning, no shared credentials.
- Synced to the recordConversations sync automatically, checked every couple of minutes so replies surface while still relevant.
- Stage-aware templatesA personal signature editor, plus a library filtered to the case’s current stage: three templates that apply now, not forty that don’t. Personal or published organisation-wide.
What changed
| Metric | Before | After |
|---|---|---|
| Sales pipeline | Generic sales funnel that didn’t match the business | FDC’s real pipeline and stall reasons, in the product |
| Lead handoff | Manual handoff from enquiry to live case | Automatic conversion at the decision point |
| Compliance tracking | Tracked in heads and spreadsheets | Timestamped document milestones + an outstanding-items report |
| Lead capture | Leads re-typed by hand from the ad funnels | Real-time capture plus a 30-minute reconciliation sweep |
| Historic data | Loaded manually | Guided bulk import with preview, progress and safe messaging |
| Unreachable leads | Abandoned | Automated months-long WhatsApp nurture that stops the moment they reply |
| WhatsApp visibility | Invisible to the business | Two-way WhatsApp inside the customer record, unknown numbers auto-captured |
| Calls & recordings | Untracked, recordings unreachable | Click-to-call, caller ID, screen-pop, live tracking, recordings matched to the right case |
| Scattered across personal mailboxes | Self-serve mailbox connection, synced to the record, stage-aware templates | |
| Stalled cases | Discovered by accident | Automatic flagging, task creation and management notification |
| Consultant metrics | None | Response time, conversion, untouched leads, leaderboard, aging, objection analysis |
| Targets | Not in the system | Per-consultant monthly targets across four measures |
| Duplicates | Inflating every number | Isolated from workflow, dashboards and reports |
| Data visibility | Everyone saw everything | Four roles with real data-level separation |
| Platform lock-in | Locked into a private copy of the software | A layered build that keeps the platform upgradeable |