diff --git a/src/lib/stores/billing.ts b/src/lib/stores/billing.ts
index d4affddb6..455c1e139 100644
--- a/src/lib/stores/billing.ts
+++ b/src/lib/stores/billing.ts
@@ -469,6 +469,10 @@ export const upgradeURL = derived(
page,
($page) => `${base}/organization-${$page.data?.organization?.$id}/change-plan`
);
+export const billingURL = derived(
+ page,
+ ($page) => `${base}/organization-${$page.data?.organization?.$id}/billing`
+);
export const hideBillingHeaderRoutes = ['/console/create-organization', '/console/account'];
diff --git a/src/routes/(console)/organization-[organization]/settings/deleteOrganizationEstimation.svelte b/src/routes/(console)/organization-[organization]/settings/deleteOrganizationEstimation.svelte
index 3d6a967b9..df79ddae5 100644
--- a/src/routes/(console)/organization-[organization]/settings/deleteOrganizationEstimation.svelte
+++ b/src/routes/(console)/organization-[organization]/settings/deleteOrganizationEstimation.svelte
@@ -1,31 +1,19 @@
-{#if error}
-
- {error}
-
-{/if}
{#if estimation}
{#if estimation.unpaidInvoices?.length > 0}
- You have a unpaid invoices. Please settle them first in order to delete team.
+ This organization has unresolved invoices that must be settled before it can be
+ deleted. Please review and resolve these invoices to proceed.
-
+
{/if}
{/if}
-
-{#if $selectedInvoice}
-
-{/if}
diff --git a/src/routes/(console)/organization-[organization]/settings/deleteOrganizationModal.svelte b/src/routes/(console)/organization-[organization]/settings/deleteOrganizationModal.svelte
index 28e43d5aa..b3c7c51e0 100644
--- a/src/routes/(console)/organization-[organization]/settings/deleteOrganizationModal.svelte
+++ b/src/routes/(console)/organization-[organization]/settings/deleteOrganizationModal.svelte
@@ -22,6 +22,7 @@
} from '$lib/elements/table';
import { onMount } from 'svelte';
import DeleteOrganizationEstimation from './deleteOrganizationEstimation.svelte';
+ import { billingURL } from '$lib/stores/billing';
export let showDelete = false;
export let invoices: InvoiceList;
@@ -215,12 +216,17 @@
-
+ {#if estimation && estimation.unpaidInvoices.length > 0}
+
+ {:else}
+
+ {/if}
diff --git a/src/routes/(console)/organization-[organization]/settings/invoicesTable.svelte b/src/routes/(console)/organization-[organization]/settings/invoicesTable.svelte
index fccee4c6a..cbf881c3f 100644
--- a/src/routes/(console)/organization-[organization]/settings/invoicesTable.svelte
+++ b/src/routes/(console)/organization-[organization]/settings/invoicesTable.svelte
@@ -23,6 +23,7 @@
const endpoint = getApiEndpoint();
export let invoices: Invoice[];
+ export let showActions = true;
function retryPayment(invoice: Invoice) {
$selectedInvoice = invoice;
@@ -35,7 +36,9 @@
Due Date
Status
Amount Due
-
+ {#if showActions}
+
+ {/if}
{#each invoices as invoice, i}
@@ -84,53 +87,55 @@
{formatCurrency(invoice.grossAmount)}
-
-
-
-
- (showDropdown[i] = !showDropdown[i])}
- event="view_invoice">
- View invoice
-
-
+
+
- {#if status === 'overdue' || status === 'failed'}
-
+
+
+
+ (showDropdown[i] = !showDropdown[i])}
+ event="view_invoice">
+ View invoice
+
+ {
- retryPayment(invoice);
showDropdown[i] = !showDropdown[i];
- trackEvent(`click_retry_payment`, {
- from: 'button',
- source: 'billing_invoice_menu'
- });
- }}>
- Retry payment
-
- {/if}
-
-
-
+ }}
+ event="download_invoice">
+ Download PDF
+
+ {#if status === 'overdue' || status === 'failed'}
+ {
+ retryPayment(invoice);
+ showDropdown[i] = !showDropdown[i];
+ trackEvent(`click_retry_payment`, {
+ from: 'button',
+ source: 'billing_invoice_menu'
+ });
+ }}>
+ Retry payment
+
+ {/if}
+
+
+
+ {/if}
{/each}