Customer Invoices
Create, send, and track invoices to your customers. Manage recurring schedules, payment links, discount rules, and the full order-to-cash lifecycle.
Customer Invoices is the order-to-cash screen. You create invoices for work completed or goods delivered, send them to your customer with a secure payment link, and track the invoice through every stage — draft, sent, partially paid, paid, or voided. Every state change is logged with who did it and when.
Creating an Invoice
Navigate to Finance > Customer Invoices and click New Invoice. The create form asks for:
| Field | What it does |
|---|---|
| Customer | Link to a person or organization in your CRM |
| Line items | Description, quantity, unit price. Tax rate per line or at the invoice level. |
| Discount | Optional dollar or percent discount applied to the subtotal. Cannot exceed subtotal + tax. |
| Due date | When payment is expected |
| Currency | Defaults to your organization’s base currency |
| Notes | Internal notes (not visible to customer on the invoice PDF) |
Once saved in Draft status the invoice is private. Nothing is sent to the customer until you click Send.
Sending an Invoice
When you send an invoice Muin:
- Generates a secure payment link (a
PaymentPageToken) unique to this invoice - Emails the invoice PDF and link to the customer
- Sets status to Sent
The payment link stays active until the invoice is paid or voided. Customers do not need a Muin account to pay — they follow the link and enter card or ACH details through the hosted payment page.
Duplicate prevention. If you click Send twice on the same invoice, the second call is a no-op — no second email goes out. The system detects the existing PaymentPageToken and returns it instead of creating a duplicate.
Tracking and Collecting
The invoice list shows every invoice with its current status, amount remaining, and days past due. Click any invoice to open the detail view, which includes:
- Payment history panel — every payment received against this invoice: date, amount, method, and who recorded it
- Status badge — updates automatically as payments come in
- Amount remaining — subtracts all confirmed payments from the invoice total
AR Aging
If an invoice is past due, it surfaces on the AR Aging dashboard with days-outstanding buckets (0-30, 31-60, 61-90, 90+). From AR Aging you can send a reminder with the original payment link in one click.
Voiding an Invoice
To cancel a sent invoice, open it and click Void Invoice. A confirmation modal asks for a void reason. Once you confirm:
- The invoice status changes to Voided
- The payment link is immediately deactivated — any customer who clicks it sees a “link expired” message
- The void is recorded in the audit trail with the reason you provided
You cannot void an invoice that has already been fully paid. If the customer has made a partial payment and you need to cancel, void the outstanding balance separately and issue a refund for the received portion.
Discounts and Validation
Discounts are optional but when used they must satisfy one rule:
Discount ≤ (Subtotal + Tax)
Setting a discount that exceeds the total triggers a validation error before the invoice saves. Discounts equal to or greater than the total are also rejected — the invoice amount must be at least $0.01.
Permissions
| Action | Required permission |
|---|---|
| View invoices | finance:read |
| Create and edit drafts | finance:write |
| Send an invoice | finance:process |
| Void an invoice | finance:process |
| Record a payment | finance:process |
A user with finance:read only can view invoices and download PDFs but cannot send or record payments.
Common Questions
Can I resend an invoice? Yes — open the invoice and click Resend. The same payment link is used (not a new one). A new email goes to the customer’s current email address on file.
What if a customer pays directly and I need to record it? Use Record Payment on the invoice detail page. Enter the amount, payment date, and method. The invoice status updates and the amount remaining adjusts immediately.
Can I reopen a voided invoice? No. Void is permanent. Create a new invoice if the transaction should proceed.
What happens to the payment link after full payment? The link stays accessible but the hosted payment page shows “This invoice has been paid” and does not accept additional payment.