> For the complete documentation index, see [llms.txt](https://docs.flowretail.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowretail.com/docs/day-to-day-operations/selling/payments/payment-methods/custom-payment.md).

# Custom payment

Define your own payment methods, with your own names, rules and fields.

## What is this?

Custom payment lets you add payment methods Flow Retail does not ship: a staff account, a voucher scheme, a local financing partner, a customer club card. You name it, decide how it behaves, and it appears at the till like any other method.

Flow Retail records the money and prints it on the receipt. It does not talk to anyone on your behalf — whatever happens outside the till is between you and whoever provides the payment.

***

## How does it work?

You define the method once for the whole chain, then enable it in the stores that should have it.

The **Name** you give it is what the cashier sees and what goes on the receipt, unless you set a separate **Receipt text**. The **Settlement Code** is how the payment shows up in accounting and in exports; it has to be unique and start with `EXTERNAL_`, and a **Generate from name** button will build one for you.

From there you decide how it behaves: whether it can be used for sales, refunds, cashback and deposits, whether the amount is free or forced to the remainder, and whether it should be **Featured** with its own button, merely **Listed**, or **Hidden**.

If the cashier needs to record something — a card number, a voucher code, an approval reference — add a **New Parameter** for it. Give it a name, mark it required or not, and pick a **Type**; the till builds the input and checks what is typed. Types run from **Free text** and **Whole number** to **Date**, **Mobile number** and modulus-checked account numbers, and you can set your own **Validation Pattern** on top.

{% hint style="info" %}
Under **Requirements** you can insist on a customer, a mobile number, an email address, or exclusive use of the method. Where the underlying method already demands one of these, you can tighten the rule but never loosen it.
{% endhint %}

Custom payment methods also work on orders imported through the API, alongside invoice and payment gateway.

***

## How do we get started?

Go to **Admin → Settings → Payment Methods** and select **Create external payment method**. Fill in the name and settlement code, set the rules, and add any parameters you need.

Then open each store, go to its **Payment Methods** tab and select **Add payment method**. That is also where you set the ledger account it posts to.

{% hint style="success" %}
Selling through a partner system as well? Add an **External System Mapping** so the same method carries that system's own ID on the way out.
{% endhint %}

***

*Last updated 17.09.2026*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flowretail.com/docs/day-to-day-operations/selling/payments/payment-methods/custom-payment.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
