diff --git a/packages/create-invoice-form/package.json b/packages/create-invoice-form/package.json
index d2d1e90f..f84f4cb7 100644
--- a/packages/create-invoice-form/package.json
+++ b/packages/create-invoice-form/package.json
@@ -1,6 +1,6 @@
{
"name": "@requestnetwork/create-invoice-form",
- "version": "0.11.2",
+ "version": "0.11.3",
"main": "./dist/web-component.umd.cjs",
"scripts": {
"dev": "vite dev",
diff --git a/packages/create-invoice-form/src/lib/create-invoice-form.svelte b/packages/create-invoice-form/src/lib/create-invoice-form.svelte
index b7d25443..b16b634c 100644
--- a/packages/create-invoice-form/src/lib/create-invoice-form.svelte
+++ b/packages/create-invoice-form/src/lib/create-invoice-form.svelte
@@ -214,16 +214,16 @@
{
validationErrors[`${type}`].email = !isEmail(email);
@@ -146,6 +147,32 @@
$: if (!showPayeeAddressInput && formData.creatorId) {
formData.payeeAddress = formData.creatorId;
}
+
+ $: {
+ // Filter settlement currencies whenever network, invoiceCurrency, or currencyManager changes
+ filteredSettlementCurrencies = defaultCurrencies.filter((currency) => {
+ if (!invoiceCurrency) {
+ return false;
+ }
+
+ // For ISO4217 currencies (like EUR)
+ if (invoiceCurrency.type === Types.RequestLogic.CURRENCY.ISO4217) {
+ const hasValidPath =
+ currencyManager?.getConversionPath(
+ invoiceCurrency,
+ currency,
+ currency.network
+ )?.length > 0;
+
+ return (
+ currency.type !== Types.RequestLogic.CURRENCY.ISO4217 && hasValidPath
+ );
+ }
+
+ // For other currency types (like ERC20)
+ return invoiceCurrency.hash === currency.hash;
+ });
+ }