How to send an invoice a client can pay online
Create a Desk invoice, share its payment link, and check whether it was paid. Learn why Sent does not confirm delivery or payment.
Desk Team
4 min read

In Desk, create an invoice for the client, enter the amount and due date, then tap Save and send. Desk generates a Stripe payment link and opens your phone's share sheet. Finish sending that link through your chosen channel so the client can pay in a browser.
One detail matters: Save and send also sets the invoice to Sent. That status alone does not confirm the message reached the client, or that the invoice was paid.
Before creating the invoice
The business owner must connect a Stripe account before the business can accept payments. If Payments shows onboarding, use Connect with Stripe and complete the setup. Check the account status when you return; Active means charges and payouts are enabled.
Have the correct client, agreed amount, and due date ready. Desk invoices bill one amount. The description is optional; use it to help the client recognize the service or charge.
If you run more than one business, check the selected business before billing. Payment processing and Desk's platform fee apply; review the payment fee details for the current terms.
Create the invoice and review its details
- Open Invoices and tap + to open New invoice. The invoice number is pre-filled; you can edit it.
- Select the Client. Check that you have the right person before continuing.
- Enter the Amount and, if helpful, a Description that identifies the service or agreed charge.
- Set the Due date. Desk defaults to 7 days out, so change it if you agreed on another date.
- Review the client, amount, description, and due date before tapping Save and send.
These steps follow Desk's invoice documentation.
For a description, use information the client needs to recognize the charge, such as the service and its date. Keep private client notes out of the billing description.
Complete the sharing step
After Save and send, Desk creates the invoice as Sent, generates its payment link, copies it, and opens the share sheet. Choose the recipient and complete the send action in the app you use for billing communications.
If you close the share sheet without sending, check your message app rather than relying on the Sent badge. Creating the invoice and delivering its link are separate steps.
Here is sample wording to adapt for an email or another channel the client has agreed to use for billing:
Hi, here is invoice [invoice number] for [service]: [amount], due [due date]. You can pay here: [payment link]. Please let me know if any detail needs correcting before you pay.
Replace every bracketed field before sending. Check the recipient, amount, and link once more in the outgoing message. The client enters payment details on the payment page; they do not need to send you card details in a reply.
Check the invoice before collecting again
Return to the Invoices list and find the same invoice number. Use the business and status filters if needed. Check the client and amount as well as the status.
| Status | What to check or do |
|---|---|
| Draft | Review it before sending. Mark as sent changes a draft's status; it is not proof of message delivery |
| Sent | Check whether you actually shared the payment link. Do not treat this as payment confirmation |
| Paid | Desk updates the invoice to Paid when the client pays. Check the matching record before requesting another payment |
| Overdue | Review the unpaid invoice and its due date before following up with the client |
| Void | Collection on that invoice has been closed |
If the client says they already paid but the invoice still looks unpaid, verify the matching invoice and payment record before charging again. Open Payments, filter by the business and Invoice payment type, and check the client, amount, and payment status. Resolve a mismatch with support instead of creating another charge to test the system.
To help a client pay an existing unpaid invoice, open that invoice and use Charge client. Desk documents in-person payment, Manual Card Entry, and a payment-link option there. Start from the existing invoice so you can check its state before choosing how to collect.
If the invoice needs to be canceled
Open the invoice details and review the invoice number, client, and amount before using Void invoice. Voiding stops that invoice from collecting payment and cannot be undone. Use it only when you intend to close collection on that invoice.
If payment has already been collected, handle that through the separate refund workflow, rather than treating voiding as a refund.
An invoice also serves a different purpose from an appointment deposit. If your goal is to hold a booking until an upfront payment is made, use the documented deposit workflow in our guide to reminders, deposits, and no-shows. Do not assume that creating a standalone invoice reserves an appointment.