← Back to Module Index
Module 09 · Billing & Invoices

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.

Who uses thisAccount managers, billing staff, admin
New in April 2026Credit notes · Overdue auto-alerts · Client ledger view
ComplianceGST Invoice rules · TDS deduction · GSTIN validation

Invoice Lifecycle

Every invoice in ZippCRM follows a defined lifecycle. Understanding where an invoice sits in this flow prevents confusion and duplicate work.

DRAFT
SENT
PAID
If payment is not received by the due date:
SENT
→ (due date passes, scheduler runs)
OVERDUE
→ (on payment)
PAID
StatusMeaningWho can change it
DraftCreated but not yet sent to the client. Can be edited freely.Billing staff, manager, admin
SentShared with the client. Amounts are locked.Billing staff, manager, admin
OverduePast due date, not paid. Set automatically by the daily scheduler.System (automatic) or manual PATCH
PaidPayment confirmed. Closes the billing milestone.Billing staff, manager, admin

Creating an Invoice

From a Billing Milestone (recommended)

1

Open the Project → Billing Milestones tab

Shows all milestones for this project.

2

Click 'Generate Invoice' on a milestone

Pre-fills invoice amount, client details, GSTIN, and due date from the milestone configuration.

3

Review and adjust if needed

Change description, add line items, adjust TDS percentage if the client's TDS rate differs from default.

4

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.

5

Click Save — invoice is in DRAFT

Review once more before sending. DRAFT invoices can be edited; SENT invoices cannot.

Creating a Standalone Invoice

1

Go to Billing → + New Invoice

Select the client first. Then select the project (or leave blank for a retainer/standalone invoice).

2

Fill in all required fields

Invoice number is auto-generated. Set amount, description, tax details, and due date.

3

Save as DRAFT → review → Send

Follow the same review and send flow as above.

ZippCRM — New Invoice (Draft)
Invoice #INV-2026-000042 · DRAFT ①
From (Your Firm)
ZippAdvisory LLP ②
GSTIN: 27AABCZ1234P1Z5 · MH
To (Client)
Meera Finserv Pvt Ltd ③
GSTIN: 27ABCM1234P1Z5 · MH
NBFC Licence Renewal Advisory — Q2 2026 ₹50,000.00
Subtotal₹50,000.00
④ CGST @9%₹4,500.00
SGST @9%₹4,500.00
⑤ Less TDS @10%-₹5,000.00
Net Payable₹54,000.00
⑥ Send to Client
⑦ Download PDF
Edit
Invoice number — Auto-generated sequential number. Cannot be changed after saving.
Your firm details — Pulled from Admin → Organisation. Update there if wrong.
Client details — Pulled from the Client record GSTIN and billing address.
CGST + SGST — Applied because both firm and client are in Maharashtra (same state). Would be IGST 18% for different states.
TDS deduction — Deducted at source as per client TDS settings. Net payable is after TDS.
Send to Client — Status changes to SENT. Client receives email + portal notification. Invoice is now locked.
Download PDF — Generates GST-compliant invoice PDF with your firm logo and all required fields.

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.

1

Go to Business Hub → Clients → open any client

Click the client name to open the client record.

2

Click the 'View Invoices' button (or Billing tab)

Shows all invoices for this client — across all projects — in one list.

3

Filter by status

Use the status filter to isolate overdue invoices: Status = Overdue. This is the collections view.

4

Click any invoice to open the detail

View the full invoice, download PDF, mark paid, or issue a credit note from here.

Monthly reconciliationUse the Client Ledger filtered to the current month to reconcile what was billed vs what was paid. Export to CSV for your accounts team.

Marking an Invoice Paid

1

Open the invoice (from Billing list or Client Ledger)

Status must be SENT or OVERDUE — only these can be marked paid.

2

Confirm payment receipt

Check the bank statement or payment confirmation reference before proceeding.

3

Click 'Mark as Paid'

A confirmation dialog appears. Enter the payment date and optional reference number (NEFT/RTGS/cheque number).

4

Save — status changes to PAID

The billing milestone linked to this invoice is automatically closed. Revenue is counted for the invoice month.

Cannot undoMarking an invoice PAID is irreversible from the UI. If you mark the wrong invoice as paid, issue a credit note for the amount and re-create the correct invoice. Contact Admin for direct database correction only in exceptional cases.

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

Midnight runs
Find SENT invoices past due
Set status = OVERDUE
Email client contact
In-app alert to ops team

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

1

Go to Billing → Overdue tab

Shows all overdue invoices across all clients, sorted by days overdue (most overdue first).

2

Or open Mission Control → click 'Overdue Items' KPI

Pre-filtered to overdue invoices. Shows client name, amount, and days overdue.

3

Take action: collect payment or issue credit note

If payment is received, mark PAID. If disputed, issue a credit note. If invalid, contact admin.

Turn off overdue remindersIf a client requests no automated emails (e.g., they prefer a call), go to Admin → Organisation → Notifications → disable invoiceOverdueAlerts for that client. Or contact Admin to handle globally.

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

ScenarioAction
Invoice amount was higher than agreedIssue credit note for the difference
Service was not delivered (cancelled engagement)Issue credit note for the full invoice amount
Wrong GST rate was appliedIssue credit note for full invoice; re-raise with correct GST
Goodwill discount after the factIssue credit note for the discount amount
Duplicate invoice raisedIssue credit note for the full duplicate invoice amount

Issuing a Credit Note

1

Open the invoice you need to correct

Status can be SENT, OVERDUE, or PAID. All are eligible for a credit note.

2

Click 'Issue Credit Note'

Opens the credit note form linked to this invoice.

3

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.'

4

Enter the credit amount

Must be greater than zero. Cannot exceed the original invoice amount. Enter the specific amount being credited, not a percentage.

5

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.

ZippCRM — Issue Credit Note
Issuing Credit Note for INV-2026-000042
Original Invoice
INV-2026-000042 · Meera Finserv · ₹54,000.00 · SENT
Credit Note Number ① (auto-generated)
CN-2026-000003
Reason ②
Overcharge on NBFC advisory fee — agreed rate was ₹40,000, invoiced ₹50,000 + GST. Crediting the ₹10,000 difference + applicable GST.
Credit Amount (INR) ③
11,800
④ Issue Credit Note
Cancel
Credit number — Auto-generated. Format: CN-YYYY-NNNNNN. Cannot be changed.
Reason — Be specific. This is a permanent record visible to the client and in your audit trail.
Credit amount — Enter in INR inclusive of GST if the original invoice included GST on the overcharged portion.
Issue Credit Note — Irreversible. Once issued, the credit note is permanent.
Credit notes are irreversibleOnce a credit note is issued, it cannot be cancelled or deleted. If you issue the wrong amount, issue a second credit note explaining the correction.

Finding & Filtering Invoices

Where to goWhat you seeBest for
Billing → All InvoicesEvery invoice across all clientsMonthly reconciliation, audit
Billing → Overdue tabOnly overdue invoicesCollections follow-up
Client record → View InvoicesAll invoices for one clientClient account review
Project → Billing MilestonesInvoices for one projectProject billing status
Mission Control → Overdue KPIQuick overdue countDaily dashboard check