Skip to main content

Collections and Payments

This module lets you record and track the payments your clients make, from recording a manual bank transfer to receiving online card payments and reconciling them against your bank statement.

Who this journey is for and prerequisites​

This guide continues the Your First Invoice journey for freelancers (autónomos) and small businesses (PYMEs) that have issued an invoice and want to collect payment, verify its full or partial status, and reconcile it with their bank statement.

Before starting, check the requirements for the collection method you plan to use:

Collection methodRequired planPrerequisites in FrihetRequired invoice status
Manual bank transferAny plan (Free, Pro, Premium, Enterprise)None (optional: include your IBAN under Notes / Legal Info).Sent / Issued (not Draft).
SEPA QR code (EPC069-12 v2.0) on the PDFAny planIBAN configured in Settings → Tax Profile and invoice issued in EUR.Unpaid (the QR code is embedded automatically when generating the PDF).
Card payment link (Stripe Connect)Pro or higherStripe Connect account active in Integrations.Sent, unpaid, and whose Due Date has not yet passed.

Continuing example: collecting the invoice from Estudio Norte S.L.​

Continuing the synthetic walkthrough from Your First Invoice, this guide uses a documentation-only example to illustrate the figures, statuses, and UI checkpoints:

  • Synthetic client: Estudio Norte S.L. · corporate CIF B12345674 (passes algorithmic check digit 4 validation in validateCIF_ES(), but does not prove existence, ownership, or registration in the AEAT census) · email facturacion@example.com (IANA/RFC 6761 documentation domain; not a controlled QA mailbox or a delivery/blocking guarantee).
  • Invoice: F-2026-0001 for Servicio de consultoría técnica (octubre) (10 units × €150.00).
  • Amount to collect:
    • Without IRPF withholding (corporate or B2B without professional withholding): taxable base €1,500.00 + 21% VAT (€315.00) = €1,815.00.
    • With 15% professional IRPF withholding (self-employed professional): taxable base €1,500.00 + 21% VAT (€315.00) - 15% IRPF (€225.00) = €1,590.00 net receivable in your bank account.
    • 50% partial payment case (without IRPF): first payment of €907.50 (the invoice moves to Partial status with a remaining balance of €907.50).
Illustrative scope of the example (do not execute live invoices or payments with these values)

The F-2026-0001 scenario with Estudio Norte S.L. (B12345674, facturacion@example.com) is solely designed to teach what to verify in the UI and how to recover from common errors. It is not an instruction to issue a live invoice, trigger a real Stripe charge, or reconcile a real bank deposit using fictitious data. To execute actions with external side effects, use your own legitimate data with proper authorization, or an authorized QA environment with controlled resources and mailboxes; documentation fixtures do not prove runtime payment collection or bank reconciliation.


Step-by-step journey: from sending to reconciled payment​

The collection lifecycle starts with the invoice in Sent status (F-2026-0001), transitions to Partial (€907.50 collected and €907.50 remaining) or directly to Paid (€1,815.00 without IRPF / €1,590.00 with IRPF), and finishes once the deposit is matched in Finance → Banking and verified in Reports → Payments:

State flow: Invoice → Partial or full payment → Bank reconciliation

Estudio Norte S.L. · F-2026-0001 (€1,815.00)
Issued invoice
status: sent€1,815.00

Invoice F-2026-0001 leaves Draft status and awaits collection for the full total (€1,500.00 subtotal + €315.00 21% VAT).

Payment recording
Partial (€907.50)Full (€1,815.00)

If an installment arrives, paidAmount increases and a remaining balance stays open; if 100% arrives, it transitions directly to Paid.

Paid invoice
status: paidBalance: €0.00

Once the full total is covered (in one transfer or across installments), the invoice is settled and emits invoice.paid.

Bank reconciliation
Finance → Reconciliationmatch_transaction_to_invoice

The bank statement credit line (CSV/Open Banking) is linked to F-2026-0001 by matching amount, date, and tax ID B12345674.

Path A — Multi-installment partial collection

Draft → Sent (€1,815.00 due) → 50% partial payment (€907.50 paid, €907.50 remaining) → Final 50% payment → Paid (€0.00 remaining) → Reconciled against 2 bank transactions.

Path B — Single full payment

Draft → Sent (€1,815.00 due) → Mark as paid / Stripe / single wire (€1,815.00) → Paid → Reconciled against 1 bank transaction.

View textual specification and Mermaid state source
stateDiagram-v2
  [*] --> Sent: Issue F-2026-0001 (€1,815.00)
  Sent --> PartiallyPaid: Partial payment (e.g. €907.50 -> paidAmount < total)
  Sent --> Paid: Full payment (€1,815.00 -> mark_invoice_paid / POST /v1/invoices/:id/paid)
  PartiallyPaid --> Paid: Remaining balance collected (€907.50)
  Paid --> Reconciled: Matched to bank statement transaction (Finance -> Reconciliation)

