Skip to main content
View all sent sponsorship proposals, track their status, review audit trails, and monitor sponsor decisions in real-time.

Accessing Proposals

Navigate to SponsorshipsProposals from the sidebar to access sent proposals.
Plan Required: Proposals feature requires Professional or Enterprise plan. Permission Required: You need Proposals role or Admin access.

What Are Proposals?

Proposals are packages that have been sent to sponsors for review and approval. When you send a package from Package Builder, it moves from the Packages page to the Proposals page. Proposal Lifecycle:
  1. Draft - Package created but not sent (shows in Packages page)
  2. Pending Approval - Sent to sponsor, awaiting response (shows in Proposals page)
  3. Approved - Sponsor accepted the proposal (shows in Proposals page)
  4. Rejected - Sponsor declined the proposal (shows in Proposals page)
  5. Expired - Proposal deadline passed without response (shows in Proposals page)

Proposals List Page

Empty State

If you haven’t sent any proposals yet, you’ll see:
  • Icon: Document graphic
  • Title: “No pending packages”
  • Message: “Generate proposals from your packages to send to sponsors for approval.”
  • Action: “Go to Packages” button
Getting Started: Create a package in Packages page, build inclusions, then use “Send Proposal” to generate your first proposal.

Proposals List

Vertical list of all sent proposals sorted by sent date (newest first).

List Item Layout

Each proposal displays: Left Side:
  • Sponsor Logo: 48×48px square (or document icon fallback)
  • Sponsor Name: Bold, clickable
  • Package Tier: Below name (e.g., “Gold”, “Platinum”)
  • Sales Price: Currency formatted (hidden in Negotiator Mode)
Right Side (Desktop):
  • Package Name: Bold
  • Sent Date: “Sent [date]” (e.g., “Sent Jan 15, 2025”)
  • Expires Date: “Expires [date]”
  • Status Badge: Visual indicator with color dot
Chevron: Right-facing arrow indicating clickable item
Click Anywhere: The entire row is clickable and opens the proposal preview page.

Status Badges

Four status types with colored indicators:

Pending

Color: Amber/Yellow Dot: Amber circle Label: “Pending” Meaning: Sent to sponsor, waiting for response Shows: Before expiration date

Approved

Color: Green Dot: Green circle Label: “Approved” Meaning: Sponsor accepted the proposal Shows: After sponsor approval

Rejected

Color: Red Dot: Red circle Label: “Rejected” Meaning: Sponsor declined the proposal Shows: After sponsor rejection

Expired

Color: Gray Dot: Gray circle Label: “Expired” Meaning: Deadline passed without response Shows: After expiration date (still pending)
Expiration: Expired proposals remain in “pending” status but are marked as expired. Sponsors can no longer accept expired proposals via the proposal link.

Sorting

Order: Newest first (by sent date) Logic: Most recently sent proposals appear at the top Fixed: No manual sorting or filtering options

Proposal Preview Page

Detailed view of a single proposal with PDF preview and audit trail.

Accessing Preview

From List: Click on any proposal in the list Direct URL: /products/sponsorships/packages/[id]/preview

Page Layout

Split-screen layout: Left Side (Main):
  • Full PDF preview
  • Download button
Right Side (Sidebar):
  • Proposal Preview header
  • Status badge
  • Audit trail
  • Action buttons
Responsive: On mobile, sidebar appears above PDF for better UX.

PDF Preview

Display: Embedded PDF viewer Content: Exact proposal PDF sent to sponsor Features:
  • Scroll to view all pages
  • Zoom controls
  • Fullscreen option (browser-dependent)
Loading States:
  • Shows spinner while PDF loads
  • Error message if PDF fails to load
  • Retry option on error
Same as Sent: This is the exact PDF the sponsor received via email. Use it to verify proposal contents after sending.

Status Badge (Detailed)

Expanded status information: Pending Approval:
  • Icon: Clock
  • Color: Amber
  • Label: “Pending Approval”
  • Sub-text: “Awaiting sponsor response”
Approved:
  • Icon: Check Circle
  • Color: Green
  • Label: “Approved”
  • Sub-text: “Accepted on [date]”
Rejected:
  • Icon: X Circle
  • Color: Red
  • Label: “Rejected”
  • Sub-text: “Declined on [date]”
Expired:
  • Icon: Clock
  • Color: Gray
  • Label: “Expired”
  • Sub-text: “Expired on [date]“

Audit Trail

Chronological timeline of proposal events.

Timeline Events

1. Proposal Sent:
  • Icon: Envelope
  • Label: “Proposal Sent”
  • Date: Sent date and time
  • Details: Sent to [contact emails]
  • Shows: Always (first event)
