Payments
A Payment in Easy Invoice is a record of money received against an invoice. Payments can be created two ways:
- Automatically — when a client pays through PayPal, Stripe, Square, etc. The gateway webhook fires, a Payment is recorded, and the invoice is marked Paid.
- Manually — when you receive money outside a gateway (cash, wire transfer, cheque) and record it yourself.
WP Admin → Easy Invoice → Payments.

1. The Payments list
Every payment ever received shows up here, with:
- The associated Invoice Number
- Client name
- Payment Method (PayPal, Stripe, Manual, Bank Transfer, etc.)
- Amount
- Date
- Status (Paid, Pending, Refunded)
- Transaction ID (from the gateway)
Filter by status, method, or date range.
2. Record a manual payment
When a client pays you offline (cash, wire transfer you reconciled in your bank, cheque arrived):
- WP Admin → Easy Invoice → Add New Payment.
- Fill in:
| Field | Why |
|---|---|
| Invoice | Which invoice this payment is against (dropdown shows unpaid invoices). |
| Amount | The amount received. Can be less than the invoice total for partial payments. |
| Payment Date | When you actually received it. |
| Payment Method | Manual / Cash / Bank Transfer / Cheque / Other. |
| Transaction Reference | Optional — the bank reference, cheque number, or any text. |
| Notes | Internal notes ("client paid in person", "wire from Acme Bank ref ABC123"). |
- Click Save.
The invoice updates automatically:
- Full payment ⇒ status flips to Paid.
- Partial payment ⇒ remaining balance shown; status stays Unpaid until full balance is collected.
- The Payment Received email goes out to the client (unless you disable it in Settings → Email → Payment Received).
3. Partial payments PRO
If you've enabled Settings → Invoice → Enable Partial Payments, Easy Invoice Pro lets the client pay in installments via the public invoice page. The flow:
- Client opens the invoice URL.
- They pick an amount: a free amount, one of your fixed presets, or a percentage preset (configured in settings).
- The gateway charges that amount only.
- Easy Invoice records the partial payment and updates the invoice's Remaining Balance.
- The client can return any time and pay another installment.
See Settings reference → Pro-only invoice settings for the full set of partial-payment configuration fields.
4. Refunds
To refund a payment:
- Open the Payment record.
- Click Refund.
- Enter the refund amount and (optional) reason.
For gateway-backed payments (Stripe, Square, etc.), the refund is sent to the gateway too — the customer's card is credited. Manual payments are just marked Refunded in your records.
5. Reports & exports
WP Admin → Easy Invoice → Reports for the free dashboard summary (this month's revenue, outstanding total).
With Pro, the Export tool (under Easy Invoice → Export) generates CSV exports for accounting:
- Invoices CSV (date, client, amount, status, gateway)
- Payments CSV (date, invoice, amount, method, transaction ID)
- Clients CSV
CSVs work with QuickBooks, Xero, FreshBooks, and any spreadsheet.
6. Common questions
"My invoice is still Unpaid even though Stripe says paid." → Webhook isn't connecting. Re-check Stripe webhook setup.
"How do I delete a wrong payment?" → Open the Payment, click Delete. The invoice's outstanding balance recalculates automatically.
"Can I move a payment to a different invoice?" → Yes — delete the payment from the wrong invoice and re-create it against the correct one. Or edit the Payment's Invoice field directly.
"Why does the invoice show Paid but no Payment record exists?" → Someone manually changed the invoice status without creating a Payment. The financials won't reconcile. Always record a Payment instead of editing status.