Step 1. Choose collection method (bank transfer/SEPA QR vs Stripe link)​

  1. If you collect by bank transfer or SEPA QR: download or send the PDF for invoice F-2026-0001. When your IBAN is configured and the invoice is in EUR, the PDF automatically includes the EPC069-12 v2.0 SEPA QR code carrying the exact amount (€1,815.00 or €1,590.00) and reference F-2026-0001 so Estudio Norte S.L. can scan it from their mobile banking app.
  2. If you collect by card via Stripe Connect: while the invoice is in Sent status and before its due date, open the invoice menu, click Payment link, and use Share link to send it to the client.

Step 2. Record or receive the payment (full or partial)​

  • Online path (Stripe Connect): as soon as Estudio Norte S.L. completes the card payment in Stripe Checkout, Frihet automatically records the payment and marks invoice F-2026-0001 as Paid without manual intervention.
  • Manual or programmatic path (Web UI, REST API, or MCP): choose the channel you use to operate your account:
  1. Go to Sales → Invoices and open invoice F-2026-0001.
  2. Click Record payment.
  3. Enter the Amount received:
    • If you received the full amount (€1,815.00 without IRPF or €1,590.00 with IRPF), the invoice moves to Paid.
    • If you agreed on a 50% installment (€907.50), enter €907.50: the invoice moves to Partial status, showing €907.50 collected and €907.50 outstanding.
  4. Select the Payment method (Bank transfer, Manual, or Other), set the actual Date the funds arrived, and click Record payment.

Step 3. Reconcile with your bank statement​

  1. Go to Finance → Banking and click Import Statement to upload your bank statement transactions.
  2. Verify that the deposit from Estudio Norte S.L. (€1,815.00, €1,590.00, or €907.50) matches invoice F-2026-0001.
  3. Open Reports → Payments, filter the current period, and confirm the payment appears with its date, invoice number, client, method, and amount (you can download the table via Export CSV).

Expected result​

When you complete this journey on invoice F-2026-0001, you will see three verifiable outcomes in your account:

  1. Updated status badge in the invoice list: in Sales → Invoices, F-2026-0001 displays Paid (when the remaining balance is €0.00) or Partial showing the collected amount over the total (€907.50 / €1,815.00).
  2. Traceable payment history on the invoice: inside the invoice detail view, the payment history lists the date, method, and amount, plus the Reverse button for manually recorded entries if you ever need to undo a mistake.
  3. Reflected in reports and bank reconciliation: the collection appears in Reports → Payments ready for CSV export and matches the imported bank transaction in Finance → Banking.

Record a payment​

When the client pays outside Frihet (transfer, cash, check):

  1. Go to Sales → Invoices and open the invoice.
  2. Click Record payment.
  3. In the dialog enter:
    • Amount: what you received.
    • Payment method: Bank transfer, Manual or Other.
    • Date: when you received the money.
    • Notes: for your records (optional).
  4. Click Record payment.

The invoice becomes paid when the collected amount reaches the total. If you make a mistake, Reverse in the invoice payment history undoes the payment.

In bulk​

If several invoices were paid together:

  1. In Sales → Invoices, select the invoices with the checkboxes.
  2. Click Mark Paid and confirm.

Use it after reconciling with your bank. Frihet does not split a single payment across several invoices; see Multi-invoice payment.

Partial payments​

If the client pays only part of the invoice, record the payment with an amount below the total (for example, 500 of 1,000 EUR). The invoice stays partially paid, showing the amount collected and the balance, and you can record each later payment. In the list, the invoice shows the Partial status and the amount collected out of the total. An amount above the outstanding balance is rejected. See Partial Payments.

Payment terms​

Payment terms define how long the client has to pay. When creating the invoice you can choose:

  • Due on receipt
  • Net 15 days, Net 30 days, Net 45 days, Net 60 days or Net 90 days
  • Custom date

Terms per client​

If all of a client's invoices are paid on the same schedule, set Default payment terms on their record in Contacts. New invoices to that client use them, and you can change them on each invoice.

Online payments (Stripe Connect)​

Frihet integrates with Stripe Connect to receive card payments.

Enable Stripe Connect​

  1. Go to Integrations and find the Stripe Connect card.
  2. Follow the Stripe connection and authorization process.
  3. When Stripe confirms your account, you return to Frihet with Stripe connected.

With Stripe connected:

  1. Open an issued invoice.
  2. Click Payment link.
  3. Copy the link with Share link and send it to the client.

Automatic reminders include the link to the invoice portal, from which the client can pay if you are on the Pro plan or higher and have Stripe connected.

Payment flow​

  1. The client opens the link and sees the invoice summary.
  2. They enter their card details in the Stripe checkout.
  3. Stripe processes the payment.
  4. Frihet marks the invoice as paid and records the payment.

More detail in Payment link.

Bank direct debit (SEPA)​

