Operating Agreements
Exit Scenarios and Dissolution
Buy-sell provisions, valuation methods, right of first refusal, transfer restrictions, and winding down an LLC.
Why Exit Provisions Matter
The exit scenario is the one conversation founders reliably avoid. "We'll figure it out if it comes to that." Then it comes to that. A co-founder wants to leave. Someone gets a job offer. There's a dispute. Someone dies. Without documented exit provisions, you face an expensive negotiation at the worst possible time.
Buy-Sell Provisions
A buy-sell provision (also called a buyout agreement) specifies what happens to a member's interest when a triggering event occurs.
Five Common Triggering Events
- Voluntary departure — A member chooses to leave
- Termination for cause — A member is removed for breach of the operating agreement, misconduct, or failure to perform
- Death or disability — A member can no longer participate
- Bankruptcy — A member files for personal bankruptcy
- Divorce — In community property states, a spouse may have a claim on a member's interest
The Buy-Sell Mechanism
When a trigger occurs, the operating agreement dictates:
- Who has the right (or obligation) to buy the departing member's interest
- At what price
- On what payment terms
Valuation Methods
How do you value a private company's equity? Four common methods:
1. Agreed Value
Members agree on a company valuation in the operating agreement (e.g., $500,000), updated annually. The departing member's buyout price is their percentage times the agreed value.
Pros: Simple, no disputes. Cons: Requires annual updates or the number becomes stale.
2. Formula-Based
A formula tied to financial metrics (e.g., 3x annual revenue, 5x EBITDA). Common in service businesses with predictable revenue.
Pros: Objective. Cons: May not reflect actual market value for fast-growing or asset-light businesses.
3. Third-Party Appraisal
An independent appraiser values the company at the time of the triggering event.
Pros: Most accurate. Cons: Expensive ($5,000–$20,000) and time-consuming.
4. Book Value
The value of company assets minus liabilities on the balance sheet.
Pros: Easy to calculate. Cons: Significantly undervalues most software/service businesses with intangible assets.
Payment Terms
A departing member's buyout price is rarely paid as a lump sum. Common structures:
- Lump sum — Full payment at closing (requires financing)
- Installment payments — Paid over 2–5 years with interest
- Revenue-based — Tied to company revenue until total amount is paid
Right of First Refusal (ROFR)
Before a member can transfer their interest to a third party, the ROFR provision requires them to first offer it to the existing members (or the LLC itself) at the same price and terms.
Process: Member receives outside offer → notifies LLC and other members → 30-60 day window to match → if no match, member can transfer to third party.
ROFR prevents strangers from becoming your business partners without your consent.
Dissolution Procedure
When the LLC is ready to wind down:
- Vote to dissolve — Usually requires supermajority or unanimous vote per the operating agreement
- File Articles of Dissolution with the state
- Wind down operations — Complete or assign existing contracts, collect receivables, terminate leases
- Pay creditors — All debts, taxes, and obligations must be paid before distributions to members
- Distribute remaining assets — To members in proportion to their ownership percentages (or as specified in the operating agreement)
Example
// Buy-sell calculator
interface MemberInterest {
name: string;
ownershipPercent: number;
}
interface ValuationMethod {
method: 'agreed-value' | 'formula' | 'appraisal' | 'book-value';
baseValue: number;
formula?: string;
}
interface BuySellScenario {
company: string;
members: MemberInterest[];
departingMember: string;
triggerEvent: string;
valuation: ValuationMethod;
paymentTerms: { type: 'lump-sum' | 'installments'; installmentYears?: number };
}
function calculateBuyout(scenario: BuySellScenario): {
buyoutAmount: number;
annualPayment?: number;
remainingOwnership: MemberInterest[];
} {
const departing = scenario.members.find(m => m.name === scenario.departingMember);
if (!departing) throw new Error('Departing member not found');
const buyoutAmount = (departing.ownershipPercent / 100) * scenario.valuation.baseValue;
const annualPayment =
scenario.paymentTerms.type === 'installments' && scenario.paymentTerms.installmentYears
? buyoutAmount / scenario.paymentTerms.installmentYears
: undefined;
const remaining = scenario.members.filter(m => m.name !== scenario.departingMember);
const remainingTotal = remaining.reduce((sum, m) => sum + m.ownershipPercent, 0);
const remainingOwnership = remaining.map(m => ({
name: m.name,
ownershipPercent: (m.ownershipPercent / remainingTotal) * 100,
}));
return { buyoutAmount, annualPayment, remainingOwnership };
}
const example: BuySellScenario = {
company: 'DevCo LLC',
members: [
{ name: 'Alice', ownershipPercent: 50 },
{ name: 'Bob', ownershipPercent: 30 },
{ name: 'Carol', ownershipPercent: 20 },
],
departingMember: 'Alice',
triggerEvent: 'Voluntary departure',
valuation: { method: 'formula', baseValue: 600000, formula: '3x annual revenue' },
paymentTerms: { type: 'installments', installmentYears: 3 },
};
console.log(calculateBuyout(example));