Features Payments
Payments

The service was delivered.
The money was not collected.

The gap between those two sentences is a sum nobody records for you. The system tracks it per appointment and per client, accepts payment in installments, and chases the balance on its own.

Money exists in three states, not two

Anyone keeping records with two states, paid and unpaid, cannot see the third one, and the third is the expensive one.

Collected
184.500
Money actually received, based on payments recorded, not on expectations.
Invoiced
241.000
The total price of every service delivered. This is the figure most owners treat as revenue.
Outstanding
56.500
The difference. The work was done, the materials were used, the payment never came.
That gap rarely appears all at once. It accumulates out of a forgotten installment, a treatment paid halfway, and a client who said he would bring it next time. Without a record that adds those up, the unpaid total does not register as a loss but as a month that was somehow weaker. The payments screen exists so that figure has a name and an amount.

Three payment methods, each with its own purpose

They switch on individually. Anyone collecting strictly on site will never see the rest.

Cash

The client pays on arrival, you record it.

  • The confirmation states that payment is cash on site, so the method is never in question.
  • You enter the payment from the admin, in one go or in installments.
  • Until a payment is recorded, the appointment carries a balance and feeds the reminder.

Bank transfer

For services paid in advance or against a proforma.

  • Your transfer instructions go into the confirmation, exactly as you write them in the settings.
  • A reference number derived from the appointment number goes with them, so you can identify the payment on your statement.
  • The bank reference is numeric, because banks do not accept letters. The booking reference the client sees elsewhere is a separate value.

PayPal and Stripe

Card payment, inside the form itself.

  • The client pays before leaving the form, and the status is written automatically, without you checking anything.
  • It runs in test and in live mode, so you can try the whole flow before releasing it to clients.
  • You keep prices in dinars, and PayPal and Stripe charge in the currency you choose, at a rate you enter yourself.

When payment happens, and how many times

Booking and paying are two decisions, and the system does not conflate them.

Payment required at booking

The switch that decides whether a booking without payment counts as a booking at all.

  • Off: the client books freely and pays later. Standard for a salon, a clinic or a repair shop, where no-shows are rare and friction at booking is expensive.
  • On: no payment, no appointment. This makes sense where a no-show costs you a whole slot that cannot be resold, for example a court, a hall, or a long service in peak hours.
  • The decision is economic, not technical. Mandatory payment reduces no-shows and reduces bookings at the same time. Which one pays off depends on what an empty slot actually costs you.
  • There is a middle path: leave payment off and handle no-shows with the reminder and the attendance confirmation. For most industries that is the cheaper answer.

Installments and partial payments

A package of ten treatments is not paid in one go, and a record with a single field cannot follow that.

  • One appointment takes several payments. Each carries an amount, a method and a date, so you see not only how much was paid but when.
  • The status follows reality: unpaid, partial, paid. For a PayPal payment the status is written automatically.
  • A payment entered by mistake can be deleted, and the balance recalculates. An error in the record is not permanent.
  • The per client view adds up all of their appointments: invoiced, paid, outstanding. The per appointment view answers a different question: which service was never collected.
  • Filters by period, including a custom date range, and search by client, email or service.
“How much does this client owe me in total” and “which appointments are unpaid” are not the same question. That is why there are two views.
Billing screen with totals: collected, invoiced and balance
Payments: three totals, a per client or per appointment view, installments recorded.

Coupons with seven rules

A discount without limits is not a discount, it is a permanent price cut. Every rule exists to prevent that.

