Client Billing
Create packages, generate invoices, track payments, and manage client billing.
MealCraft includes a complete billing system for managing client payments — from service packages to GST-compliant invoices.
Configure your GSTIN, SAC code, and tax rates in Settings → Billing & Tax before generating invoices. This ensures all invoices are GST-compliant from the start.
Key concepts
Before diving in, here's how the three core concepts relate:
| Concept | What it is | Example |
|---|---|---|
| Session | A consultation meeting between you and the client — initial assessment, follow-up review, or plan adjustment. Recorded as a consultation record. | "Follow-up Session 3/6 — reviewed compliance, adjusted dinner portions" |
| Meal Plan | The actual nutrition plan with days, meals, and food items that the client follows daily. Created or updated during a session. | "Priya's Weight Loss Plan — Week 1 (7 days, 1400 kcal)" |
| Follow-up | A scheduled reminder for the next session. Auto-generated from the package. When you click "Start Visit", it creates a session record. | "Follow-up Session 3/6 — scheduled for May 7" |
The workflow: Follow-up (reminder) → Session (the meeting) → Meal Plan (created/updated during the session)
A package with "6 sessions, 3 meal plans" means the client gets 6 consultation meetings and up to 3 separate meal plan cycles. For example, in a 90-day weight loss package:
- Sessions 1-2: Initial consultation + first week check-in → create Meal Plan v1
- Sessions 3-4: Biweekly reviews → adjust Plan v1 or create Plan v2
- Sessions 5-6: Monthly reviews → create Plan v3 for the final phase
Service packages
Packages are templates for what you offer. Define them once in Settings → Service Packages, then assign to clients.
Example packages
| Package | Duration | Sessions | Price |
|---|---|---|---|
| Initial Consultation | 1 day | 1 | ₹500 |
| Weight Loss — 3 Months | 90 days | 6 | ₹4,999 |
| PCOS Management — 6 Months | 180 days | 12 | ₹8,999 |
| Sports Nutrition — Monthly | 30 days (recurring) | 4 | ₹2,999/mo |
Create 2–3 standard packages so you can quickly assign them to new clients. You can always create custom one-off packages for specific clients.
Each package includes:
- Name and description
- Duration (in days)
- Price with tax configuration (inherits your org's GST/tax settings by default)
- Sessions and meal plans included
- Billing type (one-time or recurring)
- Installment options (split payments)
- Follow-up frequency (smart scheduling or custom intervals)
- Consultation lead days — how many days before the plan start date to schedule the initial consultation (default: 3 days). This gives you time to assess the client and build their meal plan before it goes live.
Assigning packages to clients
Open client billing
Open a client profile → go to the Billing tab.
Assign a package
Click Assign Package → select a template or create a custom one → set the start date.
Automatic tracking begins
Once assigned, MealCraft tracks:
- Sessions: 0 of 6 used (enforced — you'll be notified when all sessions are used)
- Meal plans: 0 of 3 used
- Expiry: 90 days from start
- Follow-ups: auto-scheduled based on package frequency
- Invoice: auto-generated with your org's tax settings
Follow-up scheduling
When you assign a package, MealCraft auto-generates a follow-up schedule based on the package's frequency setting:
| Frequency | Schedule |
|---|---|
| Smart (default) | Initial consultation → Day 7 → Day 21 → evenly spaced |
| Weekly | Every 7 days |
| Biweekly | Every 14 days |
| Monthly | Every 30 days |
| Custom | Every N days (you set the interval) |
Consultation lead days
The initial consultation is scheduled before the plan start date — not on it. This follows the industry-standard nutrition practice workflow:
- Day -3: Initial consultation (assess client, discuss goals)
- Day -2 to -1: Build the meal plan based on consultation findings
- Day 0: Plan starts — client begins following the plan
- Day 7: First follow-up (early adherence check)
You can configure the lead days per package (0–7 days). The default is 3 days.
If you assign a package with a start date that's today or very soon, the initial consultation is automatically scheduled for today instead of a past date.
Package lifecycle and follow-ups
Follow-ups are automatically managed when the package status changes:
| Package action | Follow-up effect |
|---|---|
| Cancel | All pending follow-ups are skipped |
| Complete | All pending follow-ups are skipped |
| Pause | Follow-up dates shift forward by the paused duration when resumed |
| Expire | All pending follow-ups are skipped |
Follow-ups from cancelled or expired packages are automatically hidden from the dashboard and client follow-up tab. You won't see orphan reminders cluttering your schedule.
Invoices
Each invoice is GST-compliant and includes:
| Field | Example |
|---|---|
| Invoice number | MC-2024-0042 |
| Client | Priya Sharma |
| Line items | Weight Loss — 3 Months × 1 = ₹4,236 |
| CGST (9%) | ₹381 |
| SGST (9%) | ₹381 |
| Total | ₹4,999 (tax inclusive) |
| Due date | 2024-04-15 |
| Status | Sent |
Tax is calculated as CGST + SGST (same state) or IGST (different state) based on the place of supply configured in your billing settings.
Invoice statuses
| Status | Meaning |
|---|---|
| Draft | Not yet sent to client |
| Sent | Shared with client, awaiting payment |
| Paid | Fully paid |
| Overdue | Past due date, unpaid |
| Cancelled | Voided |
Payments
Record payments against invoices:
| Field | Description |
|---|---|
| Amount | Full or partial payment |
| Method | Cash, UPI, bank transfer, card, Razorpay |
| Date | When payment was received |
| Reference | Transaction ID or receipt number |
For clients paying in installments, record each payment separately. MealCraft tracks the remaining balance automatically.
Credit notes
Issue credit notes for refunds or adjustments:
- Overpayment — client paid more than the invoice amount
- Service not provided — sessions not delivered
- Discount — retroactive discount applied
- Other — custom reason
Credit amounts are added to the client's credit balance and can be applied to future invoices.
Recurring billing
For packages with billing type = recurring, MealCraft automatically generates invoices on schedule:
- When you assign a recurring package, the first invoice is created immediately
- A daily cron job checks for packages where the next invoice date has arrived
- A new invoice is generated with the package amount, tax, and any discount
- The client receives an email notification (if enabled)
- The next invoice date advances by the recurring interval
Recurring invoices use your org-level billing defaults (tax rate, GSTIN, invoice prefix). Configure these in Settings → Billing & Tax.
Payment reminders
MealCraft sends automated email reminders for unpaid invoices:
| Timing | Type |
|---|---|
| 1 day before due | Friendly reminder |
| 3 days overdue | First overdue notice |
| 7 days overdue | Second overdue notice |
| 14 days overdue | Final notice |
Reminders include the invoice number, amount due, due date, and your payment instructions (UPI ID, bank details) if configured.
Toggle reminders on/off in Settings → Notifications → Invoice Reminders. Each invoice tracks which reminders have been sent to prevent duplicates.
Revenue analytics
The billing analytics dashboard shows:
| Metric | Description |
|---|---|
| Total revenue | Sum of completed payments in the selected period |
| Total invoiced | Sum of all non-draft, non-cancelled invoices |
| Outstanding | Unpaid balance across all sent/partially-paid invoices |
| Overdue | Outstanding amount past due date |
| Collection rate | (Revenue / Invoiced) × 100 |
| Payments by method | Breakdown by cash, UPI, bank transfer, card |
| Client balances | Top clients with outstanding amounts |
Access analytics from the client billing section or Settings → Billing.