Sales Billing — Invoices, Contracts & E-Signatures
Sales Billing — Invoices, Contracts & E-Signatures
Velaro includes a built-in billing product that lets your team send professional invoices, collect digital signatures on service agreements, and manage contract amendments — all without leaving the platform. Payment is processed through your Stripe account.
Getting Started — Connect Stripe
Go to Billing → Stripe Settings and enter your Stripe Secret Key and Publishable Key. Click Test Connection to verify. Once connected, Velaro can:
- Search and create Stripe customers
- Create and send invoices charged to your customers' cards
- Generate Stripe payment links after a contract is signed
- Sync payment status back to Velaro automatically via webhook
Your Stripe keys are encrypted at rest. Velaro never stores or logs plaintext keys.
Creating and Sending Invoices
Go to Billing → Invoices and click New Invoice. You can:
- Search for an existing Stripe customer or create one on the spot
- Pick products from your Stripe product catalog or type custom line items
- Set net terms (Net 7, 15, 30, 45, 60) — the due date is calculated automatically
- Load a saved invoice template for repeated billing scenarios
- Add a footer note that appears on the invoice PDF
Click Send Invoice to finalize and deliver via Stripe. The customer receives a Stripe-hosted invoice with a payment link. Once they pay, status updates automatically.
Invoice Templates
Go to Billing → Invoice Templates to save reusable line item sets. Templates are useful for recurring billing scenarios (monthly retainers, annual contracts, project phases). Applying a template pre-fills the line items; you can still edit before sending.
Contracts and E-Signatures
Go to Billing → Contracts → New Contract to create a service agreement. You can:
- Write the contract body in Markdown with live preview
- Use
{{placeholders}}that are auto-filled at signing time:{{customer_name}},{{monthly_value}},{{start_date}},{{end_date}},{{net_terms}} - Attach a line-item pricing table (same fields as invoices)
- Load a saved contract template
Click Send for Signature to generate a unique signing link. Share the link with your customer — they can sign on any device, no account required. The signing page captures:
- Their email and full name (typed as confirmation)
- IP address and timestamp (for E-SIGN compliance)
Signed contracts show a Signed badge and the signer's email and timestamp.
Post-Signing Payment Collection
If the contract includes a setup fee, a Pay Now button appears on the customer's signing page immediately after they sign. Clicking it opens a Stripe Checkout page where they can pay by card (Apple Pay and Google Pay auto-enabled by Stripe where supported). Payment confirmation is sent back to Velaro via webhook.
Contract Templates
Go to Billing → Contracts → Templates to save reusable agreement templates. Templates support all {{placeholders}} and custom net terms. Apply a template when creating a new contract and the body is pre-filled — you can still customize it before sending.
Amendments — Upgrades and Plan Changes
When a signed customer upgrades their plan, click Upgrade on their contract row. Enter:
- New plan name
- New monthly value
- Effective date
Velaro auto-generates an amendment draft with a pre-filled change table showing old vs. new pricing, the proration amount, and effective date. If the customer has a Stripe subscription, the proration is calculated exactly by Stripe.
The amendment gets its own signing token. Review and edit the draft, then click Send Amendment to deliver the signing link. Signed amendments are linked to the original contract and recorded in the amendment history.
Subscription Management
Go to Billing → Subscriptions to view and manage your customers' recurring Stripe subscriptions:
- Upgrade or downgrade plans (proration previewed before applying)
- Cancel at period end or immediately
- Open the Stripe Customer Portal for customers to self-manage payment methods
Where to Find Payment Links
Every finalized Stripe invoice has a hosted invoice URL. On the Invoice detail page, you'll find a Customer Payment Link panel with a copy button and direct open link. Share this with customers who prefer to pay outside of the signing flow.
Webhook Setup (Required for Auto-Status Updates)
To have payment status sync automatically (invoice paid → status updated in Velaro):
1. In Stripe Dashboard → Developers → Webhooks, add an endpoint pointing to your Velaro instance: https://your-velaro-domain.com/api/BillingPayment/webhook
2. Select events: checkout.session.completed, invoice.paid, invoice.payment_failed
3. Copy the webhook signing secret
4. In Velaro, add BillingWebhookSecret = your signing secret to your Azure App Settings
Without webhook setup, you can still use the manual Mark Paid button on invoice records.
Frequently Asked Questions
Can customers sign on mobile? Yes — the signing page is fully responsive. E-SIGN compliance is maintained regardless of device.
Are contracts legally binding? The signing page collects email, full name (typed), IP address, and timestamp in compliance with the Electronic Signatures in Global and National Commerce Act (E-SIGN Act). Consult your legal counsel for jurisdiction-specific requirements.
Can I brand the invoices and contracts? Invoice and contract document styling uses your configured company name and colors. Logo upload and full white-labeling are on the roadmap.
What happens if a customer wants to cancel a contract? Void the contract from the Contracts list. Voided contracts are archived (not deleted) and the signing link returns an "inactive" page.
How are invoice numbers assigned? Velaro assigns sequential invoice numbers (e.g. INV-2026-00001) independently of Stripe's numbering. You can customize the prefix in Billing → Brand Settings.
Is there a limit on how many contracts or invoices I can create? Limits depend on your Velaro plan. Contact your account manager if you need higher limits.
Was this article helpful?