14.74. DD 74: Merchant Backend Simplification#

Status: incomplete draft

14.74.1. Summary#

This design document proposes simplifications to the merchant backend user interface.

14.74.2. Motivation#

The current merchant backend SPA provides a user interface tailored towards expert users that know the underlying protocol concepts.

14.74.3. Requirements#

  • The merchant backend SPA should be usable by non-experts

  • Different normal users will have different use-cases, requirements and background, so one-size-fits-all does not apply.

  • The merchant backend SPA should remain as a tool for expert users

  • We do not want to maintain different versions of the merchant backend SPA

14.74.4. Proposed Solution (Iteration 1)#

14.74.4.1. Existing Pages#

What follows is a listing of the menu entries in the merchant UI as of 2025-11-13. It serves as the basis of further discussion in this document.

Top-Level (unnamed)

  • Orders

  • Inventory

  • Categories

  • Wire transfers

  • Templates

  • KYC Status

Configuration:

  • Bank accounts

  • OTP Devices

  • Webhooks

  • Settings

  • Password

  • Access tokens

Connection:

  • Interface

Instances:

  • New

  • List

  • Logout

14.74.4.2. Personas#

  • Personas are a preset of feature flags and other settings

  • The user selects a persona when logging in (from a drop-down).

  • We do not call it “profiles”, because it clashes with the “profile” terminology as it is typically used in UIs (contact info, profile picture, …).

14.74.4.3. Persona Definitions#

  • Developer

    • Every feature flag on, developer mode on

  • Unattended simple in-person offline vending (minimal farm shop)

    • Only show:

      • Orders

        • But exclude “+” button for creating new orders manually, that’s already a power-user feature.

      • Templates

        • But exclude OTP devices, again, HW doesn’t exist yet, and only useful for power-users.

      • KYC status (if action required)

      • Bank accounts

      • Settings

      • Password

      • Logout

  • Unattended in-person offline vending with inventory (to be added later!):

    • Only show:

      • Orders

        • But exclude “+” button for creating new orders manually, that’s already a power-user feature.

      • Inventory + Categories (once supported by templates!)

      • Templates

        • But exclude OTP devices, again, HW doesn’t exist yet, and only useful for power-users.

      • KYC status (if action required)

      • Bank accounts

      • Settings

      • Password

      • Logout

  • Attended in-person online point-of-sale with inventory (Taler PoS-App)

    • Only show:

      • Orders

        • But exclude “+” button for creating new orders manually, that’s already a power-user feature.

      • Inventory + Categories

      • Access tokens

      • KYC status (if action required)

      • Bank accounts

      • Settings

      • Password

      • Logout

  • Digital publishing (Turnstile, etc.):

    • Only show:

      • Orders

        • But exclude “+” button for creating new orders manually, that’s already a power-user feature.

      • Subscriptions and discount tokens (after v1.6)

      • Access tokens

      • KYC status (if action required)

      • Bank accounts

      • Settings

      • Password

      • Logout

  • E-commerce site (DrupalCommerce, etc.):

    • Only show:

      • Orders

        • But exclude “+” button for creating new orders manually, that’s already a power-user feature.

      • Subscriptions and discount tokens (after v1.6)

      • Webhooks

      • Access tokens

      • KYC status (if action required)

      • Bank accounts

      • Settings

      • Password

      • Logout

14.74.5. Proposed Solution (Iteration 2)#

Warning

The proposed simplifications here are still under discussion and will only be implemented once iteration 2 is done.

14.74.5.1. Simplication of Bank Account Settings#

Currently we have three screens involving the bank account: “Bank account” (under configuration), “KYC Status” and “Wire transfers”.

Since all of the activities done on this screen are related to the bank account, we can simplify it into one “Bank account” page.

Note

When adding a bank account, we should only show the simplified dialog (IBAN, account owner information) and not the WireGateway part unless in “show everything” and/or “developer” mode. In terms of entering account owner information, we should allow entering more data, like ZIP code, City name, etc. as these are becoming more-and-more required. So not just “receiver-name”. (But everything but receiver-name can be optional for now.)

The wire transfers can be shown by clicking on the details page of a bank account.

Note

This feature needs more testing, I think we should only show it in “show everyting” and/or “developer” modes for now.

The KYC status can also be shown there for every bank account.

If KYC is required for a bank account, we can both highlight the bank account and also add a “KYC required” highlighted menu item that directly goes to the KYC status of the bank account that requires action.

14.74.5.2. Simplication of OTP devices#

OTP devices are only used for templates. They are not used for logins etc., which might make it confusing to always show them.

As a simplification, we could make the OTP devices only available via the “Templates” screen.

14.74.5.3. Settings Structure#

Currently we have:

  • Settings: Contains five different types of settings:

    • payment-technical settings: transaction fee, payment delay default

    • contact information shown to the user

    • instance deletion

    • authentication-related settings (email / phone is used for auth)

  • Interface: Contains user interface settings.

  • Password: Change password

We also might want to separate the phone number and email shown to the user and the one used for authentication. By default, they can be the same.

Suggested restructuring:

  • Settings

    • User Interface (only UI settings, maybe link to other settings)

    • Profile (Contact settings as seen by the wallet users via contract terms)

      • We should add e-mail and phone number under the merchant “address” in the contract terms (after all, they are contact addresses for the merchant). Many advantages, starting with no change required in the backend.

    • Security (both password and 2FA-related fields)

14.74.6. Definition of Done#

TBD.

14.74.7. Alternatives#

TBD.

14.74.8. Drawbacks#

TBD.

14.74.9. Discussion / Q&A#

  • Can the be changed while being logged in?

    • Yes, under “Personalization”, just like the language and date format.

  • Do we show access tokens under “Simple Shop”?

    • No, as we also don’t show the inventory, so it doesn’t make sense to show access tokens.