Record Payment / Expenditure
💡 Quick Tips
For itemized bills, use the 📄 Invoices tab instead. The invoice's "Mark as paid" button creates the payment record automatically — no need to enter it twice.
M-Pesa Auto: Payments are captured automatically when the webhook is active. Use M-Pesa Manual only if a payment was missed.
Cash In: Cash received from a patient outside of an invoice.
Cash Out: Petty cash expenditure.
Bank Transfer: End-of-day cash sweep to the bank via M-Pesa paybill.
➕ Add a user
📜 Recent activity
🏥 Hospital Info
Updates apply immediately to the topbar, receipts, and printed invoices. These override the values in .env.
💼 Services / Price list
Common services with default prices. They auto-suggest when typing the description on an invoice line and auto-fill the unit price. Cashier can still type any free-form text for items not on the list.
X-ray ↔ xray ↔ x ray already match automatically (punctuation and spaces are ignored). Use Aliases for things normalisation can't catch — abbreviations like MP ↔ Malaria parasite.📡 Register M-Pesa Webhook
After deploying, register your public URL with Safaricom so M-Pesa payments are automatically captured. Do this once.