commit 579f6888cde23397cc175ead1f0f1886b033d44c
parent d98273fd5f6bc99b2082334cec37ae649b691432
Author: Florian Dold <florian@dold.me>
Date: Thu, 13 Nov 2025 16:07:35 +0100
DD74
Diffstat:
2 files changed, 164 insertions(+), 0 deletions(-)
diff --git a/design-documents/074-merchant-backend-simplification.rst b/design-documents/074-merchant-backend-simplification.rst
@@ -0,0 +1,163 @@
+DD 74: Merchant Backend Simplification
+######################################
+
+.. notice::
+
+ Status: incomplete draft
+
+Summary
+=======
+
+This design document proposes simplifications to the merchant backend user interface.
+
+Motivation
+==========
+
+The current merchant backend SPA provides a user interface tailored towards
+expert users that know the underlying protocol concepts.
+
+Requirements
+============
+
+* The merchant backend SPA should be usable by non-
+* 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
+
+
+Proposed Solution
+=================
+
+Existing Pages
+^^^^^^^^^^^^^^
+
+* Orders
+* Inventory
+* Categories
+* Wire transfers
+* Templates
+* KYC Status
+
+Configuration:
+
+* Bank accounts
+* OTP Devices
+* Webhooks
+* Settings
+* Password
+* Access tokens
+
+Connection:
+
+* Interface
+
+Instances:
+
+* New
+* List
+
+Session:
+
+* Logout
+
+
+
+Profiles
+^^^^^^^^
+
+* Profiles are a preset of feature flags and other settings
+* The user selects a profile when logging in (from a drop-down).
+
+
+Profile Definitions
+^^^^^^^^^^^^^^^^^^^
+
+* Developer
+
+ * Every feature flag on, developer mode on
+
+* Simple Shop
+
+ * Only show:
+
+ * Orders
+ * Templates
+ * KYC status (if action required)
+ * Bank accounts
+ * Settings
+ * Password
+ * Logout
+
+
+
+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.
+
+The wire transfers can be shown by clicking on the details page of a bank account.
+
+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.
+
+
+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.
+
+
+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: Contains user interface settings.
+
+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 (only UI settings, *maybe* link to other settings)
+* Profile (Contact settings as seen by the wallet users via contract terms)
+* Security (both password and 2FA-related fields)
+
+Definition of Done
+==================
+
+TBD.
+
+Alternatives
+============
+
+TBD.
+
+Drawbacks
+=========
+
+TBD.
+
+Discussion / Q&A
+================
+
+* Can the profile be changed while being logged in?
+
diff --git a/design-documents/index.rst b/design-documents/index.rst
@@ -85,4 +85,5 @@ Design documents that start with "XX" are considered deprecated.
071-auto-refresh
072-products-units
073-extended-merchant-template
+ 074-merchant-backend-simplification
999-template