2. Proposal Opened (if tracking enabled):
  • Icon: Eye
  • Label: “Proposal Opened”
  • Date: First open timestamp
  • Details: Opened by [IP address]
  • Shows: If sponsor opened email
3. Sponsor Response:
  • Approved:
    • Icon: Check Circle (green)
    • Label: “Proposal Approved”
    • Date: Approval date and time
    • Details: Approved by [contact name]
    • Value: Package value shown
  • Rejected:
    • Icon: X Circle (red)
    • Label: “Proposal Rejected”
    • Date: Rejection date and time
    • Details: Rejected by [contact name]
4. Signature Data (if signed):
  • Icon: Pen
  • Label: “Digitally Signed”
  • Details:
    • Signer name, title, company
    • Signed date and time
    • IP address
  • Shows: If sponsor signed electronically
5. Expiration:
  • Icon: Clock (gray)
  • Label: “Proposal Expired”
  • Date: Expiration date
  • Details: “No response received”
  • Shows: If expired without response
Chronological Order: Events appear in timeline order from top (most recent) to bottom (oldest).

Action Buttons

Located in sidebar panel.

Edit Package (Pending/Draft only)

Button: “Edit Package” with pencil icon Visibility: Shows only for pending or draft proposals Action: Navigates to Package Builder Use Case: Make changes before sponsor responds
After Approval: Edit button is hidden for approved proposals. You cannot edit an approved package.

Download PDF

Button: “Download PDF” with download icon Visibility: Always visible Action: Downloads proposal PDF to computer Filename: proposal-[package-name].pdf Use Case: Save for records, print, or share internally

Resend Proposal (Coming Soon)

Button: “Resend” with envelope icon Visibility: Shows for expired or pending proposals Action: Re-sends proposal email to contacts Use Case: Remind sponsor, send to additional contacts

Proposal Information Panel

Additional details shown in sidebar: Sent To:
  • List of recipient email addresses
  • Primary contact highlighted
  • Shows all recipients from original send
Package Details:
  • Package name
  • Package tier badge
  • Sales price (if not Negotiator Mode)
  • Event assignments (if any)
Expiration Info:
  • “Expires on [date]” (if pending)
  • “Expired on [date]” (if expired)
  • Countdown timer (optional, if pending)
Track Progress: Check audit trail regularly to see if sponsors opened the proposal. This helps with follow-up timing.

Proposal Status Management

Status Transitions

Valid status flows:
draft → pending_approval → approved
                        → rejected
                        → expired (after deadline)
Cannot Go Backward: Once approved/rejected, status is final Expired Can’t Approve: Expired proposals can’t be accepted by sponsor

Automatic Status Updates

Sent: Status changes to “pending_approval” when email is sent Approved: Status changes to “approved” when sponsor clicks “Accept” Rejected: Status changes to “rejected” when sponsor clicks “Decline” Expired: Status remains “pending_approval” but badge shows “Expired”
Real-Time Updates: Refresh the page to see latest status changes from sponsor actions.

How Sponsors Receive Proposals

When you send a proposal, sponsors receive an email containing: Email Contents:
  • Subject line with your organization name and package name
  • Personalized greeting with sponsor contact name
  • Brief introduction to the sponsorship package
  • Package tier and sales price (if not Negotiator Mode)
  • Unique proposal link button
  • Expiration date reminder
  • Contact information for questions
Proposal Link:
  • Format: https://yourorg.valiyou.com/proposal/[token]
  • Token: Unique, secure, non-guessable identifier
  • Access: No login required (public link)
  • Expires: After the expiration date set in package
Security: Proposal links are public but unguessable tokens. Don’t share links publicly. Only send to intended sponsor contacts via the Send Proposal feature.

External Approval Page

Split-screen interface designed for sponsor decision-making: Layout:
  • Left Side (75%): Full PDF preview of proposal
  • Right Side (25%): Signing panel with approval form
Mobile Layout:
  • PDF preview on top (full width)
  • Signing panel below (full width)
  • Scrollable content

Signing Panel (Right Side)

Fixed panel with all approval controls.

Header Section

Organization Branding:
  • Organization logo (48×48px)
  • “Sponsorship Proposal” title
  • “From [Organization Name]” subtitle
  • White background

Signer Information Form

Section Title: “Entitled to draw” Required Fields:
  1. Full Name - Text input for signer’s full name
  2. Job Title - Text input for position/role
  3. Company - Pre-filled with sponsor name (editable)
Validation:
  • All fields required before approval
  • Empty fields prevent submission
  • Error message shown if incomplete
