Data: Disconnected Data
A project undertaken by a Propella team member connected customer, billing and finance records, identifying potential annual revenue and saving 18 hours per month.
Project case study
Connecting Customer and Billing Data Uncovered Missed Revenue
In a project undertaken by a member of Propella’s team, a fast-growing B2B services business investigated gaps between its customer, billing and finance records.
The work identified accounts that should have been billed but were not, representing tens of thousands of pounds in potential annual revenue. It also saved 18 hours per month by reducing manual reconciliation between operational and finance information.
- Potential annual revenue identified
- Tens of thousands
- Manual reconciliation time saved
- 18 hours/month
- Customer, billing and finance
- Connected records
Potential revenue identified from missed billing; not confirmed cash recovered.
The challenge: separate systems, an incomplete picture
The business was highly commercial but had outgrown its manual spreadsheet processes and lacked the internal capability to untangle its complex web of systems.
It managed its sales pipeline in Salesforce, billed recurring subscriptions through Stripe and maintained its core accounts in Xero.
However, beneath the surface, significant data issues were making it difficult to connect the customer journey from contract through to billing.
The technical problems
Multiple legacy accounts
Following acquisitions and changes to product lines, the business operated across three separate Stripe environments and two legacy payment gateways.
No shared customer identifier
There was no consistent identifier linking customer records in Salesforce to billing profiles in Stripe and contacts in Xero. Differences in company names made reliable automated matching difficult.
Unstructured contract information
Important terms, including annual price increases and custom discounts, were buried in free-text Salesforce notes rather than structured fields.
Unmatched records
Thousands of active subscriptions in Stripe had no corresponding active account in Salesforce, creating discrepancies that required investigation.
Simply connecting the systems to a dashboard would have carried existing data problems into the reporting. The underlying records needed attention first.
How the project team cleansed and connected the data
Extraction and normalisation
Raw data was pulled from Salesforce, Xero and the multiple Stripe accounts, standardising varying date formats, currencies and product names.
Deduplication and record matching
Fuzzy matching techniques helped pair differently named company records across platforms. Shared unique identifiers were introduced into the source systems to maintain those connections.
Data cleansing
Scripts extracted relevant contract values and renewal dates from unstructured notes, converting them into fields that could support analysis and reporting.
The solution: Power BI supported by Google Sheets
The business needed a solution its team could understand and use without having to work directly with a complex database.
Automated pipelines fed the cleansed and reconciled data into structured Google Sheets. These provided an accessible staging environment for reviewing mappings, updating target metrics and entering agreed adjustments without writing code.
The Google Sheets supplied data to Power BI dashboards, bringing customer, billing and finance information together for analysis.
Power BI provided the visual reporting, while Google Sheets offered a familiar interface for selected data-management tasks.
Source systems
- Salesforce
- Stripe — three environments
- Two legacy payment gateways
- Xero
Extract, clean and match records
Structured Google Sheets
Review mappings and maintain agreed inputs
Power BI
Connected reporting and exception investigation
Before and after
Before
- Customer records difficult to match across systems
- Contract details buried in notes
- Repeated manual reconciliation
After
- Matched records supporting cross-system review
- Relevant contract details structured for analysis
- 18 hours of manual reconciliation saved each month
The ROI: commercial insight with less manual effort
The project combined data-engineering and reporting capabilities to address a specific commercial problem. Its value came from identifying missed billing and reducing recurring manual reconciliation.
Tens of thousands of pounds in potential annual revenue identified. The review uncovered accounts that should have been billed but were not. This represents an identified billing opportunity, rather than revenue confirmed as invoiced or collected.
18 hours saved per month. Manual reconciliation between operational and finance information was reduced.
A connected reporting foundation. Information from disparate customer, billing and accounting systems was brought together into a consistent view.
Together, the identified revenue opportunities and recurring time savings provided tangible benefits against which to assess implementation and ongoing operating costs.
Is disconnected data costing your business?
Consider three questions:
- Can you reliably match customer records across your sales, billing and accounting systems?
- Do legacy platforms or separate payment accounts require regular manual reconciliation?
- Can you establish whether every account that should be billed is actually being billed?
Gaps in those answers are worth investigating. Connecting the underlying information can reveal discrepancies, reduce manual effort and give leadership a clearer view of performance.
Understand how disconnected data can hide revenue leakageUnderstand the processes behind your numbers
Propella combines commercial finance expertise, data integration and practical reporting to help growing businesses understand and strengthen the processes behind their numbers.