Submitting your application...
1
Your Info
2
Business
3
Debt Details
4
Financials
Step 1 of 4

Personal Information

Tell us about yourself — the primary contact for this application.

👤 Applicant Details

Step 2 of 4

Business Information

Help us understand your business structure and history.

🏢 Business Profile

Step 3 of 4

Debt Details

List all current business debts. More detail = stronger negotiation strategy.

💳 Types of Debt

🏢 Lender Details

Add each lender separately. Used for attorney negotiations.

Lender NameDebt TypeBalance (\$)Status
TOTAL DEBT: \$0

⚠️ Hardship Information

More detail helps our attorneys build a stronger negotiation case.
Step 4 of 4 — Final Step

Business Financials

This information helps build the strongest possible case with your creditors.

📊 Monthly Financials

Average gross monthly revenue over the last 3 months
Total monthly operating expenses
Revenue minus expenses. Can be negative.
Combined total of all debt payments per month

💬 Additional Comments

📋 Certification

By submitting this application, I certify that all information provided is accurate and complete. I authorize LoansApproval.com and its attorney partners to review this application and contact me. This is a confidential consultation with no obligation to proceed.

Application Received!

Your full application has been securely submitted and is now in our CRM. A member of our attorney-led team will reach out within 2 business hours.

⏰️
Response TimeAn attorney will contact you within 2 business hours
🔒
ConfidentialYour information is protected and never sold or shared
📋
Next StepGather your last 3 months of bank statements for your consultation call
💚
No ObligationThis consultation is 100% free. You decide how to proceed.
Return to Home
/** * APPLY FORM SUBMIT HANDLER * Add this script block to apply.html before * Replace YOUR_INTAKE_AGENT_URL with your deployed IntakeAgent.gs URL * * This collects all 4 steps of data and POSTs to IntakeAgent.gs * on final form submission (Step 4 → Submit) */ const INTAKE_URL = 'https://script.google.com/macros/s/AKfycbyRl0Nz98ey6Fmfonm4-X3gpfz4LdMY9aLVnzkLyT-nPKezSfyK0aFVEv9bP1EI4pMzvg/exec'; // ───────────────────────────────────────── // CALL THIS on your final Submit button click // Replace your existing submit handler with this // ───────────────────────────────────────── async function submitFullApplication() { const submitBtn = document.getElementById('submitBtn'); // update ID to match your button if (submitBtn) { submitBtn.disabled = true; submitBtn.textContent = 'Submitting...'; } try { // ── Collect all fields across all 4 steps ── // STEP 1 — Personal Info const firstName = getVal('firstName'); const lastName = getVal('lastName'); const titleRole = getVal('titleRole'); const ownershipPct = getVal('ownershipPct'); const email = getVal('email'); const phone = getVal('phone'); const bestTimeToCall = getVal('bestTimeToCall'); const howHeard = getVal('howHeard'); // STEP 2 — Business Info const businessName = getVal('businessName'); const dba = getVal('dba'); const ein = getVal('ein'); const entityType = getVal('entityType'); const streetAddress = getVal('streetAddress'); const city = getVal('city'); const state = getVal('state'); const zip = getVal('zip'); const industry = getVal('industry'); const yearsInBusiness = getVal('yearsInBusiness'); const employees = getVal('employees'); // STEP 3 — Debt Details // Checkboxes — debt types (select all that apply) const debtTypes = getChecked('debtType'); // name="debtType" on each checkbox // Lender table rows — collect dynamically const lenders = collectLenders(); const totalDebt = getVal('totalDebt'); // auto-calculated field const paymentStatus = getVal('paymentStatus'); // radio or select const hardshipReasons = getChecked('hardshipReason'); const hardshipDescription = getVal('hardshipDescription'); const priorRestructure = getVal('priorRestructure'); const legalActions = getVal('legalActions'); // STEP 4 — Financials const monthlyRevenue = getVal('monthlyRevenue'); const monthlyExpenses = getVal('monthlyExpenses'); const bankBalance = getVal('bankBalance'); const revenueLast3Mo = getVal('revenueLast3Mo'); // ── Build payload ── const payload = { // Personal firstName, lastName, titleRole, ownershipPct, email, phone, bestTimeToCall, howHeard, // Business businessName, dba, ein, entityType, streetAddress, city, state, zip, industry, yearsInBusiness, employees, // Debt debtTypes, lenders, totalDebt, paymentStatus, hardshipReasons, hardshipDescription, priorRestructure, legalActions, // Financials monthlyRevenue, monthlyExpenses, bankBalance, revenueLast3Mo }; // ── POST to IntakeAgent.gs ── const response = await fetch(INTAKE_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); const result = await response.json(); if (result.success) { // Show the confirmation screen that already exists on your form showConfirmationScreen(); } else { throw new Error(result.error || 'Submission failed'); } } catch (err) { console.error('Submit error:', err); if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = 'Submit Application'; } alert('There was an issue submitting your application. Please try again or call us directly.'); } } // ───────────────────────────────────────── // HELPERS // ───────────────────────────────────────── // Get value of a single input/select/textarea by name or id function getVal(nameOrId) { const el = document.querySelector('[name="' + nameOrId + '"], #' + nameOrId); return el ? el.value.trim() : ''; } // Get all checked checkboxes by name → returns array of values function getChecked(name) { const boxes = document.querySelectorAll('[name="' + name + '"]:checked'); return Array.from(boxes).map(b => b.value); } // Get selected radio button value by name function getRadio(name) { const sel = document.querySelector('[name="' + name + '"]:checked'); return sel ? sel.value : ''; } // Collect lender table rows dynamically // Each row should have inputs: lenderName, lenderType, lenderBalance, lenderStatus function collectLenders() { const rows = document.querySelectorAll('.lender-row'); // add class="lender-row" to each tr const lenders = []; rows.forEach(function(row) { const name = row.querySelector('[name="lenderName"]'); const type = row.querySelector('[name="lenderType"]'); const balance = row.querySelector('[name="lenderBalance"]'); const status = row.querySelector('[name="lenderStatus"]'); if (name && name.value.trim()) { lenders.push({ name: name.value.trim(), type: type ? type.value.trim() : '', balance: balance ? balance.value.trim() : '0', status: status ? status.value.trim() : '' }); } }); return lenders; } // Show the confirmation screen (Step 4 success state) function showConfirmationScreen() { // Hide the form const form = document.querySelector('.form-container'); // update selector to match your form wrapper if (form) form.style.display = 'none'; // Show the confirmation div that already exists in your HTML const confirm = document.getElementById('confirmationScreen'); // update ID to match if (confirm) confirm.style.display = 'block'; // Scroll to top window.scrollTo(0, 0); } /** * HOW TO WIRE THIS UP IN apply.html: * * 1. Add id="submitBtn" to your final Submit button * 2. Change its onclick to: onclick="submitFullApplication()" * 3. Make sure each form field has the correct name= attribute matching above * 4. Add class="lender-row" to each row in your lender table * 5. Replace YOUR_INTAKE_AGENT_URL_HERE with your deployed IntakeAgent.gs URL * 6. Deploy IntakeAgent.gs as a Web App first to get that URL * * FIELD NAME REFERENCE (add these name= attributes to your form inputs): * * Step 1: firstName, lastName, titleRole, ownershipPct, email, phone, * bestTimeToCall, howHeard * * Step 2: businessName, dba, ein, entityType, streetAddress, city, state, * zip, industry, yearsInBusiness, employees * * Step 3: debtType (checkboxes, multiple), * lenderName / lenderType / lenderBalance / lenderStatus (in each .lender-row), * totalDebt, paymentStatus, hardshipReason (checkboxes), * hardshipDescription, priorRestructure, legalActions * * Step 4: monthlyRevenue, monthlyExpenses, bankBalance, revenueLast3Mo */