ServiceCortex
Billing

Payments

Record manual payments, process online payments, handle partial payments, and issue refunds

ServiceCortex provides a complete payment system that supports manual recording, online credit card processing via Stripe, partial payments, and refunds. All payments are linked to invoices and automatically update balances and statuses.

Recording a manual payment

When a client pays by cash, check, bank transfer, or any method outside of the online payment system, you record it manually.

  1. Navigate to the invoice you want to apply the payment to, or go to Billing > Payments and click Record Payment.
  2. Select the client.
  3. Enter the amount received.
  4. Choose the payment method (for example, cash, check, bank transfer, or credit card processed externally).
  5. Select one or more invoices to apply the payment to. You can apply a single payment across multiple invoices.
  6. Optionally add a reference number (such as a check number or transaction ID) and notes.
  7. Set the payment date if it differs from today.

Click Record Payment to save. ServiceCortex validates that the payment amount does not exceed the total balance due across the selected invoices.

How payments are allocated

When a payment covers multiple invoices, ServiceCortex allocates the amount starting with the oldest invoice first (by due date). Each invoice receives as much of the payment as its outstanding balance allows before the remainder moves to the next invoice.

For example, if you record a $500 payment against two invoices -- one with a $300 balance and one with a $400 balance -- the first invoice receives $300 (marking it paid in full) and the second receives the remaining $200 (leaving a $200 balance).

Partial payments

ServiceCortex fully supports partial payments. When a client pays less than the total invoice balance:

  • The payment is allocated across the selected invoices
  • Each invoice's amount paid and balance due are updated
  • Invoices with a remaining balance move to Partial status
  • When the full balance is eventually received, the invoice moves to Paid

You can record as many partial payments as needed against a single invoice.

Online payments with Stripe

If you have connected your Stripe account, clients can pay invoices online through the client portal. When a client views an invoice in the portal:

  1. They see a Pay Now button if online payments are enabled for the invoice.
  2. Clicking it creates a Stripe PaymentIntent for the invoice balance (or a custom amount if partial payments are allowed).
  3. The client enters their credit card details in a secure Stripe-hosted payment form.
  4. On successful payment, ServiceCortex automatically records the payment, updates the invoice balance, and marks it as paid.

Processing fees

You can optionally pass Stripe processing fees to the client. In Settings > Payments, configure:

  • Pass fee to customer -- when enabled, the processing fee is added on top of the invoice amount.
  • Fee percentage -- the percentage-based portion of the fee (for example, 2.9%).
  • Fixed fee amount -- a flat fee added per transaction (for example, $0.30).

When fees are passed to the client, the payment form shows a breakdown of the invoice amount, the processing fee, and the total they will be charged.

Minimum payment amount

You can set a minimum payment amount in your payment settings. If a client attempts to pay less than this threshold, the payment will be rejected. This prevents micropayments that may not be worth the processing cost.

Refunds

To refund a payment, open the payment record and click Refund. You can issue:

  • Full refund -- refunds the entire payment amount.
  • Partial refund -- refunds a specific amount up to the original payment minus any previous refunds.

When you process a refund:

  1. The refunded amount is deducted proportionally from the invoices the payment was allocated to.
  2. Each affected invoice's balance is recalculated and its status updated.
  3. If the original payment was made via Stripe, ServiceCortex issues the refund through Stripe automatically, returning the funds to the client's card.
  4. A refund activity event is logged with the amount, reason, and user who processed it.

If a Stripe refund fails (for example, due to an expired card or Stripe account issue), ServiceCortex surfaces the error so you can resolve it before the local bookkeeping is updated.

Payment history and client summary

Every payment is tracked with a complete history, including:

  • Payment amount and method
  • Date received
  • Invoice allocations (which invoices the payment was applied to and how much each received)
  • Refund history
  • Reference numbers and notes

You can view a client payment summary that shows total paid, total invoiced, total outstanding, and payment counts across all of a client's invoices.

Accounting sync

Payments are automatically synced to your connected accounting software. If you use the Xero integration, payments are pushed to Xero when recorded, keeping your books up to date without manual data entry.

What to do next

On this page