# Let a cashier take QR payments

> BCL has no Cashier role. Add your cashier as a Team member with Can View Transactions so they can use QR Terminal and see only their own sales.
>
> Source: https://docs.bcl.my/qr-terminal-cashier/

BCL has no "Cashier" role. To give a counter staff member QR Terminal and nothing else, add them as a **Team** member with only **Can View Transactions** turned on. That one permission opens QR Terminal for them. Each cashier signs in with their own login, picks their own portal, and sees only the payments they take.

## Add the cashier

Only an admin can do this. Have the cashier's name and email address ready, then:

1. Click your company name at the bottom of the sidebar and choose **Team Member**.
2. Click **Add Team Member** and fill in **Name** and **Email**.
3. In **User Role**, choose **Team**. **Crew Event** can never open QR Terminal, and **Admin** can see your whole account.
4. In **Portal Key**, choose the Bayarcash portal (or portals) for this cashier's payments. The cashier can only pick from these when they set up QR Terminal, so do not leave it empty.
5. In **Require Portal Key**, choose **Required** to track their sales to their own portal.

   *(Screenshot: The Add Team Member panel for Kopi Kampung Cashier (Siti), with User Role set to Team, a Portal Key chosen and Require Portal Key set to Required, all highlighted)*

6. Set a **Password** of at least 8 characters.
7. Under **Transaction Permissions**, turn on **Can View Transactions**. Leave every other permission off.

   *(Screenshot: Transaction Permissions with Can View Transactions turned on and highlighted, and the Payment Form Permissions switches all off)*

8. Click **Create**. BCL shows **Member added**.

   *(Screenshot: The Team Members page with the new Team member Kopi Kampung Cashier (Siti) highlighted)*

BCL does not send an invitation email. Give the cashier their email and password yourself. See [Add a team member](/add-team-member/) for the other fields.

## Choose how staff portals work

**Require Portal Key** on each member follows your account's setting unless you change it. The account setting is **Require staff to select a portal key** under **Platform Setup** → **Payment**, below **Default Portal**. It shows once **Test Mode** is off, and only the account owner can change it.

*(Screenshot: The Default Portal field and the Require staff to select a portal key switch in Payment Settings, with the switch highlighted)*

QR Terminal itself always uses the portal the cashier picks in their own settings. The portal rules also apply to the payment links the cashier creates. See [Choose a Bayarcash portal key](/bayarcash-portal-key/).

## Set up QR Terminal on the cashier's login

QR Terminal settings belong to each person, so the cashier does this once, signed in as themselves:

1. In the sidebar, click **Payments** → **QR Terminal**.

   *(Screenshot: The cashier's sidebar: Dashboard, Transactions, Payments with QR Terminal highlighted, Platform Setup and Tools)*

2. The first time, the terminal shows **QR Terminal Not Configured**. Click **Go to Settings**.

   *(Screenshot: The QR Terminal Not Configured message with the Go to Settings button highlighted)*

3. On **QR Terminal Settings**, choose a **Portal Key**. The list shows only the portals the admin gave this cashier.
4. In **QR Payment Channels**, choose the channels to offer, such as **DuitNow QR**.
5. Click **Save QR Terminal Settings**. The cashier sees **QR Terminal settings saved successfully**.

   *(Screenshot: QR Terminal Settings with the Portal Key, QR Payment Channels set to DuitNow QR, and the Save QR Terminal Settings button highlighted)*

Only the cashier's own login can save these settings. As an admin, you control which portals they can pick through **Portal Key** in **Team Members**.

## Take a payment

The cashier takes each payment the same way as the owner:

1. Open **QR Terminal**, key in the amount and, if you like, the customer's details under **Customer (optional)**.
2. Tap **GENERATE QR**.

   *(Screenshot: The terminal showing RM 2.00 with a walk-in customer's name and email, and the GENERATE QR button highlighted)*

3. Show the **Scan to Pay** code to the customer. The screen shows the order number and a countdown.

   *(Screenshot: The Scan to Pay screen with the DuitNow QR code, RM 2.00, the order number and the countdown)*

See [Take payments with QR Terminal](/qr-terminal/) for what happens when the code expires or the payment arrives.

> **Caution**
> QR Terminal always uses your connected Bayarcash account, even when **Test Mode** is on. Every QR code a cashier shows is a real payment request, so test with the smallest amount, RM2.

Once your account is live, each QR payment appears in **Transactions**, recorded against the cashier who took it. A **Team** member sees only their own payments there. While **Test Mode** is on, **Transactions** lists test payments only, so QR payments do not show.

## What the cashier can and cannot do

With only **Can View Transactions** on, this is what a cashier gets:

| Area | Cashier | Notes |
| --- | --- | --- |
| **QR Terminal** | Can use | Also in **Quick Actions**. |
| **QR Terminal Settings** | Can change their own | Under **Platform Setup** → **Payment**. They see nothing else on that page. |
| **Transactions** and **Dashboard** | Can view their own | Everyone's, if you turn on **Show data for all team members**. |
| **Payment Link** | Can create | In **Quick Actions**. |
| **Tools** | Can open | **Marketing Logs**, **Notification Logs** and **Webhook Logs**. |
| Payment forms, events, bookings, leads | Cannot see | Unless you turn on their permissions. |
| **Customers**, **Team Profile**, **Team Members** | Cannot open | Admins only. |
| Bayarcash keys and payment settings | Cannot see | Admins only. |

## Tips

A few habits keep counter sales easy to check:

- **Give each cashier or counter its own Bayarcash portal.** Create a portal per counter in Bayarcash, give it to that cashier in **Portal Key** and set **Require Portal Key** to **Required**. Each Bayarcash settlement then matches one counter, which makes reconciliation much simpler. See [Choose a Bayarcash portal key](/bayarcash-portal-key/).
- **One login per person, never a shared one.** Each payment is recorded against the login that took it, so a shared login hides who collected what.
- **Keep Show data for all team members off.** It is off by default. Turning it on in **Team Profile** lets every Team member see all of your account's data, not just the cashier.
- **Check the cashier's view with Impersonate.** On **Team Members**, click **Impersonate** on their row to see BCL exactly as they do. See [Team roles and permissions](/team-roles/).

## Common issues

### Is there a Cashier role in BCL?

No. The roles are Admin, Team and Crew Event. Add your cashier as Team and turn on only Can View Transactions. That is the one permission QR Terminal needs.

### My cashier's Portal Key list in QR Terminal Settings is empty. Why?

A Team member can only choose from the portals you gave them. Go to Team → Team Members, click Edit on their row and choose a Portal Key.

### Can my cashier see other staff's sales?

Not by default. Team members see only their own data unless you turn on Show data for all team members in Team Profile.
