FreelancerFlow

Payment tracking and partial payments

Record full or partial payments on an invoice. Each payment captures amount, method and date — useful for retainers and milestone billing.

By Cenker ÇetinQuotes And Invoices3 min read

Before you start

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

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.

If this article didn't cover what you need: Need more help? Contact support