# Online invoice payments

> Let customers pay invoices online via Stripe — connect once, then control Pay Now per org, per recurring template, and per invoice.

Source: https://www.accountfun.com/docs/guides/online-payments/

Online invoice payments let your customers pay an [invoice](https://www.accountfun.com/docs/guides/invoices/) through Stripe the moment they view it — no phone calls, no manual bank transfers to reconcile. You connect Stripe once; each invoice then carries a **Pay Now** button your customer can click to pay by card.

Funds settle directly to **your** Stripe account — AccountFUN never holds the money. When a payment lands, AccountFUN records it against the invoice automatically.

Requires an active Stripe connection

Pay Now only appears after an admin connects Stripe under **Settings → Online Payments**. Until then the button is hidden on every invoice and the settings below are disabled.

## How it works

A **Pay Now** button is offered on an invoice only when **all** of the following are true:

* The invoice is opted in to online payments (see the [cascade](#the-enablement-cascade) below).
* The org has an **active** Stripe connection.
* The invoice is **Approved** (drafts, submitted, voided, and paid invoices never show Pay Now).
* The invoice has a **balance due greater than zero**.

When the customer clicks **Pay Now**, they’re redirected to a Stripe-hosted Checkout page, pay by card, and are sent back to the invoice. The payment is recorded against the invoice automatically — no manual entry on your side.

## Connect Stripe

**Settings → Online Payments → Connect Stripe.** You’ll be sent to Stripe’s hosted onboarding to provide your business details and bank account. This connects **your** Stripe account to AccountFUN.

* **Admin-only.** Only an org admin can connect or disconnect Stripe.
* **One connection per org.** The connection is shared across all your invoices — you don’t reconnect per invoice.
* The settings form (surcharge, accounts, defaults) unlocks once the connection status reaches **active**. While onboarding is still in progress, the form stays disabled.

You are the merchant of record

This uses Stripe Connect with **direct charges** — your business name appears on the customer’s card statement, you pay Stripe’s processing fees directly, and you own any disputes or chargebacks. AccountFUN takes no cut of your payments.

To disconnect, use **Disconnect** on the same page. Disconnecting immediately hides Pay Now on **all** invoices — customers mid-payment are unaffected, but no new payments can start until you reconnect.

## The enablement cascade

Connecting Stripe turns the feature on for your org, but it doesn’t put Pay Now on every invoice by default. Whether an individual invoice shows Pay Now is controlled by a three-level cascade — each level **seeds** the next, and every invoice can be toggled individually as a final override.

```plaintext
Org default (Settings → Online Payments)
  └─ "Accept online payments on new invoices by default"
       ├─ New one-off invoices  → start with this value (toggle on the form)
       └─ Recurring templates   → carry their own toggle
            └─ Each generated invoice → inherits the template's setting


Any invoice → overridable individually on the invoice detail page
```

| Level                  | Where to set it                             | Toggle label                                                                              | Seeds                  |
| ---------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------- | ---------------------- |
| **Org default**        | Settings → Online Payments                  | **Accept online payments on new invoices by default**                                     | New one-off invoices   |
| **Recurring template** | Recurring template form (invoice type)      | **Accept online payments on generated invoices**                                          | Each generated invoice |
| **Individual invoice** | Invoice create form, or invoice detail page | **Accept online payment** (create) / **Accept online payment … On/Off** (detail dropdown) | — (final value)        |

### How inheritance works

* **New one-off invoices** start from the **org default**. Flip the org default on once and every new invoice you create comes with Pay Now enabled — no need to remember each time.
* **Recurring-generated invoices** start from the **template’s** toggle, not the org default. This lets a retainer template accept online payments while a draft-only template does not, independently of the org-wide setting.
* **Either way, the per-invoice flag is the final word.** Once an invoice exists, you can turn Pay Now on or off on that invoice regardless of where it inherited its initial value from.

Inheritance is at creation time only

Changing the org default or a recurring template’s toggle does **not** retroactively change existing invoices — only future ones. To update an invoice that already exists, toggle it on its own detail page.

### Toggle an individual invoice

On any invoice (draft or approved), open the actions dropdown on the invoice detail page and click **Accept online payment** → **On** or **Off**. The toggle is optimistic — it flips instantly and persists in the background. It’s editable at **any status**, including after approval, so you can enable Pay Now on a historic invoice without re-approving it.

On the **new invoice** form, the toggle appears under the tax-mode card and starts from the org default.

### What Pay Now needs (beyond the toggle)

The per-invoice toggle is necessary but not sufficient. Even with the toggle on, Pay Now stays hidden until the other three conditions hold (active Stripe connection, Approved status, balance due). This is intentional — you can flip the toggle on a draft now and the button will appear automatically once the invoice is approved and sent.

## Surcharges and accounting

Under **Settings → Online Payments → Payment Settings** you can:

* **Charge a processing-fee surcharge** — pass Stripe’s fee (or any percentage you set) on to the customer. When on, the Pay Now Checkout adds a separate *Processing fee* line item alongside the invoice total.
* **Surcharge reimbursement account** — where the surcharge posts as revenue (e.g. an *Other Income* account). Required only when the fee percent is above zero.
* **Bank-fee account** — where Stripe’s processing fee posts as an expense.
* **Deposit bank account** — the bank account settlements land in, for reconciliation.

## What the customer sees

When a customer opens an approved invoice (via the public view link or an emailed invoice), they see a **Pay Now** button. Clicking it takes them to a Stripe-hosted Checkout page where they enter their card and pay. On success they’re returned to the invoice, now marked paid, and AccountFUN records the payment against the invoice and posts it to your ledger — no manual entry.

### Invoices that settle in another currency

If the invoice has a [settlement currency](https://www.accountfun.com/docs/guides/settlement-currency/), the customer pays the **settlement balance due, in the settlement currency** — exactly what their invoice shows (any surcharge is worked out on that amount). AccountFUN records the payment in the currency it was charged, clears the invoice in its own currency, and books any difference as a realized FX gain or loss.

## Worked example: enable Pay Now for everything

Acme Co. wants every invoice they send to be payable online.

1. **Settings → Online Payments → Connect Stripe**, complete Stripe’s hosted onboarding. Status flips to **active**.
2. On the same page, turn on **Accept online payments on new invoices by default** and **Save settings**.
3. From now on, every new invoice you create starts with Pay Now enabled. Once approved and sent, the customer sees the button.

For a **monthly retainer** that’s already a recurring template, open the template, turn on **Accept online payments on generated invoices**, and save. Each generated invoice now inherits Pay Now — independently of the org default.

To turn Pay Now **off** for a single one-off invoice (e.g. a cash-only customer), open that invoice’s actions dropdown and set **Accept online payment → Off**. Every other invoice is unaffected.
