Keka PSA lacked the flexibility our customers needed to create and send invoices in the format they need.
We redesigned two core elements:
Structural Changes in invoice creation to support all invoice types (Proforma, Prepayment, Post-payment)
Invoice Template Customization so customers could generate branded, client-ready PDFs
Companies need to send proforma and prepayment invoices, match branding for different clients, and handle varied billing needs. But our invoicing system was too rigid. Finance teams had to rely on external tools just to get basic work done, slowing them down and increasing chances of error.
Followed the following steps to understand our customers and their needs:
Customer calls
Why should we solve this?
JTBD
Journey Mapping
Competitor analysis
We conducted few interviews with our customers who raised tickets for invoicing and also some other customers who might be interested in same. After understanding their pain points we found out the actual problems.
“Our clients want a proforma invoice first to approve cost before we raise a final one.”
“We’re forced to use QuickBooks only because Keka doesn’t support partial payments or branded PDFs.”
“We need more template options in Keka so we can choose one that fits the client or project, without editing PDFs manually every time.”
Key Takeaways from Customer Interviews
Customers use different types of invoices (proforma, prepayment, final) depending on the client and project.
Lack of customization and flexibility in Keka’s invoicing forced teams to use external tools like QuickBooks or manual editing.
Brand consistency and professional presentation of invoices matter—especially when dealing with high-value clients.
Users want the ability to choose from multiple templates and adapt them to different workflows without additional effort.
Unlike competitors, Keka already had a powerful concept called “charges”. This meant:
Invoice data could be auto-generated from project time entries or deliverables, removing the need for manual data entry.
When an employee logs hours in a timesheet, that data can automatically flow into the invoice.
This ensured accuracy, saved time, and made the workflow more integrated.
Our USP is that invoicing isn’t a standalone feature it’s tied directly into project execution, making billing smarter and more error-free.
When designing the Invoice Template Builder, we focused on striking the right balance between speed for the user and feasibility for engineering.
Users should be able to create or edit a template in minutes, without needing deep technical knowledge.
We chose to build on a predefined block system, allowing engineers to manage dynamic fields (e.g., client name, project, charges) with minimal complexity. This approach made rendering consistent PDFs easier while still offering layout flexibility.
After setting up the invoice templates, our next focus was the actual invoice creation flow where users generate invoices based on project or client charges.
Invoices needed to be created directly from charges whether from timesheets, fixed deliverables, or retainers.
Users should be able to filter charges by client, project, date range, and choose which ones to include.
The system needed to support various invoice types (proforma, prepayment, post-payment).
Why This Design?
It gave flexibility without confusion users could handle all billing cases in one flow.
Connected seamlessly with the “charges” system, eliminating manual entry.
Was simple enough for engineering to implement in phases: project-based → client-based → bulk invoicing.
More customers started using billing & invoicing inside Keka
Sales reps used this as a differentiator in demos
Increased retention by making invoicing workflow
No more switching tools mid-process