Skip to main content
Finance is where you bill your clients: the invoices you send a salon customer, the order you take for products, the monthly plan a client pays you for. It is your money, from your customers, into your bank account. It has nothing to do with what you pay for DMLY. Your own DMLY plan and its receipts live in Billing, a separate system whose records never appear in Finance. So two things called “subscription” exist in DMLY, and they are not related:

Finance → Subscriptions

A client of yours pays you on a recurring basis, from an Offerings Plan. This is the one documented in this section.

Billing

You pay DMLY for your workspace. Nothing here affects your clients or shows up in Finance.

The seven tabs

Finance opens as one hub with seven tabs: The Finance page with its seven tabs highlighted: Payments, Orders, Subscriptions, Invoices, Statements, Expenses and Gift cards

Invoices

The bill you send a client.

Payments

Every payment in one ledger: online, manual, or refunded.

Orders

A sale of products that moves stock when you confirm it.

Subscriptions

Recurring billing for a client, from an Offerings Plan.

Statements

A client’s running ledger. You never write to it directly.

Expenses

Money going out. Not linked to a client and never billable to one.

Gift cards

A fixed-value voucher you sell now and a client spends against any invoice later.
Nothing on a statement is written by hand. The entries post themselves:
  • Recording a payment posts a credit.
  • Refunding one posts a debit.
  • Sending an invoice posts a debit.
  • Voiding one posts a credit for whatever was still outstanding.
Payments and refunds are what move a client’s balance most of the time. Coupons are not a tab in this hub. They live under the Settings button in the Finance page header, alongside Taxes, Invoice, Expenses, Loyalty, Shipping and Gateways.

How the pieces relate

The invoice is the bill a client receives and pays, and payments attach to it. Not everything routes through one, though:
  • An order becomes an invoice only when you run Generate invoice on it. Confirming an order moves stock and nothing more.
  • An appointment skips invoices entirely. Booking payments are taken as a direct gateway pay link (see Appointment payments).
1

Something creates a charge

You raise an invoice by hand, generate one from an order on demand, or let an auto-charge subscription renewal generate one for you.
2

You send it

Sending moves the invoice from Draft to Sent and delivers it to the client (on WhatsApp by default) with a pay link.
3

The client pays

An online payment through a connected gateway reconciles the invoice automatically. You can also record a payment yourself if they paid you in cash or by bank transfer.
4

The invoice settles

Paying part of the balance marks it Partially paid; clearing the balance marks it Paid.
Line prices are copied from your Offerings at the moment the invoice is created. Editing a service’s price later never changes an invoice you already issued: raise the price of a cut and blow-dry next month and last month’s invoices keep the old price, which is what you want. So fix a wrong price by voiding the invoice and re-issuing it, not by editing the service.
Every line on one invoice must be in the same currency. DMLY does not convert between currencies, so a mixed-currency invoice is rejected rather than guessed at.

Raising an invoice turns a contact into a client

When you create an invoice for a contact, DMLY moves that contact’s lifecycle stage to client for you. That is intended (someone you bill is a client), but it means your client list changes as a side effect of invoicing. See Client profile.

You need a gateway to take money online

Out of the box you can raise invoices and record payments you collected yourself. To send a pay link a client can actually click, connect a payment gateway first. DMLY supports Stripe, PayPal, Paystack, Razorpay, MyFatoorah, Mercado Pago and Monnify by Moniepoint (NGN, card and bank transfer, and it can put a one-off account number straight into the chat). You connect them under Configurations → Integrations, not in Finance. Finance settings → Gateways has two panels. Default payment gateway holds the Charge through select, then the line Connect a payment gateway to accept online payments and share pay links. and a link to your integrations. When no gateway is connected it shows No payment gateway is connected yet. instead of the select. The second panel is Bank account for manual transfers. The Payment link & QR modal has its own message when none is connected: No payment gateway is connected yet. Connect one to generate a payment link.
Which gateway a payment link goes through is set under Finance → Settings → Gateways. Until you choose one, DMLY uses the gateway you connected first, so if you added a second processor later, check that setting.
Connecting is done by pasting API credentials, and no gateway registers its webhook for you. You set the endpoint in the provider’s own dashboard. Skip that step and payments will be taken but your invoices will still show as unpaid. See Payments and gateways.

Sending is WhatsApp-first

An invoice goes out over WhatsApp by default, using a Meta-approved template. WhatsApp will not deliver a template Meta has not approved, so if invoice messages are not arriving, check your template status before anything else. The Payment link & QR action on an invoice opens a modal holding:
  • a scannable code you can show at a counter,
  • Visit link and Copy link,
  • Share via checkboxes for Email, SMS and WhatsApp.
The action is hidden on paid and void invoices, and on any invoice with no client attached. Download PDF gives you the branded invoice as a file, using your workspace name, logo and business details.

The statuses you will see

A payment only ever moves forward through its statuses; a refunded payment never returns to succeeded. An invoice’s Refunded and Partially refunded statuses are derived from what you have given back, and an invoice reaches either only once there is nothing left to collect:
  • Refunded: all of the money you collected went back.
  • Partially refunded: some of it did.
Refund against an invoice that still has a balance and it keeps reading Partially paid or Overdue, so a live balance is never hidden behind a refund. See Create and send an invoice. Every order you create starts as Draft, because the Confirm order immediately switch in the order builder is off by default. A Draft order is the only one you can delete, but deleting is not its only action. The row menu also carries Confirm order and Cancel order. Generate invoice is not offered on a draft: confirm the order first, then invoice it.
The order list also offers Fulfilled and Refunded labels. Neither is reachable for an order you create in Finance; they belong to the separate e-commerce store sync. Ignore them.

Voiding, not deleting

Only a Draft invoice can be deleted. Once you have sent one, void it instead. Voiding keeps the record, credits the client’s statement for the amount still outstanding, and claws back any loyalty points earned on that sale.
Voiding is how you cancel a sent invoice, and the record stays visible forever. Do not send a draft you are unsure about expecting to delete it later.

What runs on its own

Once a day, DMLY:
  • marks invoices past their due date as Overdue,
  • reminds clients about renewals coming up in three days,
  • rolls subscriptions that are due.
Subscriptions set up for Auto-charge are charged against the client’s saved card, and the renewal generates and sends an invoice on its own. Without Auto-charge, a renewal still bills the client: DMLY rolls the billing period, raises that period’s invoice and sends the client a pay link, following your invoice notification settings. This renewal grants no plan credits, and paying the invoice does not grant them either. Plan credits are added only when the subscription starts, when an immediate plan change adds credits (the difference only), and on an Auto-charge renewal that goes through. Unpaid invoices turn Overdue. Once three periods are unpaid, DMLY pauses the subscription instead of billing a fourth. Resuming it does not push the dates out. The client gets no built-in message about the pause, but the Subscription paused automation trigger fires, so you can send one. If an auto-charge fails, DMLY retries every two days and pauses the subscription after the third failure, notifying the client each time. See Subscriptions.

Set your defaults first

Before your first invoice, set your due days, numbering and tax in Finance settings. These become the defaults on every invoice you raise, and fixing them afterwards means re-issuing documents. Invoices you raise on the Finance page take their currency from your Business details, not from Finance settings. The Default currency there only fills in when nothing else supplies a currency, for example an invoice raised in the mobile app, or through the API or MCP without a currency. The automation Create Invoice step does not use it: it bills in the currency set on the step, which starts as USD. Finance is not tied to your plan. Who can use it is set by team-role permissions: View finance (invoices, payments, orders), Create & edit invoices / orders, Record payments, Issue refunds and Manage finance settings. The last two are admin-only out of the box.