Pre-filled Company: The company field is automatically filled with the sponsor name but can be edited if needed.
Section Title: “Approval Consent” Checkbox Text: “I confirm that I am authorized to approve this sponsorship on behalf of [Company Name], that I have reviewed the complete package, and that I accept the terms and agree to pay [Sales Price] for this package.” Features:
  • Single comprehensive consent checkbox
  • Dynamic company name (from Company field)
  • Dynamic sales price display
  • Must be checked to approve
  • Unchecked by default
Legal Compliance:
  • Records consent timestamp
  • Captures IP address
  • Stores user agent (browser/device info)
  • Creates SHA-256 hash of package snapshot for integrity
Location: Below consent checkbox, above action buttons Link Text: “Download proposal as PDF” with download icon Action:
  • Fetches PDF from API via proposal token
  • Creates blob and triggers browser download
  • Filename: [Package_Name]_Proposal.pdf
  • Allows sponsor to save proposal before deciding
Download First: Sponsors can download the proposal PDF to share internally or review offline before making a decision.

Action Buttons

Fixed at bottom of signing panel. Approve Package Button:
  • Style: Primary blue button, full width
  • Text: “Approve Package” with check icon
  • State: Disabled until form is valid (all fields filled + consent checked)
  • Loading: Shows spinner when submitting
  • Action: Submits approval with signature data
Decline Proposal Button:
  • Style: Secondary gray button, full width
  • Text: “Decline Proposal”
  • State: Always enabled (no form validation required)
  • Loading: Shows spinner when submitting
  • Action: Submits rejection (optional signer info if provided)
Validation Message:
  • Shows below buttons if submission attempted with incomplete form
  • Text: “Please complete all required fields and checkboxes”
  • Red text, center-aligned

PDF Preview (Left Side)

Embedded PDF viewer showing exact proposal sent via email. Features:
  • Full-page PDF display
  • Scroll to view all pages
  • Zoom controls (browser-native)
  • Same PDF as downloaded version
Content:
  • Organization header and logo
  • Sponsor name and logo
  • Package tier and pricing
  • Inclusions table with quantities and costs
  • Terms and conditions
  • Total package value

Approval Flow

Step-by-step process when sponsor approves: 1. Sponsor Clicks Approve Button:
  • Form validation runs
  • Check all required fields
  • Check consent checkbox
  • Show error if incomplete
2. Submit Approval to API:
  • POST request to /api/products/sponsorships/proposal/[token]
  • Body includes:
    • action: 'approve'
    • signature.signer: Name, title, company
    • signature.consent: All consent data with timestamp
3. Server Validation:
  • Verify proposal token exists
  • Check proposal hasn’t expired
  • Confirm status is “pending_approval” (not already responded)
  • Validate signature data provided
4. Capture Audit Trail:
  • IP address from request headers
  • User agent (browser/device info)
  • Timestamp of signature
  • SHA-256 hash of package snapshot for data integrity
5. Update Package Status:
  • Change status from “pending_approval” to “approved”
  • Store signature data (signer info + consent + audit trail)
  • Clear expiration date (no longer relevant)
  • Keep proposal token active (for confirmation page)
6. Show Success Modal:
  • Green checkmark icon
  • “Proposal Approved” title
  • Thank you message
  • “Your digital signature has been recorded…” note
  • Download proposal link
  • Modal overlays entire page
Signature Data Stored:
{
  "signer": {
    "name": "John Doe",
    "title": "Marketing Director",
    "company": "Sponsor Corp"
  },
  "consent": {
    "reviewed_package": true,
    "authorized_to_sign": true,
    "accept_terms": true,
    "acceptance_timestamp": "2025-01-15T14:30:00.000Z"
  },
  "audit_trail": {
    "ip_address": "192.168.1.1",
    "user_agent": "Mozilla/5.0...",
    "signed_at": "2025-01-15T14:30:00.000Z",
    "package_snapshot_hash": "sha256:abc123..."
  }
}

Rejection Flow

Simplified process when sponsor declines: 1. Sponsor Clicks Decline Button:
  • No form validation required
  • Can decline even without filling form
  • Confirmation immediate (no additional modal)
2. Submit Rejection to API:
  • POST request to /api/products/sponsorships/proposal/[token]
  • Body includes:
    • action: 'reject'
    • signature.signer: Optional (if name provided, includes it)
3. Server Processing:
  • Verify proposal token and expiration
  • Confirm status is “pending_approval”
  • No signature data validation required
4. Update Package Status:
  • Change status from “pending_approval” to “rejected”
  • Store minimal signer info (if provided)
  • Clear expiration date
  • Keep proposal token active
