..
  This file is part of GNU TALER.
  Copyright (C) 2014-2026 Taler Systems SA

  TALER is free software; you can redistribute it and/or modify it under the
  terms of the GNU Affero General Public License as published by the Free Software
  Foundation; either version 2.1, or (at your option) any later version.

  TALER is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License along with
  TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>


.. _pos_payments:

Accept Cash, Card and Mixed Payments
====================================

.. contents::
  :depth: 1
  :local:

Customers can pay for the full order with GNU Taler, cash or card, or split the
amount between these methods. Record cash and card payments first, then use
Taler to pay any remaining balance.

GNU Taler is always available. To enable an additional payment method, open
**Settings → Manage payment options**. Turn on **Cash** to record cash payments.
For a card reader, follow :ref:`pos_sumup`.

If mixed payments are unavailable, ask your administrator to check that the
merchant backend supports protocol version 42 or later.

After preparing an order, press **Bill**. If cash or card payments are enabled,
the payment screen opens. Choose:

- **Cash** (1) to record money received from the customer.
- **Card** (2) to charge an amount using the card reader.
- **Charge with Taler** (3) to show the QR code for the remaining amount.

**Order total** shows the full amount owed. **Paid** shows the payments already
recorded, and **Remaining** shows how much is still due.

.. figure:: ../../images/pos/tutorial-updates/checkout.png
   :alt: Checkout with Cash (1), Card (2), Charge with Taler (3), the order total and remaining balance.
   :width: 70%
   :align: center

   Choose the payment method.

For a payment made entirely with Taler, follow :ref:`pos_payment_qr_code`.

.. _pos_cash_payment:

Recording cash and returning change
-----------------------------------

1. Select **Cash** in checkout.
2. Enter the amount the customer handed you in **Cash received** (1).
   The fraction buttons can fill half, a third, a quarter or all of the
   remaining balance.
3. If the customer gave more than the outstanding amount, check
   **Change to return** and hand that change back. Only the amount owed is
   counted towards the order.
4. Press **Record … cash** (2). The button becomes available after you enter
   a valid amount.
5. Back in checkout, verify the recorded payment and remaining balance.

.. figure:: ../../images/pos/tutorial-updates/cash-entry.png
   :alt: Cash amount entry with Cash received (1) and the Record cash button (2), initially disabled at zero.
   :width: 70%
   :align: center

   Enter the received amount before recording the cash payment.

.. _pos_split_payment:

Splitting an order between payment methods
------------------------------------------

Take cash and card payments first. GNU Taler pays the remaining balance last.

For example, for an order of CHF 24.00:

1. Receive CHF 10.00 in cash and record it as described above.
2. Check that **Paid** is CHF 10.00 and **Remaining** is CHF 14.00 (1).
3. If the customer also wants to pay part by card, select the card option,
   enter that amount and complete the card payment before continuing.
4. To pay the remaining balance with Taler, press
   **Charge remaining with Taler** (2). Show the QR code and wait for confirmation.

.. figure:: ../../images/pos/tutorial-updates/split-payment.png
   :alt: Checkout after CHF 10.00 cash, showing the remaining CHF 14.00 (1) and Charge remaining with Taler (2).
   :width: 70%
   :align: center

   In this example, cash covers CHF 10.00 and Taler will cover CHF 14.00.

The **Payments** area lists the amounts already recorded. On smartphones in
landscape orientation, press **Payments so far** to open the list.

.. list-table::
   :widths: 50 50

   * - .. image:: ../../images/pos/tutorial-updates/landscape-payment.png
          :alt: Phone in landscape with the Payments so far button beneath the remaining balance.
          :width: 100%

       Press **Payments so far**.
     - .. image:: ../../images/pos/tutorial-updates/landscape-payments-so-far.png
          :alt: Payments so far dialog opened on a landscape phone, listing CHF 10.00 paid in cash.
          :width: 100%

       Review the payments, then press **Close**.

If you need to add another cash or card payment after opening the Taler QR
screen, press **Back to payment options** (1) and wait for checkout to reopen.
If the wallet has already paid, the POS completes the order instead. If the backend cannot be reached, follow
:ref:`pos_recovery` rather than starting a second charge.

.. figure:: ../../images/pos/tutorial-updates/back-to-payment-options.png
   :alt: Tablet in landscape showing the Taler QR code for CHF 14.00 and Back to payment options highlighted (1).
   :width: 70%
   :align: center

   Press **Back to payment options** (1) to add another cash or card payment.

.. _pos_receipt:

Completing an order paid entirely in cash or by card
----------------------------------------------------

1. Record payments until the remaining balance is zero.
2. Press **Complete payment**.
3. Offer the receipt QR code to the customer. A Taler wallet can collect
   this receipt without making another payment.
4. If the customer does not want to collect it with a wallet, press
   **Collect receipt on this device** (1).
5. Wait for completion before starting the next sale.

.. figure:: ../../images/pos/tutorial-updates/fully-paid.png
   :alt: Fully paid checkout with Complete payment available.
   :width: 70%
   :align: center

   Press **Complete payment** once the remaining balance is zero.

.. figure:: ../../images/pos/tutorial-updates/receipt.png
   :alt: Paid in full receipt QR screen with Collect receipt on this device (1).
   :width: 70%
   :align: center

   Offer the receipt QR code or collect the receipt on this device (1).

If the customer has already claimed the order with a wallet, let them finish
collection in that wallet. The POS cannot collect an order claimed by a
customer's wallet.

.. topic:: Next step

   Continue with :ref:`pos_history` to review the completed order.