Frihet does not initiate SEPA direct debits or manage direct debit mandates. If you agree with a client that their bank pays you by direct debit, you handle the debit outside Frihet and record the payment by hand with Record payment when the money arrives. If you collect by direct debit with GoCardless, connect the integration to import those payments.

Payment reminders​

Automatic​

  1. Go to Settings → Payment reminders. Automatic reminders are on by default. To adjust them:

  2. Define how many days before or after the due date each reminder is sent (negative values are sent before) and which levels to turn off.

Frihet emails the client on that schedule. More detail in Payment reminders.

Send a manual reminder​

  1. Open the overdue invoice.
  2. Click Send reminder.
  3. Review the email and send it.

You can also select several invoices in the list and click Remind.

Manage overdues​

Invoices that fall due without being paid move to the Overdue status.

Overdue analysis​

Go to Reports → Aging to see outstanding invoices by bracket (current, 1-30, 31-60, 61-90 and 90+ days), with these figures:

MetricDescription
Total OutstandingTotal amount receivable
Total OverdueAmount whose due date has passed
Overdue InvoicesNumber of overdue invoices
Avg DaysAverage days overdue
Top Overdue ClientsWho owes the most

From that report you can click Send reminder on each invoice.

Actions for overdue invoices​

  1. Send reminder by email.
  2. Apply late fee (see Late Fees).
  3. Record payment if they finally paid.
  4. Create credit note if it will be cancelled (see Correction Invoices).

Refunds​

On invoices, Frihet does not process refunds of money or card refunds. To record a return fiscally, create a correction invoice from the original invoice with Create credit note (see Correction Invoices). Returning the money to the client happens outside Frihet.

Bank reconciliation​

To match payments against your bank:

  1. Go to Finance → Banking and use Import Statement to load the statement.
  2. Review the transactions and compare them with the recorded payments.
  3. Check Reports → Payments to see the payments of the period. Filter by dates, client or method and click Export CSV to download date, invoice number, client, method, amount, currency and gateway.

Look for discrepancies such as paid invoices without a bank deposit, deposits without an associated invoice, and date differences (Frihet records the payment date; the bank records the value date).

Common issues and recovery​

Issue or symptomVerified root causeHow to resolve it
The "Payment link" button does not appear on the invoiceThe invoice is still in Draft, is already Overdue or Paid, your account is on the Free plan (requires Pro or higher), or Stripe Connect is not active.Confirm the invoice is in Sent status and not yet past its due date, verify your plan, and check your Stripe connection in Integrations (see Payment link).
The form rejects the amount when clicking "Record payment"The entered amount exceeds the invoice's outstanding balance (for example, a partial payment was already recorded or you entered €1,815.00 on an invoice whose net receivable after IRPF withholding is €1,590.00).Check the remaining balance displayed on the invoice and review previous entries in the payment history before submitting.
I recorded a manual payment by mistake or with the wrong dateHuman error when entering the manual payment in Record payment.Open the invoice in Sales → Invoices, locate the entry in the payment history, click Reverse, and record the payment again with the correct details.
The payment appears in Frihet but does not match the bank statementDifference between the recorded payment date and the bank's value date, or a Stripe payout where processing fees were deducted before settlement.Match the transaction in Finance → Banking accounting for gateway fees or payout timing. See Bank Reconciliation for details.
The client requests a refund after paying the invoiceFrihet does not execute bank transfers or card refunds from the invoice screen.Issue a corrective invoice from the original invoice using Create credit note (Correction Invoices) and refund the funds through your bank or Stripe dashboard.

Common use cases​

Recurring client at 60 days​

  1. Set the client's Default payment terms to Net 60 days.
  2. Each new invoice falls due in 60 days.
  3. Adjust the Payment reminders schedule if you want a notice before the due date.

Immediate payment with Stripe​

  1. You create and issue the invoice.
  2. You generate the Payment link.
  3. The client pays online and the invoice is marked as paid.

Current limits and next action​

Keep these verified product boundaries in mind when managing collections:

  • No SEPA direct-debit initiation: Frihet does not initiate SEPA direct debits or manage mandates (except importing collections via GoCardless).
  • No single-payment splitting in the single-invoice dialog: Record payment applies to one invoice and Mark Paid closes selected invoices for their full balance; to group multiple invoices into one payment operation, see Multi-invoice payment.
  • No bank or card refund execution from the invoice view: fiscal adjustments use Create credit note (Correction Invoices) while the monetary refund is executed in your bank or payment gateway.

Recommended next steps:

  • Reconcile your bank statement in detail: review the 5-state transaction pipeline and matching rules in Bank Reconciliation.
  • Review how collections and issued invoices feed your quarterly taxes: see how your invoices flow into Modelo 303, Modelo 130, or IGIC in Tax Models.
  • Troubleshoot gateway or email delivery issues: check the diagnostic matrix in Support & Quick Troubleshooting.

Previous: Taxes | Back to: Invoicing