diff --git a/.agents/skills/grand-functions/references/processes.md b/.agents/skills/grand-functions/references/processes.md index 08845d0..ffa6ec8 100644 --- a/.agents/skills/grand-functions/references/processes.md +++ b/.agents/skills/grand-functions/references/processes.md @@ -62,15 +62,13 @@ graph TD - **Snapshot-Exklusivität**: Die Rechnungsgenerierung erfolgt ausschließlich auf Basis der in `orders.order_data` und `orders.customer_data` eingefrorenen Snapshots. - **Layout-Unterscheidung**: - **Typ `purchase` (Kauf)**: - - Generiert eine klassische **B2B-Rechnung**. + - Generiert eine klassische **B2B-Angebot**. - Weist die einmalige Gesamtsumme aus. - - Beinhaltet ein explizites Zahlungsziel ("Zahlbar innerhalb von 14 Tagen ohne Abzug"). - **Typ `subscription` (Abonnement)**: - - Generiert eine **Vertragsbestätigung (Abonnement)**. + - Generiert eine **Angebotsbestätigung Abonnement**. - Weist monatlich wiederkehrende Kosten aus. - - Beinhaltet das SEPA-Lastschriftmandat inklusive Kontoinhaber und IBAN. - **Archivierung & Benachrichtigung**: - Hochladen des PDFs in den Supabase Storage (`invoices` Bucket). - - E-Mail-Versand mit PDF-Anhang an den Besteller. + - E-Mail-Versand mit PDF-Anhang an den Partner. diff --git a/shop/lib/license-transform.ts b/shop/lib/license-transform.ts index c2fd4cb..66fb480 100644 --- a/shop/lib/license-transform.ts +++ b/shop/lib/license-transform.ts @@ -136,7 +136,7 @@ export function buildOrderSnapshot( }) const moduleTotal = selectedModules.reduce((acc, m) => acc + (m.total_price || m.price), 0) - + // If this product falls under the free limit, set its base price to 0 const actualBasePrice = (sortedIndex < freeLimit) ? 0 : prod.base_price const itemTotal = actualBasePrice + moduleTotal @@ -146,7 +146,7 @@ export function buildOrderSnapshot( category_id: cat.id, category_name: cat.name, product_id: prod.id, - product_name: prod.name + (actualBasePrice === 0 ? " (Inklusive/Frei)" : ""), + product_name: prod.name + (actualBasePrice === 0 ? "" : ""), base_price: actualBasePrice, billing_interval: prod.billing_interval, selected_modules: selectedModules,