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.