Add facility overhead (rent + utilities) to operating costs and pricing engine

Adds MonthlyRent, MonthlyUtilities, and MonthlyBillableHours to CompanyOperatingCosts so fixed shop occupancy costs are recovered on every quote. The pricing engine converts these into a per-hour rate and applies it as a transparent "Facility Overhead" line between oven batch cost and shop supplies. UI added in Company Settings Operating Costs tab and Setup Wizard Step 3; migration AddFacilityOverheadFields applied. Help docs and AI knowledge base updated to cover the new fields and the revised quote pricing calculation order.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 19:35:00 -04:00
parent 813f76138c
commit 4153acf3aa
14 changed files with 9575 additions and 21 deletions
@@ -101,6 +101,33 @@
<li class="mb-1"><strong>Shop Supplies Rate (%)</strong> — a percentage applied to material and labor costs to cover miscellaneous shop supplies (abrasives, tape, fasteners, etc.) that are not tracked per-job.</li>
</ul>
<h3 class="h6 fw-semibold mt-3 mb-2" id="facility-overhead">Facility Overhead (Rent &amp; Utilities)</h3>
<p>
Facility overhead lets you recover your shop's fixed occupancy costs on every quote automatically.
Rather than burying rent and utilities in your General Markup, entering them here makes the cost
transparent in the pricing breakdown and ensures accurate job costing.
</p>
<ul class="mb-3">
<li class="mb-1"><strong>Monthly Rent ($)</strong> — your monthly shop lease or mortgage payment for the production facility.</li>
<li class="mb-1"><strong>Monthly Utilities ($)</strong> — monthly gas, electricity, and water costs for the shop. Do not include costs already captured in your oven/equipment hourly rates.</li>
<li class="mb-1"><strong>Monthly Billable Hours</strong> — the number of productive labor hours your shop operates per month (default: 160 — roughly one full-time worker for a month). This is used to convert the combined rent + utilities into a per-hour overhead rate.</li>
</ul>
<p>
<strong>How it is applied:</strong> The system calculates a per-hour overhead rate as
<code>(Monthly Rent + Monthly Utilities) ÷ Monthly Billable Hours</code>. For each quote, it
multiplies that rate by the total estimated labor hours across all line items and adds the result
as a separate line in the pricing breakdown. If rent and utilities are both $0, no overhead charge
is added.
</p>
<div class="alert alert-permanent alert-info d-flex gap-2 mb-3" role="alert">
<i class="bi bi-lightbulb-fill flex-shrink-0 mt-1"></i>
<div>
<strong>Example:</strong> $2,000/month rent + $800/month utilities ÷ 160 billable hours =
<strong>$17.50/hr overhead rate</strong>. A quote with 4 total estimated hours would add
$70 to the price as "Facility Overhead."
</div>
</div>
<h3 class="h6 fw-semibold mt-3 mb-2">Pricing Mode, Markup, Minimums &amp; Rush Charges</h3>
<ul class="mb-3">
<li class="mb-1">