// 1. Initialize Supabase Connection const SUPABASE_URL = 'sb_publishable__yS17L-9V3YHKPSpXWOSFw_KEepf5pw'; const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFobWNpc2lteWVuZGR1ZGNpbGhkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODQ1MzEyMDksImV4cCI6MjEwMDEwNzIwOX0.36XCdprgLAa88EVoGUHR9J0lBm1LTsDRtBZQG1so5gU'; const supabase = supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY); // 2. Save Invoice Function Example async function saveInvoiceToDatabase(invoiceData, itemsList) { // Insert Invoice Header const { data: invoice, error: invoiceErr } = await supabase .from('invoices') .insert([{ do_number: invoiceData.doNumber, customer_name: invoiceData.customerName, invoice_date: invoiceData.date, subtotal: invoiceData.subtotal, total_amount: invoiceData.total }]) .select() .single(); if (invoiceErr) { console.error('Error saving invoice:', invoiceErr.message); return; } // Format line items linked to invoice ID const formattedItems = itemsList.map(item => ({ invoice_id: invoice.id, description: item.description, quantity: item.qty, unit_price: item.price, line_total: item.total })); // Insert Line Items const { error: itemsErr } = await supabase .from('invoice_items') .insert(formattedItems); if (itemsErr) console.error('Error saving items:', itemsErr.message); else alert('Invoice saved successfully to Supabase!'); }