CodeWhat the client types into the form, for example COMEBACK10.
Percentage or amountTen percent or five hundred dinars. Very different things on an expensive service.
Valid fromA promotion is prepared ahead and starts itself on the date.
Valid untilA deadline gives the client a reason to come now rather than eventually.
Usage limitHow many times the code can be used in total. A code without a limit tends to end up in a group chat.
Minimum amountA threshold below which the coupon does not apply, so the discount does not eat the margin on a cheap service.
StatusEnding a promotion without deleting the code, so the history stays intact.
The system checks every one of these rules before it grants a discount, and tells the client why a coupon fails: not active, expired, used up, or the amount is below the threshold. The automated messages use the same codes, so a coupon stops being a slip of paper on the counter and becomes a campaign that runs itself: the system spots a client who has not been in for ninety days, sends the code, and records that it was used.

The message that asks for money instead of you

Balances usually go uncollected because the owner is uncomfortable bringing it up. That is a job for a system, not for a person.

  • The reminder goes to completed appointments that were never paid, after a number of days you set.
  • The message is businesslike, not a demand: service, date, amount and booking reference. A tone that does not damage the relationship with a client who simply forgot.
  • It is sent once per appointment. The system records that the message went out and does not repeat it.
  • The past stays buried. A balance older than sixty days is skipped, because a message about a sum from six months ago brings awkwardness rather than money.
  • It is off by default. You switch it on when you decide you want it, and from then it runs every day.
This is the only message in the system that directly recovers money that already exists. The rest of them go out and earn it.
Payment settings: methods, currency and the balance reminder
Payment settings: methods, currency and rate, alongside the balance reminder.

The limits of this part of the system

Payments here means record keeping and collecting at a distance. It is not accounting, and it does not pretend to be.

  • No PDF invoices. The system records who paid how much and when, but the PDF invoice itself you issue through your own solution.
  • There is no fiscalisation. The system records who paid how much and when. You still issue the fiscal receipt through whatever you use now.
  • The PayPal rate does not update itself. You enter it and you change it. If the rate moves and you do not touch the setting, the client pays at the old rate. A difference of a few dinars is negligible, but you should know it is there.
  • There is no automated statement matching. You confirm a bank transfer by hand, when you see it at the bank. The reference number exists to make it easy to spot, but the system does not read your statement.
  • There are no refunds from the admin. You issue the refund in your PayPal account, and correct the record in the plugin.
All of the above follows from one decision: the plugin stays a tool you run, with no middleman taking a cut of your revenue.

Which package includes payments

Every paid one, in full, and with no commission on revenue.

Payments, installments and coupons

Free1 service, 1 staff member
SingleEverything, 1 site
BusinessEverything, multiple sites
AgencyEverything, for client sites
See pricing →

Questions people actually ask

No, not a single dinar. The license is paid once and that is the end of it. The client's money goes straight to you, to your bank account or your PayPal account, because the plugin is not a payment intermediary but a record. Platforms that charge a commission per booking cost several times the license over a year, and that cost grows precisely when business picks up.

Yes, it does. Clients pay by card via Stripe or PayPal, with cash and bank transfer available too. You add Stripe with your own key, so the money goes straight to your Stripe account. You keep prices in dinars, and Stripe charges in the currency you choose, at a rate you enter.

Yes, one appointment takes several payments, and each carries an amount, a method and a date. The status follows reality, so it sits at partial until the last installment lands. In the client record and on the payments screen you see at any moment how much was invoiced, how much was paid, and what remains.

Prices stay in dinars everywhere: in the form, in the email and in the records. PayPal charges in the currency you choose, euro by default, and the amount is converted at a rate you enter in the settings. That rate does not update itself, so check it now and then. If you work strictly with local clients, bank transfer and cash are the simpler route.

You decide. Mandatory payment is a switch, and it is off by default. Switch it on where a no-show genuinely costs you a whole slot, for example a court or a long service in peak hours. Keep in mind that mandatory payment reduces no-shows but also reduces bookings. For most industries the cheaper answer is to leave it off and handle no-shows with the reminder and the attendance confirmation.

What connects to this

Payments do not stand alone, they lean on the rest of the system and feed it.

A balance you do not measure does not look like a loss

It looks like a month that was weaker. The payments screen gives it an amount, and the reminder brings it back without you making the call.