At 8am, Dr Christian opens his practice. His secretary greets the first patients, answers the phone, and prepares the day's appointments.
Some days, about fifteen patients come through the practice. Consultations follow one another, one patient reschedules, another pays in cash, a third prefers to pay by mobile money. Meanwhile, supplies need buying, bills need paying, and the cash needs checking.
Dr Christian knows his job. What gets complicated isn't the medicine: it's keeping track of everything happening around the consultations.
For a long time, appointments were written in a notebook, phone numbers saved on different phones, and the day's takings recounted in the evening. This method can work — until the day you need to find a specific piece of information or explain a discrepancy in the till.
Dr Christian then decides to start simply, with no subscription, using three free zBilling.net modules: Contacts, Calendar and Finance.
He wants to answer four questions:
💡Who's coming, when, who paid, and how much is actually left in the practice's accounts?
One essential limit: zBilling.net is used here for the practice's admin and finances, not as medical-record software. Diagnoses, prescriptions, medical history, observations and clinical documents stay in the practitioner's usual secure system.
A day with Dr Christian
"Who's coming today?"
The secretary opens Calendar → Calendar view. Appointments show up in one place. On her phone, she can check them day by day.
She notices Achille Mbarga is due at 9:30am. Before offering a slot to a new patient, she checks the calendar: zBilling.net doesn't automatically prevent two appointments at the same time.
💡The calendar doesn't replace specialized medical scheduling software. For this practice, it already gives a simple view of the day.
Achille Mbarga arrives
The secretary pulls up Achille's administrative record: his name, phone number, useful contact details and, if needed, his paper file reference.
The record contains no diagnosis or medical report. It's there to identify the right person and to link administrative events to the same contact.
The secretary can move the appointment to Confirmed, then Dr Christian will mark it Completed after the consultation.
A consultation, a payment
Achille pays 10 000 FCFA in cash.
The secretary opens Caisse Express, enters an income of 10,000 FCFA, selects Achille as Payer and the category CONSULTATION.
Important point: she records the money in Caisse secrétariat, not in the doctor's personal cash account. Dr Christian has set up permissions and cash accounts so everyone knows who collected what.
The transaction is recorded on the account that was actually used. Achille can later be found in the transaction history.
Mrs. Ngo calls for an appointment
A new patient contacts the practice. The secretary creates an administrative record, then assigns her an available slot.
She can set a reminder 24 hours ahead. But she checks the channel first:
- a WhatsApp number connected to the workspace is needed for a WhatsApp reminder to the patient;
- an SMS account configured is needed to send by SMS;
- email requires the patient's address;
- the internal notification alerts the zBilling.net user, not the patient.
If WhatsApp or SMS isn't configured, the matching option appears grayed out. And if a channel becomes unavailable or the necessary contact details are missing, the reminder is redirected to an internal notification: staff then have to contact the patient themselves.
Dr Christian insists on another point: the reminder reuses the appointment's subject and notes. You must never write any clinical or confidential information there.
Buying supplies
The practice buys gloves and dressings for 18 000 FCFA.
This time, it's an expense. The doctor or the authorized person selects the account that's actually paying, Caisse cabinet in our example, then the category CONSOMMABLES and the payee Pharmacie du Centre.
A cash account refuses a payout larger than its balance: so it needs to be funded enough before recording the purchase.
The moment the oversight becomes concrete
The day is over. The secretary has collected money into her own cash account. She counts the money she's about to hand over to Dr Christian.
In zBilling.net, she creates a transfer from Caisse secrétariat to Caisse cabinet, for the amount actually handed over.
But the transfer isn't final yet. It stays pending and doesn't affect either balance until the doctor confirms it.
Dr Christian receives the money, counts it, then finds the pending transaction in the Finance overview. He confirms it only if the declared amount matches what he actually received.
💡That's the difference between trusting and being able to verify. Both people take part in managing the money, without pretending they share the same cash drawer.
As an example, the day's transactions might show:
Watch out: this 67,000 FCFA is the gap between receipts and outflows over the filtered period; it isn't automatically the practice's accounting profit, nor the contents of any one cash account. A transfer between cash accounts isn't new income.
Dr Christian now has a record of every transaction and control over the handover. He can compare his cash accounts' balances with the money actually on hand.
Reproducing this setup in zBilling.net
The story looks simple. Here are the settings and steps needed to reproduce it in the app, from creating contacts to controlling the cash accounts.
Create the practice's workspace
Sign up on zBilling.net. In the setup wizard, at the Your workspace, step, enter:
| Field | Example value |
|---|---|
| Type of activity | Personal use |
| Workspace name | Cabinet médical du Dr Christian |
This profile gives free access to Contacts, Calendar and Finance, with two users.
The activation code is sent by WhatsApp if you entered a number, otherwise by email.
💡Don't confuse activating the workspace with sending appointment reminders by WhatsApp: for the latter, a WhatsApp number must also be connected to the workspace.
Structuring the administrative file
Three groups are enough to start
Go to Contacts → Groupes → New group, then create:
| Group | What it's for |
|---|---|
Patients | administrative contacts for the people seen |
Fournisseurs | pharmacies, lab, landlord, cleaning company |
Assurances | insurers and health funds that make payments |
On phone, the + button at the bottom of the Groups screen gives access to New group.
Achille Mbarga's record
Open Contacts → Liste → New contact. On phone: + → New contact.
| Field | Example |
|---|---|
| Type | Individual |
| Last name | Mbarga |
| First name(s) | Achille |
| Date of birth | only if useful for administrative purposes |
| Phone | main number |
| number approved to receive reminders | |
| optional; needed for email reminders | |
| Address | neighborhood, city |
| Group | Patients |
| Notes / Comments | Dossier papier n° 0412 or administrative reference |
Click Save contact, then confirm.
For a minor patient, create the record under the child's name and use the parent's or authorized representative's contact details for communications, taking care to keep them confidential.
What about attachments?
On a record, the Files → Add a file panel lets you attach a document. An expiry date can be set when adding it, or changed later with the calendar icon. Alerts are sent 30 days, 7 days and on the day of expiry, to the person who added the file.
This can be useful for proof of coverage or an insurance authorization valid until a given date.
Don't attach a prescription, medical letter or lab result: these documents may contain health data. This kind of document has no place in the general administrative file used in this example. Even for administrative documents, check their content and who has access to the contacts.
Preparing the money accounts
When the workspace is created, four accounts already exist. They can be renamed with Edit:
| Starting account | Suggested name | Use |
|---|---|---|
Caisse principale | Caisse cabinet | cash held by the doctor |
Orange Money | Compte mobile cabinet | payments on this wallet |
MTN Mobile Money | keep or rename | payments on this other wallet |
Cpte Bancaire | Compte professionnel | bank, transfers, insurance payments |
The secretary will later get her own cash account, created in the step on working as a team.
One essential rule: an account represents an actual pocket of money. Don't create an account per patient or per type of service. The Payer / Payee field is for finding the person; the Category is for classifying the transaction.
Organizing appointments
Open Calendar → Appointments → New appointment; on phone, use the + in the green header.
| Field | Example |
|---|---|
| Subject | Consultation — Achille Mbarga |
| Start | 15/10/2026 09:30 |
| End | 15/10/2026 10:00 |
| Location | Cabinet |
| Contact | select Achille Mbarga from the list |
| Notes | only administrative instructions meant for the patient |
| Reminder | 24 hours before, through a channel that's actually configured |
The subject is visible in the calendar and appears in reminders: avoid any sensitive medical detail.
Reminder channels and their conditions
The lead time can be set between 15 minutes and 48 hours.
| Channel | Who receives the reminder | Condition |
|---|---|---|
| patient, on their WhatsApp or, failing that, their phone | WhatsApp number connected to the workspace | |
| SMS | patient | SMS account configured |
| patient | email on the record | |
| Internal notification | zBilling.net user | no external configuration |
WhatsApp and SMS channels that aren't configured are shown as such and can't be selected. If the selected channel later fails, or the necessary contact details are missing, the reminder falls back to an internal notification, flagged to show the patient wasn't informed.
For a reminder received by a patient, only write things in the notes that can be shared, for example Merci de vous présenter 15 minutes avant le rendez-vous.
Moving the appointment forward
| Status | Use |
|---|---|
| Scheduled | appointment created |
| Confirmed ✓ | attendance confirmed |
| Completed 🏁 | consultation done |
| Cancelled ✗ | appointment cancelled |
The lists offer Upcoming, Confirmed, Past and Cancelled filters. The calendar shows every appointment, day by day on phone.
After a consultation, Dr Christian can schedule a follow-up, for example Contrôle — Achille Mbarga, with a reminder 48 hours ahead if a suitable channel is configured.
Known limitation: two appointments can be created at the same time slot. Check the calendar before assigning a slot.
Receive a consultation payment
Open Finance → New transaction, then Caisse Express → Income → New income.
| Field | Example |
|---|---|
| Account | Caisse secrétariat if the secretary is collecting in cash |
| Label | Consultation |
| Amount | 10 000 |
| Payer | Achille Mbarga |
| Category | CONSULTATION |
Confirm with Save (computer) or Receive (phone), then Yes, I confirm.
If the patient doesn't have a record yet, the Payer field may offer Create contact "…". Then complete their group Patients.
Frequent transactions
After the first few entries, the payment can reappear as a frequent-transaction card. For a follow-up consultation, the secretary selects the card and enters the amount: the usual fields are already filled in.
What if the network drops?
On phone, an offline entry mode shows a banner saying transactions are kept on the device and sent once the connection comes back.
This is useful during a home visit, but you need to check that syncing actually happened before treating the day's accounts as fully up to date.
When an insurer settles several consultations at once
Record an income entry on Compte professionnel, with the insurer as Payer, the category ASSURANCE and, in Advanced options → Note, the period or the administrative reference of the statement.
This is the money actually received; it doesn't automatically calculate the amount owed by the insurer.
Recording expenses
Still in Caisse Express, choose Expenses → New expense.
| Field | Example |
|---|---|
| Account | the account that actually paid, for example Caisse cabinet |
| Label | Gants et compresses |
| Amount | 18 000 |
| Payee | Pharmacie du Centre |
| Category | CONSOMMABLES |
Confirm with Save (computer) or Pay out (phone), then confirm.
A cash account can't record an expense larger than its balance. So make sure it actually holds the available funds.
Recurring payments — rent, internet, salaries — can also show up as frequent transactions.
The practice's categories
Use a short, consistent list, without accents (the app capitalizes them).
Income
- CONSULTATIONregular consultation
- CONTROLEfollow-up consultation, if priced differently
- ACTEbilled service or treatment
- CERTIFICATadministrative certificate or fitness exam
- VISITE DOMICILEhome consultation
- ASSURANCEpayment actually received from an insurer
Expenses
- LOYERrent for the premises
- CONSOMMABLESgloves, dressings, disinfectant…
- MATERIELequipment and repairs
- SALAIRESsecretarial staff and other employees
- EAU ELECTRICITEwater, electricity, internet, phone
- IMPOTS ET COTISATIONStaxes and professional dues
Read the practice's numbers
Open Finance → Transactions. By default, the screen shows the current day.
An example day gives:
This net balance is the result of the movements in the filtered scope, and shouldn't be confused with accounting profit or the balance of any one cash account.
Viewing the month
On computer, select Quick period → This month, then Search. On phone, the This month chip is enough. The Payee and Categories filters are behind the filter button.
| Filtered category | Question it answers |
|---|---|
CONSULTATION | how many consultations were paid? |
ASSURANCE | how much have insurers actually paid? |
CONSOMMABLES | how much have supplies cost? |
Finding a transaction linked to a patient
In Transactions, filter by Payee and select Achille Mbarga, over a long enough period. The filter can cover partners on both income and expenses.
You'll find this patient's recorded payments, not a full clinical history or necessarily every appointment that took place.
Export
The CSV button exports the transactions. The Print button gets you the list on paper. In a spreadsheet, a pivot table can group income and expenses by Category or Partner.
Not forgetting anything, with tasks
Go to Calendar → Tasks. From any other screen, the + button in the top bar also opens task creation (Alt+N on computer).
Examples:
Follow up with Mrs. Ngo — administrative payment to checkOrder gauze padsSend the statement to the health planCall Achille Mbarga back — administrative file to complete
Check Do today to show the task in My day. Otherwise, it goes to the inbox of tasks to be organized.
Don't write symptoms, lab results, or any clinical details in tasks.
Working as a team: the secretary collects, Dr Christian checks
To work as a team, the clearest approach is not to give everyone the same cash account. Each person needs permissions matching their role, and a verifiable handover process.
Create the "Secretariat" role
In the Settings icon in the top bar, open User management. On phone, go through the workspace name menu, then Project tools.
Choose New user. If no role exists yet, zBilling.net first offers to create one. Name it Secrétariat, then save.
Creating the secretary's account
Go back to User management → New user.
- Search for the secretary. If she doesn't have a record yet, choose Create a contact record and enter her last name, first name and email.
- From her record, use Create an account; enter a username (for example
bngono), the roleSecrétariatand Activate immediately. - After confirming, a temporary password appears on screen. Note it down right then, and share it with the secretary securely.
At her first login, she accepts the terms of use, then chooses a personal password in My account → Security.
Granting the necessary Finance permissions
By default, the role Secrétariat has access to Contacts and Calendar, but not Finance.
Open Finance → Settings → Manage role permissions, then check for Secrétariat :
- View cash accounts;
- Add a transaction.
Only grant the permissions needed for day-to-day operation.
Create "Caisse secrétariat"
A person collects into a cash account they're the cashier of (or have access to as supervisor). Dr Christian keeps Caisse cabinet ; the secretary gets her own cash account.
Open Finance → Accounts → New account → Cash:
| Field | Value |
|---|---|
| Name | Caisse secrétariat |
| Cashier | the secretary |
| Supervisor | Dr Christian |
From now on, payments received by the secretary are recorded in her cash account; those received directly by the doctor go into his.
The evening handover, step by step
When she finishes her day, the secretary counts the cash she's handing over to the doctor.
She opens New transaction → Transfers → New transfer:
- Source:
Caisse secrétariat; - Destination:
Caisse cabinet; - Amount: the amount actually handed over.
After entry, the transfer stays pending confirmation. It doesn't count toward either balance until it's validated.
Dr Christian:
- receives and physically counts the cash;
- opens Finance → Overview;
- uses the Transactions awaiting confirmation → Process banner;
- checks the transfer amount and clicks Confirm if the figures match.
Next time, a frequent-transaction card Caisse secrétariat → Caisse cabinet makes entry faster.
This check doesn't create any extra income. It moves an amount already collected from one cash account to another, after verification.
| Secretary | Dr Christian | |
|---|---|---|
| Administrative records | creates and updates | reviews |
| Appointments | creates, confirms, cancels | closes if needed |
| Receipts | Caisse secrétariat | Caisse cabinet |
| End of day | counts and declares the handover | recounts and confirms |
The right habits to remember
- 1Always select the right patient in the appointment (Contact) and in the income entry (Payer).
- 2Never write clinical data in contacts, tasks, administrative files or notes that can be reused in reminders.
- 3Check the calendar before giving out a slot, since double-bookings aren't blocked.
- 4Don't confuse an internal notification with a message to the patient. Without a working external channel, the front desk needs to notify the patient some other way.
- 5Collect into the right cash account, at the moment of payment. Transfers between cash accounts are neither income nor expenses.
- 6Only confirm handovers after actually counting the cash. A pending transaction isn't the same as a verified cash handover.
- 7Keep categories consistent, for example
CONSULTATIONrather than sometimesCONSULTATION, and sometimesCONSULTATIONS. - 8Check the period of the transactions list: it opens on the current day.
- 9Check syncing after an offline entry, before closing out the accounts.
- 10Strictly separate the practice's money from the personal money of the doctor.
What this free scenario doesn't cover
This guide deliberately uses the Personal use workspace and only its Contacts, Calendar and Finance modules. It doesn't cover:
- the medical record, diagnoses, prescriptions, observations or medical history;
- prescriptions or medical results in contact files;
- creating invoices, receipts or care statements to hand to the patient;
- automatic tracking of receivables and unpaid amounts — a sum owed must be tracked manually, for example with a task;
- calculating direct insurer billing or the insurance share to be collected;
- online appointment booking by patients;
- automatically blocking slots that are already taken;
- the list of appointments on the patient's record;
- a specialized calendar per practitioner: here, a single calendar serves the whole workspace; with several practitioners, you'd need to identify the practitioner in the subject or location, without claiming to have real multi-practitioner scheduling.
Invoices, receipts and advanced receivables-management features belong to billing modules available in plans suited to those needs.
What Dr Christian actually changed
Dr Christian hasn't replaced his medical record. He hasn't automated his entire practice.
He started by solving three concrete problems:
- patients' administrative information is no longer scattered;
- appointments are visible in a shared calendar, with reminders when the channel is configured;
- income and expenses are recorded in the right accounts, with a controlled handover between the secretary and the doctor.
From there, he can move forward at his own pace, with no subscription needed for this first level of organization.
💡The first real progress isn't having software for everything. It's no longer depending solely on a notebook, a phone and memory to run the practice.
Contacts, Calendar and Finance are available for free in the Personal workspace — up to two users, no credit card required.