The problem
An industrial group with several companies, a subscription CRM whose price grew every year, and the real data scattered across the CRM, the ERPs, the mailboxes and the sales team's spreadsheets. Nowhere with a single answer.
What we built
- Company, contact, opportunity, product, price list and bill of materials records
- Two-way Salesforce sync across 21 entities, with write-back and a choice of who the change is recorded under
- Drift detection engine: when Salesforce renames or removes a field, the system identifies the successor field, scores its confidence and halts the import instead of filling the database with empty records
- Built-in email client: each salesperson reads and writes from their own mailbox, and messages stay attached to the opportunity
- Tender module: import from public procurement sources, qualified contractor database, automatic AI analysis
- Documents and PDF reports generated in the background
- Per-field history and per-role editing permissions
- Native Android app for call tracking
Built with
Laravel 13Vue 3InertiaRedisSalesforce APIMicrosoft Graph
The result
249,751 records synchronised in a full cycle, in under three minutes. Over 7,400 opportunities managed. Automatic sync every four hours, with an alarm when something does not add up.
Running something similar? See what we build for manufacturing.