Thanks for your replies.
After downloading the Nanovault wallet source code from here:
I could find where the account limit of 20 accounts is set: at line 51 of file src/app/components/accounts/accounts.components.ts :
if (this.walletService.wallet.accounts.length >= 20) return this.notificationService.sendWarning(You can only track up to 20 accounts at a time.
One can also see it by running Nanovault desktop and chossing "View > Toggle Developer Tools" in the menu. Then navigate to "webpack://", "C:/projects/nanovault", "src", "app", "components", "accounts", "accounts.components.ts". Unfortunately, it does not suffice to edit it on the fly.
So, the easiest will be recompiling this NodeJS app or contacting Andrew (cronoh).
@Qwahzi: Thank your for mentioning MyNano.link but it is to generate a QR code from an existing address. Useful but it won't help in this case.
@Srayman: thank you mentioning that most people create per-user addresses. In my case, I want to create one-time-purchase links, that I can copy-paste into database of custom-developed ecommerce. I'm not sure about how simple or difficult accounting can be if one user makes different purchases to the same address. At least with unique addresses for one product, I know which product was purchased.
Yes I have to catch the customer address but I have some idea how to implement it. Brainblocks has integrations, but not for my system and I want self-hosting what I can.