Lendware

Billing Operations Map

Team: 1 Controller, 1 Rep

Tech: Stripe, QuickBooks, HubSpot

Customer Billing Journey Narrative

End-to-end flow from signup to exceptions

The Complete Journey

⚠️ Updated Feb 11, 2026

This document reflects the latest billing operations based on the Tim & Krystal transcript. Key changes: Billing platform split (Stripe legacy / QuickBooks new), ACH as primary payment method, corrected signup flow, and renewal reminder legal requirements.

The Lendware billing journey begins when a prospect closes a deal and the Sales Rep marks the deal as Closed Won in HubSpot. This triggers a notification to the billing team (Claudio and Krystal), who then create the customer record and subscription in the billing system. For legacy customers (pre-March 1, 2026), this is done in Stripe. For new customers (March 1, 2026 onwards), this is handled through QuickBooks integrated with PandaDoc, which automates invoicing and payment collection.

The billing team sends a payment link to the customer, who enters their payment details. Payment methods are prioritized in the following order: ACH (primary and preferred to ensure guaranteed collection and avoid failed payments), credit card (secondary, only if the customer's bank account is not tied to their business), and wire transfer (tertiary). Once payment is successfully processed, the customer account is provisioned, and Heather's implementation team sends a welcome email with login credentials and schedules the customer for onboarding.

During onboarding, the customer activates their account and begins using the platform. The implementation team guides the customer through initial setup, and upon completion, the customer is handed off to the support team. Activation gates ensure that billing starts only when the customer has logged in and completed initial configuration. Krystal monitors activation status in PostHog and confirms that entitlements are correctly provisioned in the billing system.

As the customer's business grows, they may request additional seats (expansion) or additional products (cross-sell, previously called "upgrade"). These are two distinct processes. Expansion refers to adding more seats to the existing CRM product. Cross-sell refers to adding a new product to the customer's account, such as upgrading from CRM-only to CRM plus Lendware Predict.

A critical challenge in the expansion process is unreported seat additions. Customers can add users directly to their account without notifying Lendware. When a user is added, a notification is sent to the "upgrade" Slack channel, which is tied to the Lendware database. Tim tags the account manager (or Krystal if no account manager is assigned) when a new user is detected. To address this, Lendware is implementing a policy where contract language will state that adding a seat constitutes an annual commitment to that seat, even if the user is later removed. Krystal also plans to conduct weekly or monthly seat count verifications to catch unreported additions.

When customers request to reduce seats (contraction), the Rep validates the request against the contract terms. Lendware has no seat floor, so reductions are permitted. However, seat reductions do not reduce the contract value mid-term. Contraction only takes effect at the next renewal date to prevent mid-cycle refunds and billing complexity.

⚠️ CRITICAL: Renewal Reminder Legal Requirement

Sixty days before renewal, the Rep must send a renewal notice to the customer's Billing Admin. This is a legal requirement in some states and is also stated in Lendware's contracts. Failure to send renewal reminders creates legal liability and refund risk, as Lendware cannot prove it fulfilled its contractual obligations. Proof of sending must be logged for dispute protection.

Renewals occur automatically for monthly-paid contracts and require manual invoicing for annually-paid contracts. For annually-paid customers, Krystal generates an invoice in the billing system thirty days before renewal and sends it via email. The customer has thirty days to pay. Upon payment, the subscription renews automatically. For monthly-paid contracts, the billing system attempts to charge the payment method on file. If successful, the subscription continues. If payment fails, dunning begins.

Churn occurs when a customer cancels voluntarily or when involuntary churn results from repeated payment failures. For voluntary churn, the customer submits a cancellation request via HubSpot ticket. The support team acknowledges the request within 24 hours and attempts to understand the reason for cancellation. If the customer confirms cancellation, the support team submits the request through the "churn channel" (Slack), as the support team does not have direct access to Stripe or QuickBooks billing. Claudio or Krystal then schedules the subscription to cancel at the end of the current billing period.

For involuntary churn, collections and dunning begin immediately when a payment fails. The billing system retries the payment automatically according to the dunning schedule (day 3, day 7, day 14). If all retries fail, Krystal informs the support team, and the support team suspends the customer's account access via Auth0. After suspension, the decision to cancel the subscription is made on a case-by-case basis, not automatically after a fixed number of days.

Disputes (chargebacks) require active monitoring and response. While Stripe and QuickBooks have dispute resolution centers, they require Lendware to provide documentation and evidence to win disputes. Historically, Lendware lost disputes because no one responded to them. To win disputes, Lendware must prove it followed its contractual obligations, such as providing proof that a renewal reminder was sent. Krystal is responsible for monitoring the dispute resolution center in both Stripe (for legacy customers) and QuickBooks (for new customers) and responding within the required timeframe (typically 7 days).

Exceptions such as paused accounts, mergers, special pricing, or one-off invoices are managed manually. The customer or Rep initiates the request via HubSpot ticket. The Rep documents the request details and reason in the ticket and escalates to Krystal for review and approval. If approved, the Rep executes the change in the billing system and HubSpot, documents the approval with a timestamp and actor in the HubSpot ticket, and sends a confirmation email to the customer with details.

Every billing event is logged with a timestamp, actor, and reason code to ensure auditability. HubSpot tickets serve as the system of record for customer requests. Stripe (for legacy customers) and QuickBooks (for new customers March 1, 2026+) are the systems of record for subscriptions, invoices, and payment status. QuickBooks is the system of record for revenue recognition and accounting. HubSpot CRM is the system of record for contract terms and customer metadata.

Systems of Record
Stripe
Legacy customers (pre-March 1, 2026): Subscriptions, invoices, payment status
QuickBooks
New customers (March 1, 2026+): Subscriptions, invoices, payment status. All customers: Revenue recognition, accounting
PandaDoc
Contract management, contract addendums (integrated with QuickBooks)
HubSpot
Customer requests, contract terms, deals, tickets
PostHog
Activation events, usage tracking, seat utilization
Slack
"upgrade" channel (user additions), "churn" channel (cancellation requests)
Team Structure
Krystal
Controller - Accountable for payment reconciliation, invoicing, approvals, dispute monitoring
Claudio
Billing/Account Rep - Responsible for billing setup, subscription updates, customer communication
Heather's Team
Implementation - Sends welcome emails, schedules onboarding, guides customer setup
Support Team
Tim's team - Handles tickets, no billing system access, uses "churn channel" for cancellations
Sales Rep
Creates deals in HubSpot, marks "Closed Won" to trigger billing setup
Tim
Monitors "upgrade" Slack channel for unreported user additions