5. Show Declined Modal:
  • Red X icon
  • “Proposal Declined” title
  • “You have declined the sponsorship package…” message
  • “The organization has been notified” confirmation
  • Modal overlays entire page
No Form Required: Sponsors can decline without filling any fields. Signer information is optional for rejections.

Post-Response States

What happens after sponsor responds: Proposal Already Approved:
  • Shows success modal immediately on page load
  • Green checkmark with “Proposal Approved” message
  • Download PDF link available
  • Prevents duplicate submissions
Proposal Already Rejected:
  • Shows declined modal immediately on page load
  • Red X with “Proposal Declined” message
  • Organization notified text
  • Prevents duplicate submissions
Proposal Expired:
  • Yellow clock icon
  • “Proposal Expired” title
  • Message: “This proposal link has expired. Please contact the organization for a new proposal.”
  • No form or buttons shown
Proposal Not Found:
  • Red error icon
  • “Error Loading Proposal” title
  • Generic error message
  • No form or buttons shown

Security and Compliance

Data Integrity:
  • Package snapshot hash (SHA-256) ensures proposal wasn’t modified after signing
  • Hash includes: package ID, name, sales price, cost price, items
  • Prevents tampering and provides legal proof
Audit Trail:
  • IP address capture (x-forwarded-for header)
  • User agent capture (browser/device info)
  • Timestamp in ISO 8601 format
  • All data stored in signature_data JSONB column
Legal Compliance:
  • Digital signature with explicit consent
  • Timestamp and IP for non-repudiation
  • Package snapshot hash for integrity
  • Audit trail for legal documentation
Privacy:
  • No user account required (public link)
  • Minimal data collection (only what’s needed for signature)
  • Secure token prevents unauthorized access
  • Expiration date limits exposure window
Legal Weight: The digital signature with consent, timestamp, IP, and package hash provides legally binding documentation of approval. Treat approval seriously.

Permissions

Different permissions show different content:
PermissionCan View ListCan View PreviewCan EditCan Resend
Proposals Role✅ Yes✅ Yes✅ Yes (pending only)✅ Yes
Admin✅ Yes✅ Yes✅ Yes (pending only)✅ Yes
Other Roles❌ No❌ No❌ No❌ No
Professional/Enterprise Only: Proposals feature requires Professional or Enterprise plan. Starter plans cannot access this module.

Common Use Cases

Monitoring Sent Proposals

  1. Open Proposals page
  2. Review list for pending proposals
  3. Click on specific proposal
  4. Check audit trail for opens/actions
  5. Follow up if no response after several days

Verifying Proposal Contents

  1. Click on proposal from list
  2. Review PDF preview
  3. Verify all items, quantities, pricing
  4. Check terms and conditions
  5. Confirm correct sponsor information

Following Up on Pending

  1. Check sent date in list
  2. Review audit trail for opens
  3. Wait appropriate time (3-7 days)
  4. Use audit trail to time follow-up
  5. Resend or contact sponsor directly

Handling Approvals

  1. See “Approved” badge in list
  2. Open proposal preview
  3. Review approval timestamp
  4. Check signature data (if provided)
  5. Download PDF for records
  6. Proceed with contract finalization

Managing Rejections

  1. See “Rejected” badge in list
  2. Open proposal preview
  3. Review rejection timestamp
  4. Check audit trail for context
  5. Follow up with sponsor for feedback
  6. Create revised package if needed

Dealing with Expirations

  1. See “Expired” badge in list
  2. Open proposal preview
  3. Check if sponsor opened (audit trail)
  4. Resend with extended deadline
  5. Or contact sponsor directly

Troubleshooting

Proposal Not Showing in List

Check:
  • Proposal was sent (not still draft)
  • You have Proposals permission
  • Refresh page to update list
  • Check Packages page (might be draft)

PDF Preview Won’t Load

Try:
  • Refresh page
  • Clear browser cache
  • Check network connection
  • Try different browser
  • Contact support if persists

Status Not Updating

Fix:
  • Refresh page manually (status updates on refresh)
  • Check sponsor received link
  • Verify link wasn’t expired when sponsor clicked
  • Check spam folder for bounce emails

Can’t Edit Proposal

Reasons:
  • Proposal is approved (can’t edit)
  • Proposal is rejected (can’t edit)
  • Don’t have edit permissions
  • Network error
Solution:
  • Create new package for approved/rejected
  • Request permissions from admin
  • Check browser console for errors

Download PDF Fails

Try:
  • Disable popup blocker
  • Allow file downloads in browser
  • Check disk space
  • Try different browser
  • Use “Print to PDF” as alternative

Next Steps

Best Practice: Set up email notifications (if available) to get instant alerts when sponsors approve or reject proposals. This enables immediate follow-up.