Skip to main content

Billing & GST

Create bills, calculate GST for exempt healthcare and taxable items, collect payments, print invoices, issue credit notes, close cash, reconcile UPI and review practitioner payouts.

Who can do this: Receptionists/cashiers use billing.read and billing.create; branch managers/owners use billing.refund, finance.cashClosing.approve, finance.reconcile, services.manage and settings.manage; accountants use finance.read, reports.financial and finance.reconcile; payout admins use finance.payout.manage. Where: Billing (/app/billing), create (/app/billing/create), bill details (/app/billing/:billId), payment (/app/billing/:billId/payment), print (/app/billing/:billId/print), Cash Closing (/app/revenue/cash-closing), Practitioner Payouts (/app/revenue/payouts), Services (/app/services).

Billing Management list with filters and Create New Bill
Not legal advice

The app follows configured GST settings and service tax categories. Confirm registration type, rates and HSN/SAC codes with your tax advisor.

Before you start​

  • Create active services with correct tax category.
  • Save GST profile if the clinic is registered.
  • Confirm patient, branch and practitioner before billing.
  • Keep transaction ID or UTR ready for non-cash payments.

Set GST and tax categories​

  1. In GST settings, choose Registration type: Regular (registered), Composition scheme or Not registered. Result: Bill print title and notes follow the profile.
  2. Enter GSTIN, Legal name, state and address where applicable. Result: GST details print on invoices.
  3. In Services, choose Tax category. Result: Each bill line is classified.
  4. Use Exempt healthcare (SAC 9993) for healthcare by a clinical establishment or authorised practitioner. Result: GST rate is 0 percent and the exemption note prints.
  5. Use Taxable service for taxable cosmetic or aesthetic services, with SAC code, GST rate (%) and Place of supply. Result: Tax is calculated at save.
  6. Use Taxable goods for medicines or consumables sold separately, with HSN code and GST rate (%). Result: The line is taxed as goods.

Create a bill​

  1. Open Billing Management and click + Create New Bill. Result: /app/billing/create opens.
  2. Search and select the patient. Result: Patient details fill in.
  3. Choose the practitioner. Result: Reports and payouts can link revenue.
  4. Select a service and add it to the bill. Result: The item appears in the table.
  5. Adjust quantity, price, discount and notes. Result: Totals update.
  6. For B2B or interstate GST, enter Buyer GSTIN, Buyer legal name and Patient / buyer state in GST summary. Result: Tax preview shows taxable value, exempt value, CGST, SGST or IGST and invoice total.
  7. Save. Result: The bill details page opens.
Create bill with services and GST summary

Record payment and print​

  1. Open the bill payment page or the print page. Result: The due amount appears.
  2. Enter Amount and choose Cash, UPI, Card, Bank transfer, Cheque, Online or Other where available. Result: Payment mode is saved.
  3. Enter transaction reference for UPI, card, online or bank transfer. Result: Finance can reconcile it later.
  4. Submit payment. Result: The bill becomes Paid in full, Partially paid or Payment due.
  5. Open /app/billing/:billId/print and print or send the invoice. Result: The printed title is TAX INVOICE, BILL OF SUPPLY or INVOICE-CUM-BILL OF SUPPLY.
Bill details with services, payment status and credit notes

Issue credit notes or cancel bills​

  1. Open Bill Details. Result: Credit notes appears.
  2. Click Issue credit note. Result: The credit note dialog opens.
  3. Choose Full (remaining amount), Partial amount or Selected lines. Result: Credit amount is calculated including tax.
  4. Enter Reason, optional Refund mode and Refund reference. Result: The credit note is issued and can be printed.
  5. For cancellation, enter a reason of at least 3 characters. Result: The bill is marked cancelled.

Close cash and reconcile UPI​

  1. Open Daily cash closing. Result: Expected amounts are shown by Mode.
  2. Enter Counted amounts and notes. Result: Variance is shown.
  3. Click Submit closing. Result: Cash closing submitted appears.
  4. A manager clicks Approve or Reopen in Closings awaiting approval. Result: Status becomes Approved or Reopened.
  5. In Unreconciled UPI payments, match the UTR / reference and click Reconcile. Result: Payment reconciled appears.
Daily cash closing approval queue and UPI reconciliation

Review practitioner payouts​

  1. Open Practitioner Payouts. Result: Rules and statement panels load.
  2. With finance.payout.manage, click New rule or Edit. Result: You can set practitioner, share percent, basis and overrides.
  3. Click Save rule. Result: Payout rule saved appears.
  4. Select Month and click Show statement. Result: Eligible amount and payout are shown.
  5. Click Download CSV. Result: A report downloads. No money is moved.
Practitioner payouts page

Troubleshooting​

Problem / messageWhat it meansWhat to do
VALIDATION_FAILED / ?Validation failed?Input failed server validation.Check highlighted fields, GSTIN, SAC, HSN, rates and reasons.
INVALID_GST_RATE / ?gstRate must be one of 0, 0.25, 3, 5, 12, 18, 28, 40?Unsupported GST slab.Pick an allowed rate.
INVALID_SAC / ?sacCode must be a 4- or 6-digit SAC starting with 99?Invalid SAC.Correct the SAC.
INVALID_HSN / ?hsnCode must be 4, 6 or 8 digits?Invalid HSN.Correct the HSN.
?Exempt healthcare services use SAC 9993?Wrong SAC for exempt healthcare.Use 9993 or 9993xx.
?Enter a valid payment amount greater than zero.?Amount is blank or zero.Enter a positive amount.
?Payment amount cannot exceed ??Payment exceeds due.Enter only the amount collected.
?Please provide a reason for cancellation (min 3 characters)?Cancellation reason too short.Enter a clear reason.
?Popup blocked. Please allow popups to print.?Credit-note print was blocked.Allow pop-ups.
?Payments changed after this closing was submitted. Approve anyway??Late payment changed expected cash.Recount before approval.