Billing & Invoices
ZippCRM's billing engine handles the full invoice lifecycle — from creating a milestone-linked draft to marking an invoice paid. It also handles GST/TDS compliance, issues credit notes, and automatically flags and reminds overdue invoices. No external billing tool needed.
Invoice Lifecycle
Every invoice in ZippCRM follows a defined lifecycle. Understanding where an invoice sits in this flow prevents confusion and duplicate work.
| Status | Meaning | Who can change it |
|---|---|---|
| Draft | Created but not yet sent to the client. Can be edited freely. | Billing staff, manager, admin |
| Sent | Shared with the client. Amounts are locked. | Billing staff, manager, admin |
| Overdue | Past due date, not paid. Set automatically by the daily scheduler. | System (automatic) or manual PATCH |
| Paid | Payment confirmed. Closes the billing milestone. | Billing staff, manager, admin |
Creating an Invoice
From a Billing Milestone (recommended)
Open the Project → Billing Milestones tab
Shows all milestones for this project.
Click 'Generate Invoice' on a milestone
Pre-fills invoice amount, client details, GSTIN, and due date from the milestone configuration.
Review and adjust if needed
Change description, add line items, adjust TDS percentage if the client's TDS rate differs from default.
Check GST calculation
ZippCRM auto-applies CGST+SGST (same state) or IGST (different state) based on your firm and client billing addresses. Verify the state codes are correct.
Click Save — invoice is in DRAFT
Review once more before sending. DRAFT invoices can be edited; SENT invoices cannot.
Creating a Standalone Invoice
Go to Billing → + New Invoice
Select the client first. Then select the project (or leave blank for a retainer/standalone invoice).
Fill in all required fields
Invoice number is auto-generated. Set amount, description, tax details, and due date.
Save as DRAFT → review → Send
Follow the same review and send flow as above.
Client Invoice Ledger
The Client Ledger gives you a unified view of all invoices for one client across all their projects — useful for account reviews, collections calls, and client statements.
Go to Business Hub → Clients → open any client
Click the client name to open the client record.
Click the 'View Invoices' button (or Billing tab)
Shows all invoices for this client — across all projects — in one list.
Filter by status
Use the status filter to isolate overdue invoices: Status = Overdue. This is the collections view.
Click any invoice to open the detail
View the full invoice, download PDF, mark paid, or issue a credit note from here.
Marking an Invoice Paid
Open the invoice (from Billing list or Client Ledger)
Status must be SENT or OVERDUE — only these can be marked paid.
Confirm payment receipt
Check the bank statement or payment confirmation reference before proceeding.
Click 'Mark as Paid'
A confirmation dialog appears. Enter the payment date and optional reference number (NEFT/RTGS/cheque number).
Save — status changes to PAID
The billing milestone linked to this invoice is automatically closed. Revenue is counted for the invoice month.
Overdue Invoices & Automated Reminders
ZippCRM's daily scheduler runs at midnight and automatically identifies invoices where status is SENT and due_date is in the past. It marks them OVERDUE and sends reminders — no manual action required.
What the scheduler does
What the client email says
The overdue reminder email is sent from your configured SMTP address and includes: invoice number, amount due, original due date, number of days overdue, and a link to the client portal where they can view the invoice. The email uses your firm's branding.
Viewing all overdue invoices
Go to Billing → Overdue tab
Shows all overdue invoices across all clients, sorted by days overdue (most overdue first).
Or open Mission Control → click 'Overdue Items' KPI
Pre-filtered to overdue invoices. Shows client name, amount, and days overdue.
Take action: collect payment or issue credit note
If payment is received, mark PAID. If disputed, issue a credit note. If invalid, contact admin.
Credit Notes
A credit note corrects an error on a sent invoice — overcharge, wrong GST, service not rendered, or goodwill adjustment. Credit notes have their own sequential numbering: CN-2026-000001.
When to issue a credit note
| Scenario | Action |
|---|---|
| Invoice amount was higher than agreed | Issue credit note for the difference |
| Service was not delivered (cancelled engagement) | Issue credit note for the full invoice amount |
| Wrong GST rate was applied | Issue credit note for full invoice; re-raise with correct GST |
| Goodwill discount after the fact | Issue credit note for the discount amount |
| Duplicate invoice raised | Issue credit note for the full duplicate invoice amount |
Issuing a Credit Note
Open the invoice you need to correct
Status can be SENT, OVERDUE, or PAID. All are eligible for a credit note.
Click 'Issue Credit Note'
Opens the credit note form linked to this invoice.
Enter the reason
Be specific — this text appears on the credit note document that the client receives. E.g., 'Overcharge on retainer fee — agreed amount was ₹40,000, invoiced ₹50,000.'
Enter the credit amount
Must be greater than zero. Cannot exceed the original invoice amount. Enter the specific amount being credited, not a percentage.
Click Save — credit note is issued
A credit number is generated (CN-2026-NNNNNN). The client is notified. The credit note is permanently linked to the original invoice.
Finding & Filtering Invoices
| Where to go | What you see | Best for |
|---|---|---|
| Billing → All Invoices | Every invoice across all clients | Monthly reconciliation, audit |
| Billing → Overdue tab | Only overdue invoices | Collections follow-up |
| Client record → View Invoices | All invoices for one client | Client account review |
| Project → Billing Milestones | Invoices for one project | Project billing status |
| Mission Control → Overdue KPI | Quick overdue count | Daily dashboard check |