When a client pays an invoice, you record the payment against it. FreelancerFlow supports as many payments as you want per invoice, which makes partial payments and milestone billing straightforward.
Goal: by the end of this you'll have recorded one payment on an invoice and understand how the remaining balance is calculated.
Prerequisites
- An invoice in any status except Cancelled. See Creating an invoice from scratch.
Step 1: Open the invoice
From the project detail or the Money tab, tap into the invoice. The detail screen shows the line items, totals, and a Payments section at the bottom.
Step 2: Tap Add payment
The button sits in the Payments section header. The Add payment sheet opens.
Step 3: Fill in the payment
- Amount (required) — how much the client paid. Pre-fills with the remaining balance so you can quickly accept a full payment.
- Method — Bank transfer, Cash, Crypto, or Other. Used for reporting on the Money tab; doesn't affect totals.
- Paid at — date the payment landed. Defaults to today.
- Notes (optional) — anything you want to remember (transaction ID, reference number).
Tap Save.
How the remaining balance works
Remaining balance = Total − sum of all payments, floored at zero.
Each payment is its own row. You can:
- Add as many as you need until the remaining balance hits zero.
- Edit any payment (tap the row → Edit).
- Delete a payment (swipe left → Delete) — the remaining balance is recomputed instantly.
Once the remaining balance hits zero, the invoice's status flips to Paid automatically.
Partial payment example
Invoice total: 5,000 EUR.
- Payment 1: 1,000 EUR deposit on 1 March → remaining 4,000 EUR → status stays Sent.
- Payment 2: 2,000 EUR milestone on 1 May → remaining 2,000 EUR → status stays Sent.
- Payment 3: 2,000 EUR final on 1 June → remaining 0 → status flips to Paid.
The Money tab's Earned KPI reflects each payment on its paid-at date, so cash flow across periods is captured even on a single invoice.
Recording an overpayment
The app does not accept an amount that exceeds the remaining balance — the Save button stays disabled. If a client overpaid, record the invoice amount, then handle the surplus outside the app (refund or apply manually to the next invoice).
Troubleshooting
- Status didn't flip to Paid. The remaining balance is still non-zero. Pull up the payments list and check for missing rows or wrong amounts.
- Wrong date. Edit the payment, change Paid at. The Money tab re-aggregates immediately.
- Multi-currency client. Each payment is in the invoice's currency. If a client paid you in a different currency, record the converted amount and put the originals in the notes.