Skip to content
Jien Weng
Menu
Blog

Why We Built an Internal CRM After Trying Salesforce

At Quandatics, I’m working on an internal CRM connecting sales, project delivery, and finance.

The choice to build internally

The team had tried Salesforce, but its structure required workarounds around our existing process. The alternatives were to keep adapting it, change our process to fit it, or build internally. We chose an internal CRM around the sales, delivery, and finance handoffs.

That choice gives us control over the handoffs, but also means owning development, deployment, and support. An established CRM can be the better option when its process fits the business.

I look at the workflow from the viewpoint of the people using the CRM. I map requirements around what sales, delivery, and finance need before they can act: the approved scope, supporting documents, current status, and the person responsible for the next step.

From lead to sales order

A qualified lead becomes an account, a contact, and an opportunity. One account can have several opportunities, each with its own sales funnel and approval requirements.

When an opportunity is won, the approved quotation becomes a numbered sales order. The order links the sale to a project with its items, budget, team, phases, and milestones.

Deal-to-cash flow from qualified lead through account, opportunity, approved sales order, project delivery, and payment received.
01 · Lead to approved sales orderView full-size diagram

From delivery to payment

Each project phase has deliverables and a progress percentage. Once a phase is complete, the team submits a milestone claim with evidence. Management approves it before finance issues the invoice.

The same records need to show delivery progress, billed amounts, receipts, and outstanding payments. Otherwise, finance and delivery have to reconstruct the status separately.

Project-to-cash flow from an approved sales order through project phases, milestone approval, invoicing, payment receipt, and margin update.
02 · Delivery milestone to collected paymentView full-size diagram

Customer receipts and supplier costs

On the customer side, a milestone claim becomes a sales invoice, then a receipt matched to the invoice. The accounting entry goes to Autocount with its supporting documents.

On the supplier side, a purchase order links to the sales order. Finance matches the supplier invoice to that purchase order, approves a payment voucher, and posts the cost to the project.

Two finance flows linked to one sales order: customer milestone claim through invoice and receipt; supplier purchase order through invoice and approved payment voucher. Both post to Autocount and the same project.
03 · Money in and money outView full-size diagram

My role

I work across requirements, design, development, production deployment, and support. I clarify who owns each record, what a status means, and what happens when scope changes or an approval arrives late.

For a milestone claim, that means defining the evidence and management approval finance needs before issuing an invoice. I work through ownership and approval conditions before adding fields or screens. Support can reveal gaps, such as an incomplete claim or a late handover.

The internal CRM is still in progress. Client-specific implementation details and operational results remain confidential.